Documentation

CompPoly.LinearAlgebra.PolynomialMatrix.Approximant.PartialLinearization

Partial-Linearization Parameters #

Small executable helpers used by diagonal modular-equation solvers to size the expanded X-adic problem without using one global oversized order.

References #

Ceiling division with 1 as the zero-width fallback.

Instances For

    Degree mass of diagonal moduli.

    Instances For
      def CompPoly.PolynomialMatrix.Approximant.chunkDelta {F : Type u_1} [Zero F] (solutionWidth : ) (moduli : Array (CPolynomial F)) :

      Chunk size Delta = ceil(sigma / m) used for partial linearization.

      Instances For

        X-adic orders for the exact-nullspace lift, using the local chunk size.

        Instances For

          Maximum shifted-degree offset in a principal-coordinate shift.

          Instances For

            Offset added to every principal coordinate when lifting to exact-nullspace coordinates. Adding the same positive offset to every principal coordinate preserves their relative shifted degrees; quotient coordinates are shifted separately above the principal search window.

            Instances For

              Quotient-coordinate shift used by the exact-nullspace lift. It is kept at the chunk degree so quotient coordinates do not dominate the shifted degree of principal relation rows. Rows that compress to zero are removed later by the principal-row filter.

              Instances For

                Principal-coordinate shift used inside the exact-nullspace lift.

                Instances For

                  Extend the principal solution shift with low quotient shifts.

                  Instances For

                    One chunk of a principal solution coordinate. It represents X^offset * chunkPoly in coordinate coord.

                    Instances For
                      def CompPoly.PolynomialMatrix.Approximant.principalChunkCount (solutionWidth : ) (shift : Array ) (delta j : ) :

                      Number of chunks used for one principal coordinate from a shifted-degree profile.

                      Instances For

                        Principal chunks induced by the known shifted-degree profile.

                        Instances For

                          One unshifted chunk for each principal coordinate.

                          Instances For

                            Fallback shifted pivot degree used before discovery has produced a degree for one coordinate.

                            Instances For
                              def CompPoly.PolynomialMatrix.Approximant.pivotDegreeAt (solutionWidth : ) (shift : Array ) (pivotDegrees : Array (Option )) (j : ) :

                              Pivot degree for one coordinate, falling back to the shift spread when the profile has not discovered that coordinate.

                              Instances For

                                Number of chunks for one principal coordinate from a discovered shifted pivot-degree profile.

                                Instances For

                                  Principal chunks induced by a discovered shifted pivot-degree profile.

                                  Instances For

                                    Executable partial-linearization plan for the exact-nullspace lift.

                                    Instances For
                                      def CompPoly.PolynomialMatrix.Approximant.partialLinearizationPlan {F : Type u_1} [Zero F] (solutionWidth quotientWidth : ) (moduli : Array (CPolynomial F)) (shift : Array ) :

                                      Build a chunk plan from the modular shape and shifted-degree profile.

                                      Instances For
                                        def CompPoly.PolynomialMatrix.Approximant.partialLinearizationPlanFromPivotDegrees {F : Type u_1} [Zero F] (solutionWidth quotientWidth : ) (moduli : Array (CPolynomial F)) (shift : Array ) (pivotDegrees : Array (Option )) :

                                        Build a chunk plan from a discovered shifted pivot-degree profile.

                                        Instances For

                                          Plan with partial linearization disabled for the principal coordinates.

                                          Instances For

                                            Monomial X^offset as a canonical polynomial, built without requiring the CPolynomial.X nontriviality instance.

                                            Instances For

                                              Multiply a polynomial by X^offset by shifting its coefficient array. This is an O(offset + deg p) array operation; it must not go through generic polynomial multiplication, which would cost O(offset * deg p).

                                              Instances For

                                                Shift every entry of a row by X^offset.

                                                Instances For

                                                  Shift for the chunked exact-nullspace problem.

                                                  Instances For

                                                    Compress one row in chunked coordinates back to the principal solution coordinates.

                                                    Instances For

                                                      Compress every row in a chunked basis back to the principal coordinates.

                                                      Instances For