Oriented two-dimensional real inner product spaces #
This file defines constructions specific to the geometry of an oriented two-dimensional real inner
product space E
.
Main declarations #
Orientation.areaForm
: an antisymmetric bilinear formE →ₗ[ℝ] E →ₗ[ℝ] ℝ
(usual notationω
). Morally, whenω
is evaluated on two vectors, it gives the oriented area of the parallelogram they span. (But mathlib does not yet have a construction of oriented area, and in fact the construction of oriented area should pass throughω
.)Orientation.rightAngleRotation
: an isometric automorphismE ≃ₗᵢ[ℝ] E
(usual notationJ
). This automorphism squares to -1. In a later file, rotations (Orientation.rotation
) are defined, in such a way that this automorphism is equal to rotation by 90 degrees.Orientation.basisRightAngleRotation
: for a nonzero vectorx
inE
, the basis![x, J x]
forE
.Orientation.kahler
: a complex-valued real-bilinear mapE →ₗ[ℝ] E →ₗ[ℝ] ℂ
. Its real part is the inner product and its imaginary part isOrientation.areaForm
. For vectorsx
andy
inE
, the complex numbero.kahler x y
has modulus‖x‖ * ‖y‖
. In a later file, oriented angles (Orientation.oangle
) are defined, in such a way that the argument ofo.kahler x y
is the oriented angle fromx
toy
.
Main results #
Orientation.rightAngleRotation_rightAngleRotation
: the identityJ (J x) = - x
Orientation.nonneg_inner_and_areaForm_eq_zero_iff_sameRay
:x
,y
are in the same ray, if and only if0 ≤ ⟪x, y⟫
andω x y = 0
Orientation.kahler_mul
: the identityo.kahler x a * o.kahler a y = ‖a‖ ^ 2 * o.kahler x y
Complex.areaForm
,Complex.rightAngleRotation
,Complex.kahler
: the concrete interpretations ofareaForm
,rightAngleRotation
,kahler
for the oriented real inner product spaceℂ
Orientation.areaForm_map_complex
,Orientation.rightAngleRotation_map_complex
,Orientation.kahler_map_complex
: given an orientation-preserving isometry fromE
toℂ
, expressions forareaForm
,rightAngleRotation
,kahler
as the pullback of their concrete interpretations onℂ
Implementation notes #
Notation ω
for Orientation.areaForm
and J
for Orientation.rightAngleRotation
should be
defined locally in each file which uses them, since otherwise one would need a more cumbersome
notation which mentions the orientation explicitly (something like ω[o]
). Write
local notation "ω" => o.areaForm
local notation "J" => o.rightAngleRotation
Alias of FiniteDimensional.of_fact_finrank_eq_two
.
An antisymmetric bilinear form on an oriented real inner product space of dimension 2 (usual
notation ω
). When evaluated on two vectors, it gives the oriented area of the parallelogram they
span.
Equations
Instances For
Continuous linear map version of Orientation.areaForm
, useful for calculus.
Equations
- o.areaForm' = LinearMap.toContinuousLinearMap (↑LinearMap.toContinuousLinearMap ∘ₗ o.areaForm)
Instances For
The area form is invariant under pullback by a positively-oriented isometric automorphism.
Auxiliary construction for Orientation.rightAngleRotation
, rotation by 90 degrees in an
oriented real inner product space of dimension 2.
Instances For
Auxiliary construction for Orientation.rightAngleRotation
, rotation by 90 degrees in an
oriented real inner product space of dimension 2.
Equations
- o.rightAngleRotationAux₂ = let __src := o.rightAngleRotationAux₁; { toLinearMap := __src, norm_map' := ⋯ }
Instances For
An isometric automorphism of an oriented real inner product space of dimension 2 (usual notation
J
). This automorphism squares to -1. We will define rotations in such a way that this
automorphism is equal to rotation by 90 degrees.
Equations
Instances For
J
commutes with any positively-oriented isometric automorphism.
J
commutes with any positively-oriented isometric automorphism.
For a nonzero vector x
in an oriented two-dimensional real inner product space E
,
![x, J x]
forms an (orthogonal) basis for E
.
Equations
- o.basisRightAngleRotation x hx = basisOfLinearIndependentOfCardEqFinrank ⋯ ⋯
Instances For
For vectors a x y : E
, the identity ⟪a, x⟫ * ⟪a, y⟫ + ω a x * ω a y = ‖a‖ ^ 2 * ⟪x, y⟫
. (See
Orientation.inner_mul_inner_add_areaForm_mul_areaForm
for the "applied" form.)
For vectors a x y : E
, the identity ⟪a, x⟫ * ⟪a, y⟫ + ω a x * ω a y = ‖a‖ ^ 2 * ⟪x, y⟫
.
For vectors a x y : E
, the identity ⟪a, x⟫ * ω a y - ω a x * ⟪a, y⟫ = ‖a‖ ^ 2 * ω x y
. (See
Orientation.inner_mul_areaForm_sub
for the "applied" form.)
For vectors a x y : E
, the identity ⟪a, x⟫ * ω a y - ω a x * ⟪a, y⟫ = ‖a‖ ^ 2 * ω x y
.
A complex-valued real-bilinear map on an oriented real inner product space of dimension 2. Its
real part is the inner product and its imaginary part is Orientation.areaForm
.
On ℂ
with the standard orientation, kahler w z = conj w * z
; see Complex.kahler
.
Equations
- o.kahler = (LinearMap.llcomp ℝ E ℝ ℂ) ↑Complex.ofRealCLM ∘ₗ innerₛₗ ℝ + (LinearMap.llcomp ℝ E ℝ ℂ) ((LinearMap.lsmul ℝ ℂ).flip Complex.I) ∘ₗ o.areaForm
Instances For
The bilinear map kahler
is invariant under pullback by a positively-oriented isometric
automorphism.
The area form on an oriented real inner product space of dimension 2 can be evaluated in terms of a complex-number representation of the space.
The rotation by 90 degrees on an oriented real inner product space of dimension 2 can be evaluated in terms of a complex-number representation of the space.
The Kahler form on an oriented real inner product space of dimension 2 can be evaluated in terms of a complex-number representation of the space.