Documentation

HexECPP.CM

def Hex.ECPP.CM.jacobi :
Nat → Nat → Nat → Int → Int

Binary Jacobi algorithm; fuel bounds every halving and reciprocity step.

Equations
  • One or more equations did not get rendered due to their size.
  • Hex.ECPP.CM.jacobi 0 x✝² x✝¹ x✝ = 0
Instances For

    Fuel is linear in input bits; exhaustion conservatively returns zero.

    Equations
    Instances For

      Check a canonical root proposal before using it.

      Equations
      Instances For

        Bounded Tonelli–Shanks with a caller-supplied nonresidue. Even for a composite modulus, success requires the actual root equation.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          A class number one discriminant and its integer singular j-invariant.

          • d : Nat

            Absolute value of the negative discriminant.

          • j : Int

            Integer singular j-invariant of the discriminant.

          Instances For
            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              A fixed portfolio; no subject-specific trace or factorization is stored.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Hex.ECPP.CM.normValid (n d t v : Nat) :

                Check the exact Cornacchia norm equation, independently of the search.

                Equations
                Instances For
                  def Hex.ECPP.CM.norm? (n d root : Nat) :

                  Solve t² + d*v² = 4*n from a checked modular root. Odd discriminants also try x² + d*y² = n, since a solution can have both coordinates even. Even discriminants use the equivalent norm equation modulo n.

                  Equations
                  • One or more equations did not get rendered due to their size.
                  Instances For

                    Candidate traces, including all extra associates for j=0 and j=1728.

                    Equations
                    Instances For
                      def Hex.ECPP.CM.curves (n : Nat) (inv : Invariant) (g : Nat) :

                      All exceptional twist classes use powers of a sextic/quartic nonresidue. Ordinary invariants use the curve and its quadratic twist.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For