Lecture 25
July 7
circle
The equation of a circle with center the origin and radius a is:
x^2+y^2=a^2 ,
where (x,y) are the usual Cartesian coordinates in the plane.
The area enclosed by the above circle is:
=
Let x=a*u
=
=
for u in the interval [0,1]
=
The arc length around the circle is :
=
=
Let x=a*u .
=
=
for u in the interval [0,1]
=
ellipse
The equation of an ellipse with center the origin, length of semi-major axis a, aligned along the x-axis, length of semi-minor axis b, aligned along the y-axis is:
The area enclosed by the above ellipse is:
=
Let x=a*u .
=
=
The arc length around the ellipse is:
=
=
Let x=a*u .
=
where e^2=(a^2-b^2)/a^2 , and e=(a^2-b^2)^(1/2)/a
Note: e is called the eccentricity of the ellipse .
The above integral cannot be expressed in terms of elementary functions, so Legendre invented elliptic integrals, to express this and some other integrals in a closed form. If we replace the upper limit by t , then the integral is called the elliptic integral of the second kind. If we leave the upper limit as 1 , then the integral is called the complete elliptic integral of the second kind. In some reference books (Abramowitz and Stegun) the above integral for the arc length of an ellipse is written as 4*a*E(e)
> assume(e>0,e<1);
> arc_length_ellipse := 4*a*simplify(int(((1-e^2*u^2)/(1-u^2))^(1/2),u=0..1));
If we let v be the integrand then v=((1-e^2*u^2)/(1-u^2))^(1/2) . If we square this then:
v^2=(1-e^2*u^2)/(1-u^2). Then remove the denomimator by multiplying by (1-u^2) to find:
(1-u^2)*v^2-(1-e^2*u^2)=0 . Recall that e was a fixed constant, so this is a polynomial equation in {u,v} of degree 2 in u, degree 2 in v , and of total degree 4. For fixed e this polynomial equation defines a curve in the u,v plane. We may change variables from {u,v} to {x,y} by the following birational transformation:
{u=(x-2)/x, v=((1-e^2)^(1/2)/2)*y/(x-1)}, and its inverse transformation given by:
{x=2/(1-u), y=(2/(1-e^2)^(1/2))*v*(1+u)/(1-u)}
This change of variables is called a birational transformation because the forward transformation is given by two rational functions of {x,y}, and the inverse transformation is given by two rational functions of {u,v}. Recall that the term (1-e^2)^(1/2) is only a fixed constant. Now lets see what happens to our polynomial equation after the transformation:
> p1 := (1-u^2)*v^2-(1-e^2*u^2);
> ss1 := {u=(x-2)/x, v=(1-e^2)^(1/2)/2*y/(x-1)};
> iss1 := solve(ss1,{x,y});
> pxy := normal(subs(ss1,p1));
> p2 := collect(solve(pxy=0,y^2),x,normal)-y^2;
elliptic curves
An elliptic curve is the solution set to the bivariate polynomial equation f(x,y)=0 , where f(x,y) is of total degree 3 or 4, and f(x,y) is irreducible. Recall that irreducible means that f(x,y) does not factor into a product of lower degree polynomials.
Examples: both p1=0 and p2=0 define elliptic curves because they don't factor.
> factor(p1);
> factor(p2);
Now for an example of bivariate polynomial of total degree 3, that does not define an elliptic curve because it factors:
>
p3 := 28*x^3+73*x^2*y+74*x*y^2-196*x+65*y^3
-364*y-32*x^2-24*x*y-40*y^2+224;
> degree(p3,[x,y]);
> factor(p3);
equivalent elliptic curves
Two elliptic curves f(u,v)=0 and g(x,y)=0 are said to be equivalent if we can transform f(u,v)=0 into g(x,y)=0 by a birational transformation.
Example: The elliptic curves defined by p1=0 and p2=0 are equivalent elliptic curves.
What do they look like?
> with(plots);
> f1 := subs(e=1/2,p1);
> implicitplot(f1,u=-4..4,v=-4..4,grid=[80,80]);
> f2 := subs(e=1/2,p2);
> implicitplot(f2,x=-2..3,y=-4..4,grid=[50,70]);
standard form
An elliptic curve is in standard form if its equation may be written as y^2=h(x) , where h(x) is a cubic polynomial in x.
Example:
p2=0 is in standard form.
elliptic curve addition
Given two points q1=(x1,y1) and q2=(x2,y2) that satisfy the equations of a standard form elliptic curve y^2=h(x). So we have that both
y1^2=h(x1) and y2^2=h(x2) .
We may construct the straight line that contains both points q1 and q2. This line will have a linear equation y=m*x+b for some m and b. If we substitute this equation for y into our standard form elliptic curve equation, then we will have a cubic equation in x. We already know 2 of the roots of this cubic equation x=x1 and x=x2 , So we may find the third root by dividing our cubic polynomial by the quadratic polynomial (x-x1)*(x-x2). The quotient polynomial will be linear in x, so we can solve it for the third root. Call this third root x3. Then we can find the y coordinate by plugging this value into our linear equation. Call this y coordinate y3. Then the point (x3,y3) is also on our elliptic curve. Since our elliptic curve contains y only as the square y^2, our elliptic curve is symmetric about the x-axis, so the point q3=(x3,-y3) is also on our elliptic curve. This reflected in the x-axis point , q3=(x3,-y3) is defined to be the elliptic curve sum of q1 and q2. We define the elliptic curve addition of q1 and q2 to be this reflected point q3, instead of the intersection point, so that we can find other points by elliptic curve addition of q1 and q3, otherwise the sum of q1 and q3 would just be q2, and the sum of q2 and q3 would just be q1, So we would not be able to generate any more than 3 points starting with a pair of points.
If q2=q1 then we define the elliptic curve addition of q1 and q1 by constructing the tangent line to our elliptic curve at the point q1. This tangent line would also intersect our elliptic curve in one other point (x3,y3), and once once again we reflect this point in the x-axis and define the elliptic curve sum of q1 and q1 to be the point q3=(x3,-y3) . We can find x3 by dividing our cubic by (x-x1)^2 , and solving the resulting linear equation for x. We also say that q3 is the elliptic curve duplication of q1.
Examples:
We use the curve f2=0 defined above, with e=1/2. Let x1=-1 and x2=3. We will use the positive roots when we solve for y1 and y2.
> x1 := -1;
> eq := subs(x=x1,f2);
> y1 := sqrt(solve(eq,y^2));
> x2 := 3;
> y2 := sqrt(solve(subs(x=x2,f2),y^2));
> L12 := y=(y2-y1)/(x2-x1)*(x-x1)+y1;
> eq := expand(subs(L12,f2));
> qu := convert(series(eq/((x-x1)*(x-x2)),x,2),polynom);
> x3 := solve(qu=0,x);
> y3 := expand(subs(x=x3,rhs(L12)));
> q1 := [x1,y1];
> q2 := [x2,y2];
> q3 := [x3,-y3];
> evalf(q1);
> evalf(q2);
> evalf(q3);
> evalf(subs(x=evalf(x2),L12));
> plot1 := pointplot([x3,y3],colour=green):
> plot2 := pointplot([x3,-y3],colour=yellow):
> plot3 := plot(rhs(L12),x=-2..4,colour=blue):
> plot4 := implicitplot(f2,x=-2..4,y=-5.5..5.5,grid=[60,80]):
> display({plot1,plot2,plot3,plot4});
Now we will find the ellipitic curve duplication of q1 .
> f2d := implicitdiff(f2,y,x);
> sl1 := subs([x=x1,y=y1],f2d);
> T1 := y=sl1*(x-x1)+y1;
> eq := expand(subs(T1,f2));
> eq1 := convert(series(eq/(x-x1)^2,x,2),polynom);
> x4 := solve(eq1,x);
> y4 := subs(x=x4,rhs(T1));
> q4 := [x4,-y4];
> plot5 := pointplot(q4,colour=yellow):
> plot6 := plot(rhs(T1),x=-2..4,colour=blue):
> display({plot4,plot5,plot6});
>