Documentation

CompPoly.LinearAlgebra.PolynomialMatrix.MuldersStorjohann

Mulders-Storjohann Shifted Row Reduction #

Direct executable shifted row reduction over polynomial rows.

References #

One inner-loop update for shifted-leading-position conflict search.

Instances For

    Scan one row index i for a shifted-leading-position conflict.

    Instances For

      One outer-loop update for shifted-leading-position conflict search.

      Instances For

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

        Instances For

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

          Instances For

            Cancel the shifted leading term of target using reducer, when possible.

            Instances For

              One Mulders-Storjohann cancellation step for a chosen conflicting pair.

              Instances For

                Fuel-bounded Mulders-Storjohann reduction loop.

                Instances For

                  Maximum shifted row degree among the rows of a matrix.

                  Instances For

                    Executable fuel used by the direct reducer.

                    Instances For

                      Direct executable Mulders-Storjohann shifted row reducer.

                      Instances For

                        Fast variants #

                        The loop above recomputes every row's shifted leading position for every scanned row pair, and cancels leading terms through a generic monomial-times-row multiplication. The variants below compute each row's leading position once per scan and use the fused rowSubScaledShift update. They are proved extensionally equal to the direct definitions in MuldersStorjohannCorrectness/Fast.lean, so all correctness results transfer.

                        Shifted leading positions of all rows, computed once per conflict scan.

                        Instances For

                          One inner-loop update for cached shifted-leading-position conflict search.

                          Instances For

                            Scan one row index i for a cached shifted-leading-position conflict.

                            Instances For

                              First pair of rows with the same cached shifted leading position.

                              Instances For

                                cancelShiftedLeadingTerm with the fused row update.

                                Instances For

                                  One fast Mulders-Storjohann cancellation step.

                                  Instances For

                                    Fuel-bounded fast Mulders-Storjohann reduction loop.

                                    Instances For

                                      Fast executable Mulders-Storjohann shifted row reducer. Agrees with muldersStorjohannReduce; see muldersStorjohannReduceFast_eq.

                                      Instances For