Documentation

Complexity.Computability.Circuit.Rational.BlockDivision

Block division and rank specialization #

Three algebraic tools for the rational hitting lists. Bivariate polynomials embed injectively into Hahn series over the lexicographically ordered group QuantumLift.Exponents = ℤ ×ₗ ℤ. A square block matrix over a division ring D, flattened through a faithful matrix representation D →+* Matrix κ κ E, is either invertible or loses at least |κ| in rank (block elimination). Finally, specializing the entries of a matrix along a K-algebra map P →ₐ[K] K cannot raise its rank over any field into which P embeds.

Main definitions #

Main results #

References #

Hahn series over a coefficient ring of characteristic zero have characteristic zero. It is scoped, since both the class and the type are Mathlib's.

Embed a two-variable natural exponent vector into the ordered exponent group.

Instances For

    The Hahn monomial corresponding to a polynomial variable.

    Instances For

      Embed bivariate polynomials into the Hahn-series ring.

      Instances For
        def Cslib.Circuits.Rational.BlockDivision.blockEmbedding {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) :
        Matrix m m D →+* Matrix (m × κ) (m × κ) E

        Extend a matrix representation entrywise to block matrices.

        Instances For
          def Cslib.Circuits.Rational.BlockDivision.kernelRows {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (v : m → D) :
          (κ → E) →ₗ[E] m × κ → E

          A nonzero row of a division-ring kernel expands into d independent ordinary kernel rows after a faithful d-dimensional representation.

          Instances For
            theorem Cslib.Circuits.Rational.BlockDivision.kernelRows_injective {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (v : m → D) (hv : v ≠ 0) :
            theorem Cslib.Circuits.Rational.BlockDivision.kernelRows_mem {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (A : Matrix m m D) (v : m → D) (hv : Matrix.vecMul v A = 0) (x : κ → E) :
            theorem Cslib.Circuits.Rational.BlockDivision.rank_gap {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (A : Matrix m m D) :

            The rank gap obtained by block elimination over a division ring: a block-embedded matrix is invertible or has rank at most (|m| - 1) * |κ|.

            theorem Cslib.Circuits.Rational.BlockDivision.isUnit_of_rank_gt {D : Type u_1} {E : Type u_2} [DivisionRing D] [Field E] {m : Type u_3} {κ : Type u_4} [Fintype m] [DecidableEq m] [Fintype κ] [DecidableEq κ] (φ : D →+* Matrix κ κ E) (A : Matrix m m D) (hq : 1 ≤ Fintype.card m) (h : (Fintype.card m - 1) * Fintype.card κ < ((blockEmbedding φ) A).rank) :

            A block-embedded matrix of rank above (|m| - 1) * |κ| is invertible.

            theorem Cslib.Circuits.Rational.RankSpecialization.rank_le {K : Type u_1} {P : Type u_2} {E : Type u_3} {ι : Type u_4} [Field K] [CommRing P] [Field E] [Algebra K P] [Fintype ι] [DecidableEq ι] (ev : P →ₐ[K] K) (inclusion : P →+* E) (hinj : Function.Injective ⇑inclusion) (A : Matrix ι ι P) :
            (ev.mapMatrix A).rank ≤ (inclusion.mapMatrix A).rank

            Specialization cannot raise the generic rank. This version requires no unstated minor criterion: a rank normal form supplies a nonzero minor after constant row and column changes.