Two-isogeny index formula over a number field (source code)

= Two-isogeny index formula over a number field
{title2=$[E(K):2E(K)]=\#\alpha(E(K))\#\alpha'(E'(K))/\delta$}

For the <two-isogeny formula> $\phi:E\to E'$ over a <number field>, the <two-torsion square-class homomorphisms> have kernels $\widehat\phi E'(K)$ and $\phi E(K)$. Consequently
$$
[E(K):2E(K)]=\frac{\#\alpha(E(K))\#\alpha'(E'(K))}{\delta},\qquad
\delta=[\ker\widehat\phi:\ker\widehat\phi\cap\phi E(K)].
$$
Indeed $2E(K)=\widehat\phi\phi E(K)$, and the surjection from $E'(K)/\phi E(K)$ to $\widehat\phi E'(K)/2E(K)$ has kernel $\ker\widehat\phi/(\ker\widehat\phi\cap\phi E(K))$. Combined with the <Mordell-Weil theorem>, the index is $2^r\#E(K)[2]$, where $r$ is the <rank of an abelian group>. This formula prevents an erroneous extra factor of two in an isogeny descent.