Documentation

Mathlib.Analysis.InnerProductSpace.TwoDim

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 #

Main results #

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
@[deprecated FiniteDimensional.of_fact_finrank_eq_two]

Alias of FiniteDimensional.of_fact_finrank_eq_two.

theorem Orientation.areaForm_def {E : Type u_2} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) :
Orientation.areaForm o = let z := LinearEquiv.symm AlternatingMap.constLinearEquivOfIsEmpty; let y := LinearMap.comp ((LinearMap.llcomp E (E [⋀^Fin 0]→ₗ[] ) ) z) AlternatingMap.curryLeftLinearMap; LinearMap.comp y (AlternatingMap.curryLeftLinearMap (Orientation.volumeForm o))
@[irreducible]

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
    Instances For
      @[simp]
      theorem Orientation.areaForm'_apply {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (x : E) :
      (Orientation.areaForm' o) x = LinearMap.toContinuousLinearMap ((Orientation.areaForm o) x)
      theorem Orientation.areaForm_comp_linearIsometryEquiv {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (φ : E ≃ₗᵢ[] E) (hφ : 0 < LinearMap.det φ.toLinearEquiv) (x : E) (y : E) :
      ((Orientation.areaForm o) (φ x)) (φ y) = ((Orientation.areaForm o) x) y

      The area form is invariant under pullback by a positively-oriented isometric automorphism.

      @[irreducible]

      Auxiliary construction for Orientation.rightAngleRotation, rotation by 90 degrees in an oriented real inner product space of dimension 2.

      Equations
      Instances For

        Auxiliary construction for Orientation.rightAngleRotation, rotation by 90 degrees in an oriented real inner product space of dimension 2.

        Equations
        Instances For
          @[irreducible]

          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.)

              theorem Orientation.inner_mul_inner_add_areaForm_mul_areaForm {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (a : E) (x : E) (y : E) :
              a, x⟫_ * a, y⟫_ + ((Orientation.areaForm o) a) x * ((Orientation.areaForm o) 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⟫.

              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.)

              theorem Orientation.inner_mul_areaForm_sub {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (a : E) (x : E) (y : E) :
              a, x⟫_ * ((Orientation.areaForm o) a) y - ((Orientation.areaForm o) a) x * a, y⟫_ = a ^ 2 * ((Orientation.areaForm o) x) y

              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
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem Orientation.kahler_mul {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (a : E) (x : E) (y : E) :
                ((Orientation.kahler o) x) a * ((Orientation.kahler o) a) y = a ^ 2 * ((Orientation.kahler o) x) y
                theorem Orientation.normSq_kahler {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (x : E) (y : E) :
                Complex.normSq (((Orientation.kahler o) x) y) = x ^ 2 * y ^ 2
                theorem Orientation.abs_kahler {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (x : E) (y : E) :
                Complex.abs (((Orientation.kahler o) x) y) = x * y
                theorem Orientation.kahler_ne_zero {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) {x : E} {y : E} (hx : x 0) (hy : y 0) :
                theorem Orientation.kahler_comp_linearIsometryEquiv {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (φ : E ≃ₗᵢ[] E) (hφ : 0 < LinearMap.det φ.toLinearEquiv) (x : E) (y : E) :
                ((Orientation.kahler o) (φ x)) (φ y) = ((Orientation.kahler o) x) y

                The bilinear map kahler is invariant under pullback by a positively-oriented isometric automorphism.

                @[simp]
                theorem Orientation.areaForm_map_complex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (f : E ≃ₗᵢ[] ) (hf : (Orientation.map (Fin 2) f.toLinearEquiv) o = Complex.orientation) (x : E) (y : E) :
                ((Orientation.areaForm o) x) y = ((starRingEnd ) (f x) * f y).im

                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.

                theorem Orientation.kahler_map_complex {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] [Fact (FiniteDimensional.finrank E = 2)] (o : Orientation E (Fin 2)) (f : E ≃ₗᵢ[] ) (hf : (Orientation.map (Fin 2) f.toLinearEquiv) o = Complex.orientation) (x : E) (y : E) :
                ((Orientation.kahler o) x) y = (starRingEnd ) (f x) * f y

                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.