We provide the R
-algebra structure on matrix n n A
when A
is an R
-algebra,
and show matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R)
.
Equations
- matrix.algebra = {to_has_scalar := mul_action.to_has_scalar distrib_mul_action.to_mul_action, to_ring_hom := {to_fun := ((matrix.scalar n).comp (algebra_map R A)).to_fun, map_one' := _, map_mul' := _, map_zero' := _, map_add' := _}, commutes' := _, smul_def' := _}
(Implementation detail).
The bare function underlying (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A
, on pure tensors.
Equations
- matrix_equiv_tensor.to_fun R A n a m = λ (i j : n), a * ⇑(algebra_map R A) (m i j)
(Implementation detail).
The function underlying (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A
,
as an R
-linear map in the second tensor factor.
Equations
- matrix_equiv_tensor.to_fun_right_linear R A n a = {to_fun := matrix_equiv_tensor.to_fun R A n a, map_add' := _, map_smul' := _}
(Implementation detail).
The function underlying (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A
,
as an R
-bilinear map.
Equations
- matrix_equiv_tensor.to_fun_bilinear R A n = {to_fun := matrix_equiv_tensor.to_fun_right_linear R A n _inst_4, map_add' := _, map_smul' := _}
(Implementation detail).
The function underlying (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A
,
as an R
-linear map.
Equations
The function (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A
, as an algebra homomorphism.
(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
- matrix_equiv_tensor.inv_fun R A n M = finset.univ.sum (λ (p : n × n), M p.fst p.snd ⊗ₜ[R] matrix.std_basis_matrix p.fst p.snd 1)
(Implementation detail)
The equivalence, ignoring the algebra structure, (A ⊗[R] matrix n n R) ≃ matrix n n A
.
Equations
- matrix_equiv_tensor.equiv R A n = {to_fun := ⇑(matrix_equiv_tensor.to_fun_alg_hom R A n), inv_fun := matrix_equiv_tensor.inv_fun R A n (λ (a b : n), _inst_5 a b), left_inv := _, right_inv := _}
The R
-algebra isomorphism matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R)
.
Equations
- matrix_equiv_tensor R A n = {to_fun := (matrix_equiv_tensor.to_fun_alg_hom R A n).to_fun, inv_fun := (matrix_equiv_tensor.equiv R A n).inv_fun, left_inv := _, right_inv := _, map_mul' := _, map_add' := _, commutes' := _}.symm