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 ≃ₐ[S] 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
Alias of kroneckerTMulAlgEquiv_symm_single_tmul.
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.single 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
Alias of matrixEquivTensor_apply_single.
Matrix.kroneckerTMul as an algebra equivalence, when the two arguments are tensored.
Equations
- Matrix.kroneckerTMulAlgEquiv m n R S A B = AlgEquiv.ofLinearEquiv (kroneckerTMulLinearEquiv m m n n R S A B) ⋯ ⋯