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.
Instances For
Continuous linear map version of Orientation.areaForm, useful for calculus.
Equations
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.
Equations
- o.rightAngleRotationAux₁ = let to_dual := (InnerProductSpace.toDual ℝ E).toLinearEquiv ≪≫ₗ LinearMap.toContinuousLinearMap.symm; ↑to_dual.symm ∘ₗ o.areaForm
Instances For
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' := ⋯ }
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
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
Instances For
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.