假定Q = (q_x,q_y)是由y^{2} = x^{3} + ax^{2} + bx + c定义的椭圆曲线E上的一个点。要找到半点P of Q,我们需要执行以下操作:
- 把E导数的方程写在P**处。让\lambda成为导数,我们have \lambda = \dfrac{3x^{2} + 2ax + b} {2(x^{3} + ax^{2} + bx + c)^{1/2}} \tag{1} \label{1}**
- 将切线的方程写在E at P: y-p_y = \lambda(x-p_1) => y = \lambda(x - p_x) + p_y \tag{2}上。
- 写出切线与E: y^{2} = (\lambda(x - p_x) + p_y)^{2} = x^{3} + ax^{2} + bx + c \tag{3}相交的方程。
- 把\lambda写成p_x:从(3)的方程得到一个一次三次多项式。由于它是一元的,所以根之和等于减去x^{2}系数。根是交点。因此,p_x将是一个双根,而q_x将是第三个根。如果你简化这个方程,你会发现x^{2}项的系数是a - \lambda^{2}。因此2p_x + q_x = \lambda^{2} - a 和so \lambda^{2} = 2p_x + q_x + a \tag{4} \label{4}
- 设(4)的方程和(1)中的方程(1)等于eachother.将方程\eqref{4}与\eqref{1}的方程相结合,用p_x代替x,我们用get \lambda^{2} = 2p_x + q_x + a = \dfrac{(3p_x^{2} + 2ap_x + b)^{2}}{4(p_x^{3} + ap_x^{2} + bp_x + c)} \tag{5} \label{5} .简化了这个方程,并把所有东西移到左手边,在p_x__中产生一个四次多项式。这个多项式的根是q的一半点的x坐标。
Q的半点之间的关系与\eqref{5}的根之间的关系相同。它将根据E的性质而改变。这里有几件事我们可以肯定地说。
- 由于q_y和p_y都没有在这个四次多项式中出现,每个四次多项式实际上会给出两个独立点的一半。\eqref{5}的四边形给出了Q = (q_x,q_y)的半点和-Q=(q_x,-q_y)的半点。
- 要确定某个点Q是否存在半点,可以根据a,b,c of E和q_x计算一个值。这个过程可以在椭圆曲线上的四次方程与2-除法的第5页找到(这个答案的大部分结果都直接来自于本文)。
- 如果E上的点构成一个奇数序群,那么每个点Q只有一个点P,因此四次方程只有一个根。这是从奇数群中的元素有唯一的平方根。.In这一情况出发,四次多项式的因子将是一个线性方程和一个不可约的预解立方。
- 方程(5)等于(x-s)^{2}(x-t)^{2} <=> Q是一个2-扭转点.在这种情况下,Q将有两个不同的部分,一个是x=s,另一个是x=t。-Q也有这些x坐标的一半。
- 方程(5)等于(x-s)^{4} <=> Q是奇点。