Skip to content
Rainbow docs menu

Reference · Matrices

rainbow.math.linear.matrix.composable

Matricessrc/rainbow/math/linear/matrix/composable.clj1 definitions, 6 theorems

Dimension certificates for native finite matrix composition. matrix/composable left right combines the exact inner-dimension condition (every left row has the shape of right's row-count vector) with rectangularity of right. Compatibility itself forces left rectangularity, so projections recover both operand shape facts. Column-shape respects matrix equivalence, and the full composability certificate transports across equivalent operands. This is the quotient-safe precondition for later associativity. Native and axiom-free on D63.

Depends onmath.linear.matrix.multiply-shape

matrix/composable

DefinitionSource, line 65

matrix/composable :
  (x₁ x₂ : List (List ℚ))
  → Prop

List = data/Listℚ = signed/SignedRational

matrix/compatible-implies-rectangular

TheoremFor all inputsNo axiomsSource, line 76

matrix/compatible-implies-rectangular :
  (rows : List (List ℚ)) (values : List ℚ)
  (rows-compatible : matrix/compatible rows values)
  → matrix/rectangular rows

List = data/Listℚ = signed/SignedRational

matrix/composable-inner-compatible

TheoremFor all inputsNo axiomsSource, line 128

matrix/composable-inner-compatible :
  (left right : List (List ℚ)) (can-compose : matrix/composable left right)
  → matrix/compatible left (matrix/column-shape right)

List = data/Listℚ = signed/SignedRational

matrix/composable-left-rectangular

TheoremFor all inputsNo axiomsSource, line 143

matrix/composable-left-rectangular :
  (left right : List (List ℚ)) (can-compose : matrix/composable left right)
  → matrix/rectangular left

List = data/Listℚ = signed/SignedRational

matrix/composable-right-rectangular

TheoremFor all inputsNo axiomsSource, line 159

matrix/composable-right-rectangular :
  (left right : List (List ℚ)) (can-compose : matrix/composable left right)
  → matrix/rectangular right

List = data/Listℚ = signed/SignedRational

matrix/equivalent-column-shape

TheoremFor all inputsNo axiomsSource, line 174

matrix/equivalent-column-shape :
  (left right : List (List ℚ)) (same : matrix/equivalent left right)
  → vector/same-shape (matrix/column-shape left) (matrix/column-shape right)

List = data/Listℚ = signed/SignedRational

matrix/composable-respects-equivalence

TheoremFor all inputsNo axiomsSource, line 280

matrix/composable-respects-equivalence :
  (left equivalent-left right equivalent-right : List (List ℚ))
  (left-same : matrix/equivalent left equivalent-left)
  (right-same : matrix/equivalent right equivalent-right)
  (can-compose : matrix/composable left right)
  → matrix/composable equivalent-left equivalent-right

List = data/Listℚ = signed/SignedRational