Documentation

HexPolyZ.NttMul

The independent integer coefficient convolution normalizes to the existing schoolbook polynomial product.

def Hex.ZPoly.nttLength (left right : ZPoly) :

Least radix-two transform capacity covering the ordinary product.

Equations
Instances For

    Multiply through the fixed auxiliary NTT-prime catalogue and balanced batch CRT. Failure records catalogue exhaustion or a failed checked plan; callers that need a total operation can fall back to a Kronecker kernel.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      theorem Hex.ZPoly.mulNttCrt?_eq (left right result : ZPoly) (hresult : left.mulNttCrt? right = some result) :
      result = left * right

      Every successful auxiliary-prime NTT multiplication is the existing schoolbook integer polynomial product.

      Integer multiplication kernels represented in the crossover table. The constructor is observable for benchmark and fixture reporting.

      Instances For
        Equations
        Instances For

          Stable JSON-facing name for an integer multiplication kernel.

          Equations
          Instances For
            def Hex.ZPoly.useCrtNtt (_shorter _ratio _width : Nat) :

            Whether the measured integer table contains a winning CRT-NTT cell. The balanced 64-bit sweep keeps KS1 roughly an order of magnitude ahead through 16384 coefficients per operand, while wider coefficients exhaust the present seven-prime catalogue. The forced CRT benchmark remains available; a future expanded sweep can replace this empty table without touching correctness.

            Equations
            Instances For

              Integer crossover policy, indexed by shorter size, operand ratio, and maximum coefficient width. The forced-kernel benchmarks can recalibrate these isolated boundaries without affecting any correctness theorem.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                def Hex.ZPoly.mulFast (left right : ZPoly) :

                Total integer multiplication. A selected CRT-NTT capacity miss falls back to KS4; every other table cell names a total forced kernel directly.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem Hex.ZPoly.mulFast_eq (left right : ZPoly) :
                  left.mulFast right = left * right

                  The integer dispatcher agrees with schoolbook multiplication independently of every crossover-table entry and of catalogue availability.

                  Coefficient-owner multiplication plan for generic fast algorithms.

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