mathlib documentation

ring_theory.matrix_algebra

We show matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R).

def matrix_equiv_tensor.to_fun (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) (a : A) (m : matrix n n R) :
matrix n n A

(Implementation detail). The bare function underlying (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A, on pure tensors.

Equations
def matrix_equiv_tensor.to_fun_right_linear (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) (a : A) :
matrix n n R →ₗ[R] matrix n n A

(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
def matrix_equiv_tensor.to_fun_bilinear (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) :
A →ₗ[R] matrix n n R →ₗ[R] matrix n n A

(Implementation detail). The function underlying (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A, as an R-bilinear map.

Equations
def matrix_equiv_tensor.to_fun_linear (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) :
A matrix n n R →ₗ[R] matrix n n A

(Implementation detail). The function underlying (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A, as an R-linear map.

Equations
def matrix_equiv_tensor.to_fun_alg_hom (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] :
A matrix n n R →ₐ[R] matrix n n A

The function (A ⊗[R] matrix n n R) →ₐ[R] matrix n n A, as an algebra homomorphism.

Equations
@[simp]
theorem matrix_equiv_tensor.to_fun_alg_hom_apply (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] (a : A) (m : matrix n n R) :
(matrix_equiv_tensor.to_fun_alg_hom R A n) (a ⊗ₜ[R] m) = λ (i j : n), a * (algebra_map R A) (m i j)
def matrix_equiv_tensor.inv_fun (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] (M : matrix n n A) :
A matrix n n R

(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
@[simp]
theorem matrix_equiv_tensor.inv_fun_zero (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] :
@[simp]
theorem matrix_equiv_tensor.inv_fun_add (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] (M N : matrix n n A) :
@[simp]
theorem matrix_equiv_tensor.inv_fun_smul (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] (a : A) (M : matrix n n A) :
matrix_equiv_tensor.inv_fun R A n (λ (i j : n), a * M i j) = (a ⊗ₜ[R] 1) * matrix_equiv_tensor.inv_fun R A n M
@[simp]
theorem matrix_equiv_tensor.inv_fun_algebra_map (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] (M : matrix n n R) :
matrix_equiv_tensor.inv_fun R A n (λ (i j : n), (algebra_map R A) (M i j)) = 1 ⊗ₜ[R] M
theorem matrix_equiv_tensor.right_inv (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] (M : matrix n n A) :
theorem matrix_equiv_tensor.left_inv (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] (M : A matrix n n R) :
def matrix_equiv_tensor.equiv (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [decidable_eq n] [fintype n] :
A matrix n n R matrix n n A

(Implementation detail)

The equivalence, ignoring the algebra structure, (A ⊗[R] matrix n n R) ≃ matrix n n A.

Equations
def matrix_equiv_tensor (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [fintype n] [decidable_eq n] :
matrix n n A ≃ₐ[R] A matrix n n R

The R-algebra isomorphism matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R).

Equations
@[simp]
theorem matrix_equiv_tensor_apply (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [fintype n] [decidable_eq n] (M : matrix n n A) :
(matrix_equiv_tensor R A n) M = ∑ (p : n × n), M p.fst p.snd ⊗ₜ[R] matrix.std_basis_matrix p.fst p.snd 1
@[simp]
theorem matrix_equiv_tensor_apply_std_basis (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [fintype n] [decidable_eq n] (i j : n) (x : A) :
@[simp]
theorem matrix_equiv_tensor_apply_symm (R : Type u) [comm_semiring R] (A : Type v) [semiring A] [algebra R A] (n : Type w) [fintype n] [decidable_eq n] (a : A) (M : matrix n n R) :
((matrix_equiv_tensor R A n).symm) (a ⊗ₜ[R] M) = λ (i j : n), a * (algebra_map R A) (M i j)