Block Matrices from Rows and Columns #
This file provides the basic definitions of matrices composed from columns and rows.
The concatenation of two matrices with the same row indices can be expressed as
A = fromColumns A₁ A₂
the concatenation of two matrices with the same column indices
can be expressed as B = fromRows B₁ B₂
.
We then provide a few lemmas that deal with the products of these with each other and with block matrices
Tags #
column matrices, row matrices, column row block matrices
Concatenate together two matrices A₁[m₁ × N] and A₂[m₂ × N] with the same columns (N) to get a bigger matrix indexed by [(m₁ ⊕ m₂) × N]
Equations
- Matrix.fromRows A₁ A₂ = Matrix.of (Sum.elim A₁ A₂)
Instances For
Concatenate together two matrices B₁[m × n₁] and B₂[m × n₂] with the same rows (M) to get a bigger matrix indexed by [m × (n₁ ⊕ n₂)]
Equations
- Matrix.fromColumns B₁ B₂ = Matrix.of fun (i : m) => Sum.elim (B₁ i) (B₂ i)
Instances For
A row partitioned matrix multiplied by a column partioned matrix gives a 2 by 2 block matrix
A column partitioned matrix mulitplied by a row partitioned matrix gives the sum of the "outer" products of the block matrices
A column partitioned matrix multipiled by a block matrix results in a column partioned matrix
A block matrix mulitplied by a row partitioned matrix gives a row partitioned matrix
Multiplication of a matrix by its inverse is commutative.
This is the column and row partitioned matrix form of Matrix.mul_eq_one_comm
.
The condition e : n ≃ n₁ ⊕ n₂
states that fromColumns A₁ A₂
and fromRows B₁ B₂
are "square".