Documentation

Mathlib.Geometry.Euclidean.Altitude

Altitudes of a simplex #

This file defines the altitudes of a simplex and their feet.

Main definitions #

References #

def Affine.Simplex.altitude {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } (s : Simplex P n) (i : Fin (n + 1)) :

An altitude of a simplex is the line that passes through a vertex and is orthogonal to the opposite face.

Equations
Instances For

    The definition of an altitude.

    theorem Affine.Simplex.mem_altitude {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } (s : Simplex P n) (i : Fin (n + 1)) :

    A vertex lies in the corresponding altitude.

    The direction of an altitude.

    The vector span of the opposite face lies in the direction orthogonal to an altitude.

    An altitude is finite-dimensional.

    @[simp]

    An altitude is one-dimensional (i.e., a line).

    A line through a vertex is the altitude through that vertex if and only if it is orthogonal to the opposite face.

    def Affine.Simplex.altitudeFoot {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :
    P

    The foot of an altitude is the orthogonal projection of a vertex of a simplex onto the opposite face.

    Equations
    Instances For
      @[simp]
      theorem Affine.Simplex.ne_altitudeFoot {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :
      def Affine.Simplex.height {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :

      The height of a vertex of a simplex is the distance between it and the foot of the altitude from that vertex.

      Equations
      Instances For
        @[simp]
        theorem Affine.Simplex.height_pos {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i : Fin (n + 1)) :
        0 < s.height i

        Extension for the positivity tactic: the height of a simplex is always positive.

        Instances For
          theorem Affine.Simplex.inner_vsub_vsub_altitudeFoot_eq_height_sq {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) {i j : Fin (n + 1)} (h : i j) :
          inner (s.points i -ᵥ s.points j) (s.points i -ᵥ s.altitudeFoot i) = s.height i ^ 2

          The inner product of an edge from j to i and the vector from the foot of i to i is the square of the height.

          theorem Affine.Simplex.abs_inner_vsub_altitudeFoot_lt_mul {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) {i j : Fin (n + 1)} (hij : i j) (hn : 1 < n) :

          The inner product of two distinct altitudes has absolute value strictly less than the product of their lengths.

          Equivalently, neither vector is a multiple of the other; the angle between them is not 0 or π.

          theorem Affine.Simplex.neg_mul_lt_inner_vsub_altitudeFoot {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i j : Fin (n + 1)) (hn : 1 < n) :

          The inner product of two altitudes has value strictly greater than the negated product of their lengths.

          theorem Affine.Simplex.abs_inner_vsub_altitudeFoot_div_lt_one {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) {i j : Fin (n + 1)} (hij : i j) (hn : 1 < n) :
          theorem Affine.Simplex.neg_one_lt_inner_vsub_altitudeFoot_div {V : Type u_1} {P : Type u_2} [NormedAddCommGroup V] [InnerProductSpace V] [MetricSpace P] [NormedAddTorsor V P] {n : } [NeZero n] (s : Simplex P n) (i j : Fin (n + 1)) (hn : 1 < n) :
          -1 < inner (s.points i -ᵥ s.altitudeFoot i) (s.points j -ᵥ s.altitudeFoot j) / (s.height i * s.height j)