One by one matrices #
This file proves that one by one matrices over a base are equivalent to the base itself under the
canonical map that sends a one by one matrix !![a] to a.
Main results #
Tags #
Matrix, Unique, AlgEquiv
def Matrix.uniqueAddEquiv {m : Type u_1} {n : Type u_2} {A : Type u_3} [Unique m] [Unique n] [Add A] :
The obvious additive isomorphism between M₁(A) and A, if A has an addition.
Equations
- Matrix.uniqueAddEquiv = { toEquiv := Matrix.uniqueEquiv, map_add' := ⋯ }
Instances For
def Matrix.uniqueLinearEquiv {m : Type u_1} {n : Type u_2} {A : Type u_3} {R : Type u_4} [Unique m] [Unique n] [Semiring R] [AddCommMonoid A] [Module R A] :
M₁(A) is linearly equivalent to A as an R-module where R is a semiring.
Equations
- Matrix.uniqueLinearEquiv = { toFun := Matrix.uniqueAddEquiv.toFun, map_add' := ⋯, map_smul' := ⋯, invFun := Matrix.uniqueAddEquiv.invFun, left_inv := ⋯, right_inv := ⋯ }
Instances For
@[simp]
theorem Matrix.uniqueLinearEquiv_symm_apply {m : Type u_1} {n : Type u_2} {A : Type u_3} {R : Type u_4} [Unique m] [Unique n] [Semiring R] [AddCommMonoid A] [Module R A] (a✝ : A) :
M₁(A) and A are equivalent as rings.
Equations
- Matrix.uniqueRingEquiv = { toEquiv := Matrix.uniqueAddEquiv.toEquiv, map_mul' := ⋯, map_add' := ⋯ }
Instances For
@[simp]
theorem Matrix.uniqueRingEquiv_symm_apply {m : Type u_1} {A : Type u_3} [Unique m] [NonUnitalNonAssocSemiring A] (a : A) :
@[simp]
theorem Matrix.uniqueRingEquiv_apply {m : Type u_1} {A : Type u_3} [Unique m] [NonUnitalNonAssocSemiring A] (M : Matrix m m A) :
def Matrix.uniqueAlgEquiv {m : Type u_1} {A : Type u_3} {R : Type u_4} [Unique m] [Semiring A] [CommSemiring R] [Algebra R A] :
M₁(A) is equivalent to A as an R-algebra.
Equations
- Matrix.uniqueAlgEquiv = { toEquiv := Matrix.uniqueRingEquiv.toEquiv, map_mul' := ⋯, map_add' := ⋯, commutes' := ⋯ }
Instances For
@[simp]
theorem Matrix.uniqueAlgEquiv_symm_apply {m : Type u_1} {A : Type u_3} {R : Type u_4} [Unique m] [Semiring A] [CommSemiring R] [Algebra R A] (a : A) :
@[simp]
theorem Matrix.uniqueAlgEquiv_apply {m : Type u_1} {A : Type u_3} {R : Type u_4} [Unique m] [Semiring A] [CommSemiring R] [Algebra R A] (M : Matrix m m A) :