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.
- matrix : Matrix I J K
Matrix represented by this block.
- rows : Finset I
Rows allowed to contain nonzero entries.
- columns : Finset J
Columns allowed to contain nonzero entries.
- rows_supported : Function.support self.matrix.row ⊆ ↑self.rows
Every nonzero row lies in
rows. - columns_supported : Function.support self.matrix.col ⊆ ↑self.columns
Every nonzero column lies in
columns.
Instances For
Rank budget charged to one supported block.
Instances For
A supported block has rank at most its smaller side.
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.
Their matrix sum is the represented matrix.
Instances For
Sum of the smaller-side budgets of all block occurrences.
Equations
- decomposition.rankBudget = ∑ index : Fin decomposition.blockCount, (decomposition.block index).rankBudget
Instances For
Rank subadditivity converts a block decomposition into a flattening-rank bound.
Empty decomposition of the zero matrix.
Equations
- Algebraic.Fusion.SumOfTerms.MatrixRank.Block.Decomposition.zero = { blockCount := 0, block := Fin.elim0, sum_eq := ⋯ }
Instances For
Concatenate decompositions to represent the sum of their matrices.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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.