← Phase 1 / 03 · Algorithm 2 Independent Reproduction
Builds a mirror relying only on the Python standard library, replaying squarefree, gcd, $a_p$, finite field point counts, 2-adic valuation, quadratic splitting, cubic 2-division inertness, and sign condition — deliberately not implementing the descent/isogeny/optimality/L-value parts of Algorithm 1, precisely locking the scope to the branch logic of Algorithm 2. Finite field point counts are calculated directly using the discriminant $D_x=(a_1x+a_3)^2+4(x^3+a_2x^2+a_4x+a_6)$ paired with the Legendre symbol, and the ordinary test checks $p\nmid a_p(E)$. The CLZ branch for 46a1 yields the exact same 7 twists as the official one ($1,185,265,305,745,785,905$), and the Zhai branch for 106d1 uses the cubic of the 2-torsion $x$-coordinate to determine inert primes, yielding the exact same 21 twists as the official one — both are exact list matches, not just matching counts. The document honestly marks the technical limitations of this mirror: cubic reduction modulo $p$ is only a simplified determination of inertness; formal number field computations should use full $p\mathcal O_F$ factorization or Sage's is_prime(). The reason this test can use the simplified version is that the theorem's own $(d,3N)=1$ condition has already excluded the relevant ramified bad primes — but the full production version should still use the Sage number-field backend as the authority, not this simplified mirror.
Relationship with other documents, try to use the words from its own document, not my interpretation.
"full production should still treat the Sage number-field backend as authoritative." — Excerpt from this document's "5. Limitations".
Loading...