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 vectorxinE, 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 vectorsxandyinE, the complex numbero.kahler x yhas modulus‖x‖ * ‖y‖. In a later file, oriented angles (Orientation.oangle) are defined, in such a way that the argument ofo.kahler x yis the oriented angle fromxtoy.
Main results #
Orientation.rightAngleRotation_rightAngleRotation: the identityJ (J x) = - xOrientation.nonneg_inner_and_areaForm_eq_zero_iff_sameRay:x,yare in the same ray, if and only if0 ≤ ⟪x, y⟫andω x y = 0Orientation.kahler_mul: the identityo.kahler x a * o.kahler a y = ‖a‖ ^ 2 * o.kahler x yComplex.areaForm,Complex.rightAngleRotation,Complex.kahler: the concrete interpretations ofareaForm,rightAngleRotation,kahlerfor the oriented real inner product spaceℂOrientation.areaForm_map_complex,Orientation.rightAngleRotation_map_complex,Orientation.kahler_map_complex: given an orientation-preserving isometry fromEtoℂ, expressions forareaForm,rightAngleRotation,kahleras 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
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
- One or more equations did not get rendered due to their size.
Continuous linear map version of Orientation.areaForm, useful for calculus.
Equations
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.
Equations
- o.rightAngleRotationAux₁ = let to_dual := (InnerProductSpace.toDual ℝ E).toLinearEquiv ≪≫ₗ LinearMap.toContinuousLinearMap.symm; ↑to_dual.symm ∘ₗ o.areaForm
Auxiliary construction for Orientation.rightAngleRotation, rotation by 90 degrees in an
oriented real inner product space of dimension 2.
Equations
- o.rightAngleRotationAux₂ = { toLinearMap := o.rightAngleRotationAux₁, norm_map' := ⋯ }
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
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
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.
Alias of Orientation.norm_kahler.
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.