Matrices #
def
dmatrix.map
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
(M : dmatrix m n α)
{β : m → n → Type w}
(f : Π ⦃i : m⦄ ⦃j : n⦄, α i j → β i j) :
dmatrix m n β
M.map f
is the dmatrix obtained by applying f
to each entry of the matrix M
.
@[simp]
theorem
dmatrix.map_map
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
{M : dmatrix m n α}
{β : m → n → Type w}
{γ : m → n → Type z}
{f : Π ⦃i : m⦄ ⦃j : n⦄, α i j → β i j}
{g : Π ⦃i : m⦄ ⦃j : n⦄, β i j → γ i j} :
dmatrix.col u
is the column matrix whose entries are given by u
.
Equations
- dmatrix.col w x y = w x
dmatrix.row u
is the row matrix whose entries are given by u
.
Equations
- dmatrix.row v x y = v y
@[protected, instance]
def
dmatrix.inhabited
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), inhabited (α i j)] :
Equations
@[protected, instance]
def
dmatrix.has_add
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), has_add (α i j)] :
Equations
@[protected, instance]
def
dmatrix.add_semigroup
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_semigroup (α i j)] :
add_semigroup (dmatrix m n α)
Equations
@[protected, instance]
def
dmatrix.add_comm_semigroup
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_comm_semigroup (α i j)] :
add_comm_semigroup (dmatrix m n α)
Equations
@[protected, instance]
def
dmatrix.has_zero
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), has_zero (α i j)] :
Equations
@[protected, instance]
def
dmatrix.add_monoid
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_monoid (α i j)] :
add_monoid (dmatrix m n α)
Equations
@[protected, instance]
def
dmatrix.add_comm_monoid
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_comm_monoid (α i j)] :
add_comm_monoid (dmatrix m n α)
Equations
@[protected, instance]
def
dmatrix.has_neg
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), has_neg (α i j)] :
Equations
@[protected, instance]
def
dmatrix.has_sub
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), has_sub (α i j)] :
Equations
@[protected, instance]
def
dmatrix.add_group
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_group (α i j)] :
Equations
@[protected, instance]
def
dmatrix.add_comm_group
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_comm_group (α i j)] :
add_comm_group (dmatrix m n α)
Equations
@[protected, instance]
def
dmatrix.unique
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), unique (α i j)] :
Equations
@[protected, instance]
def
dmatrix.subsingleton
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[∀ (i : m) (j : n), subsingleton (α i j)] :
subsingleton (dmatrix m n α)
theorem
dmatrix.map_add
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_monoid (α i j)]
{β : m → n → Type w}
[Π (i : m) (j : n), add_monoid (β i j)]
(f : Π ⦃i : m⦄ ⦃j : n⦄, α i j →+ β i j)
(M N : dmatrix m n α) :
theorem
dmatrix.subsingleton_of_empty_left
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[is_empty m] :
subsingleton (dmatrix m n α)
theorem
dmatrix.subsingleton_of_empty_right
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[is_empty n] :
subsingleton (dmatrix m n α)
def
add_monoid_hom.map_dmatrix
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_monoid (α i j)]
{β : m → n → Type w}
[Π (i : m) (j : n), add_monoid (β i j)]
(f : Π ⦃i : m⦄ ⦃j : n⦄, α i j →+ β i j) :
The add_monoid_hom
between spaces of dependently typed matrices
induced by an add_monoid_hom
between their coefficients.
@[simp]
theorem
add_monoid_hom.map_dmatrix_apply
{m : Type u_2}
{n : Type u_3}
[fintype m]
[fintype n]
{α : m → n → Type v}
[Π (i : m) (j : n), add_monoid (α i j)]
{β : m → n → Type w}
[Π (i : m) (j : n), add_monoid (β i j)]
(f : Π ⦃i : m⦄ ⦃j : n⦄, α i j →+ β i j)
(M : dmatrix m n α) :
⇑(add_monoid_hom.map_dmatrix f) M = M.map (λ (i : m) (j : n), ⇑f)