mathlib3 documentation

monlib / linear_algebra.my_matrix.conj

Conjugate of a matrix #

This file defines the conjugate of a matrix, matrix.conj with the notation of this being ᴴᵀ (i.e., xᴴᵀ i j = star (x i j)), and shows basic properties about it.

def matrix.conj {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} [has_star α] (x : matrix n₁ n₂ α) :
matrix n₁ n₂ α

conjugate of matrix defined as $\bar{x} := {(x^*)}^\top$, i.e., $\bar{x}_{ij}=\overline{x_{ij}}$

Equations
theorem matrix.conj_apply {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} [has_star α] (x : matrix n₁ n₂ α) (i : n₁) (j : n₂) :
x.conj i j = has_star.star (x i j)
theorem matrix.conj_conj {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} [has_involutive_star α] (x : matrix n₁ n₂ α) :
x.conj.conj = x
theorem matrix.conj_add {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} [add_monoid α] [star_add_monoid α] (x y : matrix n₁ n₂ α) :
(x + y).conj = x.conj + y.conj
theorem matrix.conj_smul {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} {R : Type u_4} [has_star R] [has_star α] [has_smul R α] [star_module R α] (c : R) (x : matrix n₁ n₂ α) :
theorem matrix.conj_conj_transpose {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} [has_involutive_star α] (x : matrix n₁ n₂ α) :
theorem matrix.conj_transpose_conj {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} [has_involutive_star α] (x : matrix n₁ n₂ α) :
theorem matrix.transpose_conj_eq_conj_transpose {α : Type u_1} {n₁ : Type u_2} {n₂ : Type u_3} [has_star α] (x : matrix n₁ n₂ α) :
theorem matrix.is_hermitian.conj {α : Type u_1} {n : Type u_2} [has_star α] {x : matrix n n α} (hx : x.is_hermitian) :
theorem matrix.conj_mul {α : Type u_1} {m : Type u_2} {n : Type u_3} {p : Type u_4} [fintype n] [comm_semiring α] [star_ring α] (x : matrix m n α) (y : matrix n p α) :
(x.mul y).conj = x.conj.mul y.conj
theorem matrix.conj_one {α : Type u_1} {n : Type u_2} [decidable_eq n] [comm_semiring α] [star_ring α] :
1.conj = 1