Sesquilinear form #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
This file defines the conversion between sesquilinear forms and matrices.
Main definitions #
matrix.to_linear_map₂
given a basis define a bilinear formmatrix.to_linear_map₂'
define the bilinear form onn → R
linear_map.to_matrix₂
: calculate the matrix coefficients of a bilinear formlinear_map.to_matrix₂'
: calculate the matrix coefficients of a bilinear form onn → R
Todos #
At the moment this is quite a literal port from matrix.bilinear_form
. Everything should be
generalized to fully semibilinear forms.
Tags #
sesquilinear_form, matrix, basis
The map from matrix n n R
to bilinear forms on n → R
.
This is an auxiliary definition for the equivalence matrix.to_linear_map₂'
.
Equations
- matrix.to_linear_map₂'_aux σ₁ σ₂ f = linear_map.mk₂'ₛₗ σ₁ σ₂ (λ (v : n → R₁) (w : m → R₂), finset.univ.sum (λ (i : n), finset.univ.sum (λ (j : m), ⇑σ₁ (v i) * f i j * ⇑σ₂ (w j)))) _ _ _ _
The linear map from sesquilinear forms to matrix n m R
given an n
-indexed basis for M₁
and an m
-indexed basis for M₂
.
This is an auxiliary definition for the equivalence matrix.to_linear_mapₛₗ₂'
.
Bilinear forms over n → R
#
This section deals with the conversion between matrices and sesquilinear forms on n → R
.
The linear equivalence between sesquilinear forms and n × m
matrices
Equations
- linear_map.to_matrixₛₗ₂' = {to_fun := ⇑(linear_map.to_matrix₂_aux (λ (i : n), (λ (i : n), ⇑(linear_map.std_basis R₁ (λ (_x : n), R₁) i) 1) i) (λ (j : m), (λ (j : m), ⇑(linear_map.std_basis R₂ (λ (_x : m), R₂) j) 1) j)), map_add' := _, map_smul' := _, inv_fun := matrix.to_linear_map₂'_aux σ₁ σ₂, left_inv := _, right_inv := _}
The linear equivalence between bilinear forms and n × m
matrices
Equations
The linear equivalence between n × n
matrices and sesquilinear forms on n → R
Equations
The linear equivalence between n × n
matrices and bilinear forms on n → R
Equations
Bilinear forms over arbitrary vector spaces #
This section deals with the conversion between matrices and bilinear forms on a module with a fixed basis.
linear_map.to_matrix₂ b₁ b₂
is the equivalence between R
-bilinear forms on M
and
n
-by-n
matrices with entries in R
, if b
is an R
-basis for M
.
Equations
- linear_map.to_matrix₂ b₁ b₂ = (b₁.equiv_fun.arrow_congr (b₂.equiv_fun.arrow_congr (linear_equiv.refl R R))).trans linear_map.to_matrix₂'
bilin_form.to_matrix b
is the equivalence between R
-bilinear forms on M
and
n
-by-n
matrices with entries in R
, if b
is an R
-basis for M
.
Equations
- matrix.to_linear_map₂ b₁ b₂ = (linear_map.to_matrix₂ b₁ b₂).symm
Adjoint pairs #
The condition for the matrices A
, A'
to be an adjoint pair with respect to the square
matrices J
, J₃
.
The condition for a square matrix A
to be self-adjoint with respect to the square matrix
J
.
Equations
- J.is_self_adjoint A₁ = J.is_adjoint_pair J A₁ A₁
The condition for a square matrix A
to be skew-adjoint with respect to the square matrix
J
.
Equations
- J.is_skew_adjoint A₁ = J.is_adjoint_pair J A₁ (-A₁)
The submodule of pair-self-adjoint matrices with respect to bilinear forms corresponding to
given matrices J
, J₂
.
The submodule of self-adjoint matrices with respect to the bilinear form corresponding to
the matrix J
.
Equations
The submodule of skew-adjoint matrices with respect to the bilinear form corresponding to
the matrix J
.