Documentation

Complexity.Computability.Circuit.Rational.LaurentReduction

Reduction of Laurent-series subspaces at zero #

Subspaces of ι → K⸨X⸩ are reduced to subspaces of ι → K by taking constant coefficients of their integral (power-series) members. Valuation-adapted Gaussian elimination produces an integral frame, which shows that this reduction preserves dimension. Multiplying coordinates by powers of the parameter then gives a rank inequality between filtrations, which is the order reversal step of the small-subspace expansion argument.

Main definitions #

Main results #

References #

@[reducible, inline]

The Laurent-series coefficient field used for reduction at the parameter zero.

Instances For

    Membership in K⟦X⟧, inside K⸨X⸩.

    Instances For

      The constant coefficient of a Laurent series.

      Instances For
        def Cslib.Circuits.Rational.LaurentReduction.reduce {K : Type u_1} [Field K] {ι : Type u_2} (x : ι → F K) :
        ι → K

        Take the constant coefficient in each coordinate.

        Instances For

          A Laurent series x is integral (x ∈ K⟦X⟧) if and only if its valuation is at most 1.

          Zero is an integral Laurent series.

          One is an integral Laurent series.

          Integral Laurent series are closed under negation.

          theorem Cslib.Circuits.Rational.LaurentReduction.Integral.mul {K : Type u_1} [Field K] {x y : F K} (hx : Integral x) (hy : Integral y) :
          Integral (x * y)

          Integral Laurent series are closed under multiplication.

          @[simp]

          The constant coefficient of 0 is 0.

          @[simp]

          The constant coefficient of 1 is 1.

          Taking the constant coefficient is additive.

          def Cslib.Circuits.Rational.LaurentReduction.IntegralVector {K : Type u_1} [Field K] {ι : Type u_2} (x : ι → F K) :

          Coefficientwise integrality, not an arbitrary sublattice.

          Instances For

            The zero vector has integral coordinates.

            theorem Cslib.Circuits.Rational.LaurentReduction.IntegralVector.add {K : Type u_1} [Field K] {ι : Type u_2} {x y : ι → F K} (hx : IntegralVector x) (hy : IntegralVector y) :

            Vectors with integral coordinates are closed under addition.

            theorem Cslib.Circuits.Rational.LaurentReduction.IntegralVector.sub {K : Type u_1} [Field K] {ι : Type u_2} {x y : ι → F K} (hx : IntegralVector x) (hy : IntegralVector y) :

            Vectors with integral coordinates are closed under subtraction.

            theorem Cslib.Circuits.Rational.LaurentReduction.IntegralVector.smul {K : Type u_1} [Field K] {ι : Type u_2} {x : ι → F K} {a : F K} (ha : Integral a) (hx : IntegralVector x) :

            Vectors with integral coordinates are closed under multiplication by an integral scalar.

            def Cslib.Circuits.Rational.LaurentReduction.IntegralFunctional {K : Type u_1} [Field K] {ι : Type u_2} (f : (ι → F K) →ₗ[F K] F K) :

            A coordinate functional which is defined integrally on the full ambient integral lattice.

            Instances For
              structure Cslib.Circuits.Rational.LaurentReduction.IntegralFrame {K : Type u_1} [Field K] {ι : Type u_2} (U : Submodule (F K) (ι → F K)) :
              Type (max u_1 u_2)

              An integral spanning frame with integral dual coordinates and independent reductions.

              Instances For

                Valuation-adapted Gaussian elimination constructs an integral frame for any Laurent-series subspace. The coordinate functionals guarantee saturation.

                theorem Cslib.Circuits.Rational.LaurentReduction.IntegralFrame.vector_mem {K : Type u_1} [Field K] {ι : Type u_2} {U : Submodule (F K) (ι → F K)} (b : IntegralFrame U) (j : Fin b.length) :
                b.vector j ∈ U

                Every vector of an IntegralFrame U belongs to U.

                The constant coefficient of the constant Laurent series HahnSeries.C a is a.

                def Cslib.Circuits.Rational.LaurentReduction.reducedSet {K : Type u_1} [Field K] {ι : Type u_2} (U : Submodule (F K) (ι → F K)) :
                Set (ι → K)

                The reduction uses every integral member of U.

                Instances For
                  def Cslib.Circuits.Rational.LaurentReduction.reducedSubspace {K : Type u_1} [Field K] {ι : Type u_2} (U : Submodule (F K) (ι → F K)) :
                  Submodule K (ι → K)

                  The subspace spanned by reductions of integral vectors in the original subspace.

                  Instances For
                    theorem Cslib.Circuits.Rational.LaurentReduction.reducedSet_eq_span {K : Type u_1} [Field K] {ι : Type u_2} {U : Submodule (F K) (ι → F K)} (b : IntegralFrame U) :
                    reducedSet U = ↑(Submodule.span K (Set.range fun (j : Fin b.length) => reduce (b.vector j)))

                    For any integral frame b of U, reducedSet U is the K-span of the reduced frame vectors.

                    For any integral frame b of U, reducedSubspace U is the K-span of the reduced frame vectors.

                    Full integral reduction preserves dimension.

                    An integral Laurent series has nonnegative order.

                    noncomputable def Cslib.Circuits.Rational.LaurentReduction.weightMap {K : Type u_1} [Field K] {ι : Type u_2} (w : ι → ℕ) :
                    (ι → F K) →ₗ[F K] ι → F K

                    Multiplication by t^a, written as its identical Laurent monomial.

                    Instances For

                      Coordinatewise multiplication weightMap w by Laurent monomials is injective.

                      theorem Cslib.Circuits.Rational.LaurentReduction.reducedSubspace_mono {K : Type u_1} [Field K] {ι : Type u_2} {U V : Submodule (F K) (ι → F K)} (h : U ≤ V) :

                      reducedSubspace is monotone with respect to submodule inclusion.

                      def Cslib.Circuits.Rational.LaurentReduction.lowProjection {K : Type u_1} [Field K] {ι : Type u_2} (w : ι → ℕ) (A : ℕ) :
                      (ι → K) →ₗ[K] { i : ι // w i ≤ A } → K

                      Low coordinate projection and its complementary support subspace.

                      Instances For
                        def Cslib.Circuits.Rational.LaurentReduction.lowSupported {K : Type u_1} [Field K] {ι : Type u_2} (w : ι → ℕ) (A : ℕ) :
                        Submodule K (ι → K)

                        Vectors whose coordinates vanish above the truncation threshold.

                        Instances For
                          theorem Cslib.Circuits.Rational.LaurentReduction.finrank_map_injective {L : Type u_2} [Field L] {V : Type u_3} {W : Type u_4} [AddCommGroup V] [Module L V] [AddCommGroup W] [Module L W] (f : V →ₗ[L] W) (hf : Function.Injective ⇑f) (U : Submodule L V) :

                          Mapping a submodule by an injective linear map preserves finrank.

                          theorem Cslib.Circuits.Rational.LaurentReduction.weighted_filtration_rank {K : Type u_1} [Field K] {ι : Type u_2} [Finite ι] (w : ι → ℕ) (A : ℕ) (U W : Submodule (F K) (ι → F K)) (hW : Submodule.map (weightMap w) U ≤ W) :

                          Filtration version of order reversal, before a constant coordinate change. This uses the whole integral lattice on both sides.

                          noncomputable def Cslib.Circuits.Rational.LaurentReduction.liftMap {K : Type u_1} [Field K] {ι : Type u_2} {κ : Type u_3} [Fintype ι] [DecidableEq ι] (P : (ι → K) →ₗ[K] κ → K) :
                          (ι → F K) →ₗ[F K] κ → F K

                          Extend a linear map to Laurent-series vectors using its constant coefficient matrix.

                          Instances For
                            theorem Cslib.Circuits.Rational.LaurentReduction.liftMap_apply {K : Type u_1} [Field K] {ι : Type u_2} {κ : Type u_3} [Fintype ι] [DecidableEq ι] (P : (ι → K) →ₗ[K] κ → K) (x : ι → F K) (j : κ) :
                            (liftMap P) x j = ∑ i : ι, HahnSeries.C (LinearMap.toMatrix' P j i) * x i

                            Coordinate j of liftMap P x is the matrix-vector product with the constant coefficients of P.

                            noncomputable def Cslib.Circuits.Rational.LaurentReduction.liftEquiv {K : Type u_1} [Field K] {ι : Type u_2} {κ : Type u_3} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (E : (ι → K) ≃ₗ[K] κ → K) :
                            (ι → F K) ≃ₗ[F K] κ → F K

                            Extend a linear equivalence to Laurent-series vectors.

                            Instances For
                              @[simp]
                              theorem Cslib.Circuits.Rational.LaurentReduction.liftEquiv_toLinearMap {K : Type u_1} [Field K] {ι : Type u_2} {κ : Type u_3} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (E : (ι → K) ≃ₗ[K] κ → K) :
                              ↑(liftEquiv E) = liftMap ↑E

                              The underlying linear map of liftEquiv E is liftMap E.toLinearMap.

                              theorem Cslib.Circuits.Rational.LaurentReduction.liftEquiv_symm {K : Type u_1} [Field K] {ι : Type u_2} {κ : Type u_3} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (E : (ι → K) ≃ₗ[K] κ → K) :

                              The inverse of liftEquiv E is liftEquiv E.symm.

                              theorem Cslib.Circuits.Rational.LaurentReduction.integral_liftEquiv_iff {K : Type u_1} [Field K] {ι : Type u_2} {κ : Type u_3} [Fintype ι] [DecidableEq ι] [Fintype κ] [DecidableEq κ] (E : (ι → K) ≃ₗ[K] κ → K) (x : ι → F K) :

                              liftEquiv E preserves and reflects IntegralVector.

                              noncomputable def Cslib.Circuits.Rational.LaurentReduction.conjugatedWeight {K : Type u_1} [Field K] {ι : Type u_2} [Fintype ι] [DecidableEq ι] (Ein Eout : (ι → K) ≃ₗ[K] ι → K) (w : ι → ℕ) :
                              (ι → F K) →ₗ[F K] ι → F K

                              Constant coordinates on the input and output may differ (Taylor on the input, reverse Taylor on the output in the application).

                              Instances For
                                theorem Cslib.Circuits.Rational.LaurentReduction.conjugatedWeight_injective {K : Type u_1} [Field K] {ι : Type u_2} [Fintype ι] [DecidableEq ι] (Ein Eout : (ι → K) ≃ₗ[K] ι → K) (w : ι → ℕ) :

                                The conjugated weight map conjugatedWeight Ein Eout w is injective.

                                theorem Cslib.Circuits.Rational.LaurentReduction.conjugated_filtration_rank {K : Type u_1} [Field K] {ι : Type u_2} [Fintype ι] [DecidableEq ι] (Ein Eout : (ι → K) ≃ₗ[K] ι → K) (w : ι → ℕ) (A : ℕ) (U W : Submodule (F K) (ι → F K)) (hW : Submodule.map (conjugatedWeight Ein Eout w) U ≤ W) :

                                Filtration rank inequality for conjugatedWeight Ein Eout w after reduction at zero.

                                Rank-nullity for the restriction of a linear map f to a finite-dimensional submodule U.