Documentation

CompPoly.LinearAlgebra.PolynomialMatrix.Approximant.PMBasis.KernelLeaf

Scalar Kernel-Leaf PM-Basis Definitions #

Executable definitions for the classical scalar-kernel PM-basis leaf: the dense coefficient matrix and its row-array RREF kernel, reconstruction of polynomial rows from kernel vectors, monomial completion rows, and the shifted pivot-table reduction used to compact leaf bases.

Coefficient degree cap used by the classical scalar-kernel PM-basis leaf.

Instances For

    Coefficient-equation indices (column, coefficientDegree).

    Instances For

      Dense scalar coefficient matrix for the bounded leaf problem.

      Instances For
        def CompPoly.PolynomialMatrix.Approximant.coefficientMatrixRow {F : Type u_1} [Field F] (problem : XAdicProblem F) (degreeCap : ) (equation : × ) :

        One scalar coefficient row for the bounded leaf problem.

        Instances For

          Scalar coefficient rows for the bounded leaf problem. This is the same matrix as coefficientMatrix, represented directly as row arrays for the tiny leaf RREF routine.

          Instances For

            Swap two scalar rows in a row-array matrix.

            Instances For
              def CompPoly.PolynomialMatrix.Approximant.findScalarPivotRow {F : Type u_1} [Field F] [BEq F] (rows : Array (Array F)) (startRow col : ) :

              Find a nonzero pivot row at or below startRow in column col.

              Instances For
                def CompPoly.PolynomialMatrix.Approximant.normalizeScalarRow {F : Type u_1} [Field F] [BEq F] (row : Array F) (pivotCol : ) :

                Scale a scalar row so that column pivotCol becomes one.

                Instances For
                  def CompPoly.PolynomialMatrix.Approximant.addScaledScalarRow {F : Type u_1} [Field F] (target source : Array F) (factor : F) :

                  Add factor * source to target, using zero defaults for ragged rows.

                  Instances For
                    def CompPoly.PolynomialMatrix.Approximant.normalizeAndEliminateScalarRows {F : Type u_1} [Field F] [BEq F] (rows : Array (Array F)) (pivotRow pivotCol : ) :

                    Normalize one pivot row and clear the pivot column in all other rows.

                    Instances For

                      RREF result for a scalar row-array matrix.

                      Instances For

                        Fuel-bounded row-array RREF for tiny scalar coefficient matrices.

                        Instances For

                          Row-array RREF for tiny scalar coefficient matrices.

                          Instances For

                            Kernel basis vector for one free column of a row-array RREF matrix.

                            Instances For

                              Homogeneous scalar-kernel basis for a row-array matrix.

                              Instances For
                                def CompPoly.PolynomialMatrix.Approximant.vectorToPolynomialRow {F : Type u_1} [Field F] [BEq F] [LawfulBEq F] (degreeCap solutionWidth : ) (v : Array F) :

                                Convert one scalar kernel vector back into a polynomial row.

                                Instances For

                                  Polynomial c * X^d, built without the CPolynomial.monomial DecidableEq assumption.

                                  Instances For

                                    Multiply a row by c * X^d, using the coefficient-array monomial builder.

                                    Instances For

                                      Multiply a row by c * X^d, using coefficient shifting instead of generic polynomial multiplication by a monomial.

                                      Instances For

                                        Monomial row X^d * e_i, used to complete bounded-kernel leaves to a full approximant basis.

                                        Instances For

                                          Trivial high-degree approximants present in every X-adic problem. These rows are essential when the bounded scalar kernel has fewer rows than the module rank.

                                          Instances For

                                            Whether a row set already contains a row with a given shifted leading position.

                                            Instances For

                                              High monomial rows for shifted leading positions not represented by rows. These rows are always valid approximants and keep recursive residual problems from losing coordinates after compact row reduction.

                                              Instances For

                                                Add high monomial approximants for missing pivot positions.

                                                Instances For

                                                  Cancel the shifted leading term of target by reducer, when their shifted leading positions agree. This is the small-leaf analogue of polynomial-matrix row reduction; it is used only after the bounded scalar kernel has already been computed.

                                                  Instances For

                                                    One inner-loop update for finding a leading-position conflict in a bounded kernel leaf.

                                                    Instances For

                                                      Scan one row for a shifted-leading-position conflict in a bounded kernel leaf.

                                                      Instances For

                                                        Scan all row pairs for the first shifted-leading-position conflict.

                                                        Instances For

                                                          First pair of nonzero bounded-kernel rows with the same shifted leading position.

                                                          Instances For

                                                            One shifted-reduction step for bounded scalar-kernel rows.

                                                            Instances For

                                                              Fuel for bounded-kernel shifted reduction. The scalar leaf is already a small base case, so this conservative degree-width bound is acceptable here.

                                                              Instances For

                                                                Extract the nonempty pivot rows from a leading-position table.

                                                                Instances For

                                                                  Insert one row into a shifted weak-Popov pivot table. Conflicts are resolved only at the current leading position, avoiding the repeated global pair scans used by the simple reference reducer.

                                                                  Instances For

                                                                    Pivot-table shifted reduction for bounded scalar-kernel rows.

                                                                    Instances For

                                                                      Shift-reduce the bounded scalar-kernel rows before compacting them. This keeps one low representative per shifted leading position instead of selecting arbitrary low-degree kernel vectors.

                                                                      Instances For

                                                                        Shift-reduced bounded scalar-kernel rows for the PM-basis leaf.

                                                                        Instances For

                                                                          Insert one bounded-kernel row into a small shifted-reduced leaf basis. This keeps the live reduction matrix near the module width instead of reducing the entire scalar kernel at once.

                                                                          Instances For

                                                                            Shift-reduce all bounded scalar-kernel rows incrementally. The dense scalar kernel can have many rows, but after every insertion the weak-Popov conflict loop works on the current reduced basis plus one candidate row.

                                                                            Instances For

                                                                              Classical scalar-kernel leaf for small X-adic approximant problems.

                                                                              Instances For

                                                                                Remove zero rows before a recursively computed approximant basis is used as the coordinate system for the next residual problem.

                                                                                Instances For