Documentation

Complexitylib.Algebraic.LowerBound.Fusion.SumOfTerms.MatrixRank.Block

Block decompositions of matrix flattenings #

A matrix block comes with finite row and column covers. Its rank is bounded by the smaller cover size. If a matrix is a finite sum of such blocks, rank subadditivity bounds its rank by the sum of those block budgets.

This witness-oriented interface is deliberately independent of how the blocks are obtained. Later polynomial adapters may use monomial partitions, rectangle covers, or semantic decompositions without changing the linear algebra layer.

A matrix together with certified finite covers of its nonzero rows and columns.

Instances For

    Rank budget charged to one supported block.

    Equations
    Instances For

      A supported block has rank at most its smaller side.

      noncomputable def Algebraic.Fusion.SumOfTerms.MatrixRank.Block.Piece.ofMatrix {K I J : Type} [Field K] [Fintype I] [Fintype J] [DecidableEq I] [DecidableEq J] (matrix : Matrix I J K) :
      Piece K I J

      The canonical single block using the exact nonzero row and column supports of a matrix.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        A finite additive decomposition into supported matrix blocks.

        • blockCount : ℕ

          Number of block occurrences.

        • block : Fin self.blockCount → Piece K I J

          The blocks, counted with multiplicity.

        • sum_eq : ∑ index : Fin self.blockCount, (self.block index).matrix = matrix

          Their matrix sum is the represented matrix.

        Instances For

          Sum of the smaller-side budgets of all block occurrences.

          Equations
          Instances For
            theorem Algebraic.Fusion.SumOfTerms.MatrixRank.Block.Decomposition.rank_toLin'_le_rankBudget {K I J : Type} [Field K] [Fintype I] [Fintype J] [DecidableEq I] [DecidableEq J] {matrix : Matrix I J K} (decomposition : Decomposition matrix) :
            (Matrix.toLin' matrix).rank ≤ ↑decomposition.rankBudget

            Rank subadditivity converts a block decomposition into a flattening-rank bound.

            Empty decomposition of the zero matrix.

            Equations
            Instances For
              @[reducible, inline]
              abbrev Algebraic.Fusion.SumOfTerms.MatrixRank.Block.Decomposition.add {K I J : Type} [Field K] [Fintype I] [Fintype J] [DecidableEq I] [DecidableEq J] {left right : Matrix I J K} (leftDecomposition : Decomposition left) (rightDecomposition : Decomposition right) :
              Decomposition (left + right)

              Concatenate decompositions to represent the sum of their matrices.

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                @[simp]
                theorem Algebraic.Fusion.SumOfTerms.MatrixRank.Block.Decomposition.add_rankBudget {K I J : Type} [Field K] [Fintype I] [Fintype J] [DecidableEq I] [DecidableEq J] {left right : Matrix I J K} (leftDecomposition : Decomposition left) (rightDecomposition : Decomposition right) :
                (leftDecomposition.add rightDecomposition).rankBudget = leftDecomposition.rankBudget + rightDecomposition.rankBudget

                Every matrix has the one-block decomposition given by its exact row and column supports.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For