Bilinear form
This file defines a bilinear form over a module. Basic ideas such as orthogonality are also introduced, as well as reflexivive, symmetric and alternating bilinear forms. Adjoints of linear maps with respect to a bilinear form are also introduced.
A bilinear form on an R-module M, is a function from M x M to R, that is linear in both arguments
Notations
Given any term B of type bilin_form, due to a coercion, can use the notation B x y to refer to the function field, ie. B x y = B.bilin x y.
References
Tags
Bilinear form,
- bilin : M → M → R
- bilin_add_left : ∀ (x y z : M), c.bilin (x + y) z = c.bilin x z + c.bilin y z
- bilin_smul_left : ∀ (a : R) (x y : M), c.bilin (a • x) y = a * c.bilin x y
- bilin_add_right : ∀ (x y z : M), c.bilin x (y + z) = c.bilin x y + c.bilin x z
- bilin_smul_right : ∀ (a : R) (x y : M), c.bilin x (a • y) = a * c.bilin x y
A bilinear form over a module
A map with two arguments that is linear in both is a bilinear form
Equations
- f.to_bilin = {bilin := λ (x y : M), ⇑(⇑f x) y, bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}
Equations
- bilin_form.has_coe_to_fun = {F := λ (B : bilin_form R M), M → M → R, coe := λ (B : bilin_form R M), B.bilin}
Equations
- bilin_form.add_comm_group = {add := λ (B D : bilin_form R M), {bilin := λ (x y : M), ⇑B x y + ⇑D x y, bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}, add_assoc := _, zero := {bilin := λ (x y : M), 0, bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}, zero_add := _, add_zero := _, neg := λ (B : bilin_form R M), {bilin := λ (x y : M), -B.bilin x y, bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}, add_left_neg := _, add_comm := _}
Equations
- bilin_form.inhabited = {default := 0}
Equations
- bilin_form.to_module = {to_distrib_mul_action := {to_mul_action := {to_has_scalar := {smul := λ (c : R₂) (B : bilin_form R₂ M), {bilin := λ (x y : M), c * ⇑B x y, bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}}, one_smul := _, mul_smul := _}, smul_add := _, smul_zero := _}, add_smul := _, zero_smul := _}
B.to_linear_map
applies B on the left argument, then the right.
Equations
- F.to_linear_map = linear_map.mk₂ R₂ F.bilin _ _ _ _
Bilinear forms are equivalent to maps with two arguments that is linear in both.
Equations
- bilin_form.bilin_linear_map_equiv = {to_fun := bilin_form.to_linear_map _inst_5, map_add' := _, map_smul' := _, inv_fun := linear_map.to_bilin _inst_5, left_inv := _, right_inv := _}
Apply a linear map on the left and right argument of a bilinear form.
Equations
- B.comp l r = {bilin := λ (x y : M), ⇑B (⇑l x) (⇑r y), bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}
Apply a linear map to the left argument of a bilinear form.
Equations
- B.comp_left f = B.comp f linear_map.id
Apply a linear map to the right argument of a bilinear form.
Equations
- B.comp_right f = B.comp linear_map.id f
lin_mul_lin f g
is the bilinear form mapping x
and y
to f x * g y
Equations
- bilin_form.lin_mul_lin f g = {bilin := λ (x y : M), ⇑f x * ⇑g y, bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}
The proposition that two elements of a bilinear form space are orthogonal
The linear map from matrix n n R
to bilinear forms on n → R
.
Equations
- matrix.to_bilin_formₗ = {to_fun := λ (M : matrix n n R), {bilin := λ (v w : n → R), ((matrix.row v).mul M).mul (matrix.col w) punit.star punit.star, bilin_add_left := _, bilin_smul_left := _, bilin_add_right := _, bilin_smul_right := _}, map_add' := _, map_smul' := _}
The map from matrix n n R
to bilinear forms on n → R
.
Equations
The linear map from bilinear forms on n → R
to matrix n n R
.
The map from bilinear forms on n → R
to matrix n n R
.
Equations
Bilinear forms are linearly equivalent to matrices.
Equations
- bilin_form_equiv_matrix = {to_fun := bilin_form.to_matrixₗ.to_fun, map_add' := _, map_smul' := _, inv_fun := matrix.to_bilin_form _inst_2, left_inv := _, right_inv := _}
The proposition that a bilinear form is reflexive
The proposition that a bilinear form is symmetric
Equations
- sym_bilin_form.is_sym B = ∀ (x y : M), ⇑B x y = ⇑B y x
The proposition that a bilinear form is alternating
Equations
- alt_bilin_form.is_alt B = ∀ (x : M), ⇑B x x = 0
Given a pair of modules equipped with bilinear forms, this is the condition for a pair of maps between them to be mutually adjoint.
The condition for an endomorphism to be "self-adjoint" with respect to a pair of bilinear forms on the underlying module. In the case that these two forms are identical, this is the usual concept of self adjointness. In the case that one of the forms is the negation of the other, this is the usual concept of skew adjointness.
Equations
- B.is_pair_self_adjoint B' f = B.is_adjoint_pair B' f f
The set of pair-self-adjoint endomorphisms are a submodule of the type of all endomorphisms.
Equations
- B.is_pair_self_adjoint_submodule B' = {carrier := {f : module.End R M | B.is_pair_self_adjoint B' f}, zero_mem' := _, add_mem' := _, smul_mem' := _}
An endomorphism of a module is self-adjoint with respect to a bilinear form if it serves as an adjoint for itself.
Equations
- B.is_self_adjoint f = B.is_adjoint_pair B f f
An endomorphism of a module is skew-adjoint with respect to a bilinear form if its negation serves as an adjoint.
Equations
- B.is_skew_adjoint f = B.is_adjoint_pair B f (-f)
The set of self-adjoint endomorphisms of a module with bilinear form is a submodule. (In fact it is a Jordan subalgebra.)
Equations
The set of skew-adjoint endomorphisms of a module with bilinear form is a submodule. (In fact it is a Lie subalgebra.)
Equations
The condition for the square matrices A
, B
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
.