Algebra isomorphisms between tensor products and matrices #
Main definitions #
matrixEquivTensor : Matrix n n A ≃ₐ[R] (A ⊗[R] Matrix n n R)
.Matrix.kroneckerTMulAlgEquiv : Matrix m m A ⊗[R] Matrix n n B ≃ₐ[R] Matrix (m × n) (m × n) (A ⊗[R] B)
, where the forward map is the (tensor-ified) kronecker product.
Matrix.kroneckerTMul
as a linear equivalence, when the two arguments are tensored.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Note this can't be stated for rectangular matrices because there is no
HMul (TensorProduct R _ _) (TensorProduct R _ _) (TensorProduct R _ _)
instance.
(Implementation detail).
The function underlying (A ⊗[R] Matrix n n R) →ₐ[R] Matrix n n A
,
as an R
-bilinear map.
Equations
- MatrixEquivTensor.toFunBilinear n R A = (Algebra.lsmul R R (Matrix n n A)).toLinearMap.compl₂ (Algebra.linearMap R A).mapMatrix
Instances For
(Implementation detail).
The function underlying (A ⊗[R] Matrix n n R) →ₐ[R] Matrix n n A
,
as an R
-linear map.
Equations
Instances For
The function (A ⊗[R] Matrix n n R) →ₐ[R] Matrix n n A
, as an algebra homomorphism.
Equations
Instances For
(Implementation detail.)
The bare function Matrix n n A → A ⊗[R] Matrix n n R
.
(We don't need to show that it's an algebra map, thankfully --- just that it's an inverse.)
Equations
- MatrixEquivTensor.invFun n R A M = ∑ p : n × n, M p.1 p.2 ⊗ₜ[R] Matrix.stdBasisMatrix p.1 p.2 1
Instances For
(Implementation detail)
The equivalence, ignoring the algebra structure, (A ⊗[R] Matrix n n R) ≃ Matrix n n A
.
Equations
- MatrixEquivTensor.equiv n R A = { toFun := ⇑(MatrixEquivTensor.toFunAlgHom n R A), invFun := MatrixEquivTensor.invFun n R A, left_inv := ⋯, right_inv := ⋯ }
Instances For
The R
-algebra isomorphism Matrix n n A ≃ₐ[R] (A ⊗[R] Matrix n n R)
.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Matrix.kroneckerTMul
as an algebra equivalence, when the two arguments are tensored.
Equations
- Matrix.kroneckerTMulAlgEquiv m n R A B = AlgEquiv.ofLinearEquiv (kroneckerTMulLinearEquiv m m n n R A B) ⋯ ⋯