mathlib3 documentation

linear_algebra.unitary_group

The Unitary Group #

THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.

This file defines elements of the unitary group unitary_group n α, where α is a star_ring. This consists of all n by n matrices with entries in α such that the star-transpose is its inverse. In addition, we define the group structure on unitary_group n α, and the embedding into the general linear group general_linear_group α (n → α).

We also define the orthogonal group orthogonal_group n β, where β is a comm_ring.

Main Definitions #

References #

Tags #

matrix group, group, unitary group, orthogonal group

@[reducible]
def matrix.unitary_group (n : Type u) [decidable_eq n] [fintype n] (α : Type v) [comm_ring α] [star_ring α] :
submonoid (matrix n n α)

unitary_group n is the group of n by n matrices where the star-transpose is the inverse.

theorem matrix.mem_unitary_group_iff {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] {A : matrix n n α} :
theorem matrix.mem_unitary_group_iff' {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] {A : matrix n n α} :
theorem matrix.det_of_mem_unitary {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] {A : matrix n n α} (hA : A matrix.unitary_group n α) :
@[protected, instance]
Equations
@[protected, instance]
Equations
def matrix.unitary_group.to_lin' {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] (A : (matrix.unitary_group n α)) :
(n α) →ₗ[α] n α

to_lin' A is matrix multiplication of vectors by A, as a linear map.

After the group structure on unitary_group n is defined, we show in to_linear_equiv that this gives a linear equivalence.

Equations
theorem matrix.unitary_group.ext_iff {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] (A B : (matrix.unitary_group n α)) :
A = B (i j : n), A i j = B i j
@[ext]
theorem matrix.unitary_group.ext {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] (A B : (matrix.unitary_group n α)) :
( (i j : n), A i j = B i j) A = B
@[simp]
@[simp]
theorem matrix.unitary_group.mul_val {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] (A B : (matrix.unitary_group n α)) :
@[simp]
theorem matrix.unitary_group.mul_apply {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] (A B : (matrix.unitary_group n α)) :
@[simp]
theorem matrix.unitary_group.one_val {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] :
1 = 1
@[simp]
theorem matrix.unitary_group.one_apply {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] :
1 = 1
def matrix.unitary_group.to_linear_equiv {n : Type u} [decidable_eq n] [fintype n] {α : Type v} [comm_ring α] [star_ring α] (A : (matrix.unitary_group n α)) :
(n α) ≃ₗ[α] n α

to_linear_equiv A is matrix multiplication of vectors by A, as a linear equivalence.

Equations

to_GL is the map from the unitary group to the general linear group

Equations

unitary_group.embedding_GL is the embedding from unitary_group n α to general_linear_group n α.

Equations
@[reducible]
def matrix.orthogonal_group (n : Type u) [decidable_eq n] [fintype n] (β : Type v) [comm_ring β] :
submonoid (matrix n n β)

orthogonal_group n is the group of n by n matrices where the transpose is the inverse.

theorem matrix.mem_orthogonal_group_iff (n : Type u) [decidable_eq n] [fintype n] (β : Type v) [comm_ring β] {A : matrix n n β} :