Documentation

Atlas.DifferentialGeometry.code.SpaceCurves

theorem SpaceCurves.gram_schmidt_orthonormalization {n k : } (_hk : k n) (v : Fin kEuclideanSpace (Fin n)) (hli : LinearIndependent v) :
∃ (e : Fin kEuclideanSpace (Fin n)), Orthonormal e (∀ (i : Fin k), Submodule.span (Set.range fun (j : Fin (i + 1)) => e j, ) = Submodule.span (Set.range fun (j : Fin (i + 1)) => v j, )) ∀ (i : Fin k), 0 < inner (e i) (v i)
theorem SpaceCurves.gram_schmidt_orthonormalization_unique {E : Type u_1} [NormedAddCommGroup E] [InnerProductSpace E] {k : } (v e₁ e₂ : Fin kE) (hon₁ : Orthonormal e₁) (hon₂ : Orthonormal e₂) (hspan₁ : ∀ (i : Fin k), Submodule.span (e₁ '' Set.Iic i) = Submodule.span (v '' Set.Iic i)) (hspan₂ : ∀ (i : Fin k), Submodule.span (e₂ '' Set.Iic i) = Submodule.span (v '' Set.Iic i)) (hpos₁ : ∀ (i : Fin k), 0 < inner (e₁ i) (v i)) (hpos₂ : ∀ (i : Fin k), 0 < inner (e₂ i) (v i)) :
e₁ = e₂
theorem SpaceCurves.span_iteratedDeriv_comp_ge {n : } (c : EuclideanSpace (Fin n)) (φ : ) (hc : ContDiff c) ( : ContDiff φ) (hφ' : ∀ (t : ), 0 < deriv φ t) (t : ) (j : ) (hj : j < n - 1) :
iteratedDeriv (j + 1) c (φ t) Submodule.span (Set.range fun (k : Fin (j + 1)) => iteratedDeriv (k + 1) (c φ) t)
theorem orthogonal_deriv_skew {n : } (E : Matrix (Fin n) (Fin n) ) (hE : ContDiff E) (horth : ∀ (t : ), E t Matrix.orthogonalGroup (Fin n) ) (A : Matrix (Fin n) (Fin n) ) (hA : ∀ (t : ), deriv E t = E t * A t) (t : ) :
(A t).transpose = -A t
Instances For
    noncomputable def SpaceCurves.frenetFrame {n : } (c : EuclideanSpace (Fin n)) (_hc : IsFrenetCurve c) (t : ) :
    Instances For
      noncomputable def SpaceCurves.frenetCurvature {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (i : Fin (n - 1)) (t : ) :
      Instances For
        noncomputable def SpaceCurves.frenetSerretMatrix {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) :
        Matrix (Fin n) (Fin n)
        Instances For
          theorem SpaceCurves.frenetFrame_differentiableAt {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (i : Fin n) :
          DifferentiableAt (fun (s : ) => frenetFrame c hc s i) t
          theorem SpaceCurves.frenetFrame_deriv_mem_span {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (j : Fin n) (hj : j < n - 1) :
          deriv (fun (s : ) => frenetFrame c hc s j) t Submodule.span (Set.range fun (i : Fin (j + 2)) => frenetFrame c hc t i, )
          theorem SpaceCurves.frenetFrame_inner_deriv_vanish {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) (k j : Fin n) (h1 : ¬(j = k + 1 k < n - 1)) (h2 : ¬(k = j + 1 j < n - 1)) :
          inner (frenetFrame c hc t k) (deriv (fun (s : ) => frenetFrame c hc s j) t) = 0
          theorem SpaceCurves.frenetFrame_inner_deriv_super {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) (k j : Fin n) (h : j = k + 1 k < n - 1) :
          inner (frenetFrame c hc t k) (deriv (fun (s : ) => frenetFrame c hc s j) t) = deriv c t * -frenetCurvature c hc k, t
          theorem SpaceCurves.frenetFrame_inner_deriv_sub {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) (k j : Fin n) (h1 : ¬(j = k + 1 k < n - 1)) (h : k = j + 1 j < n - 1) :
          inner (frenetFrame c hc t k) (deriv (fun (s : ) => frenetFrame c hc s j) t) = deriv c t * frenetCurvature c hc j, t
          theorem SpaceCurves.frenetSerret_equation {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) (j : Fin n) :
          deriv (fun (s : ) => frenetFrame c hc s j) t = deriv c t k : Fin n, frenetSerretMatrix c hc t k j frenetFrame c hc t k
          theorem SpaceCurves.frenetCurvature_eq_inner_div_norm {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (i : Fin (n - 1)) (t : ) :
          frenetCurvature c hc i t = inner (frenetFrame c hc t i + 1, ) (deriv (fun (s : ) => frenetFrame c hc s i, ) t) / deriv c t
          theorem SpaceCurves.frenetCurvature_pos {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (i : Fin (n - 1)) (hi : i < n - 2) (t : ) (hc' : deriv c t 0) :
          0 < frenetCurvature c hc i t
          theorem SpaceCurves.frenetSerret_theorem {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) :
          (∀ (j : Fin n), deriv (fun (s : ) => frenetFrame c hc s j) t = deriv c t k : Fin n, frenetSerretMatrix c hc t k j frenetFrame c hc t k) (∀ (i : Fin (n - 1)), i < n - 20 < frenetCurvature c hc i t) ∀ (i : Fin (n - 1)), frenetCurvature c hc i t = inner (frenetFrame c hc t i + 1, ) (deriv (fun (s : ) => frenetFrame c hc s i, ) t) / deriv c t
          theorem SpaceCurves.frenetFrame_orthogonal_higher_iteratedDeriv {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (s : ) (i j : Fin n) (hij : i < j) (hi : i < n - 1) :
          inner (frenetFrame c hc s j) (iteratedDeriv (i + 1) c s) = 0
          theorem SpaceCurves.frenet_diagonal_entry_succ {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) (i : Fin n) (hi : i + 1 < n) :
          inner (frenetFrame c hc t i + 1, hi) (iteratedDeriv (i + 2) c t) = deriv c t * frenetCurvature c hc i, t * inner (frenetFrame c hc t i) (iteratedDeriv (i + 1) c t)
          theorem SpaceCurves.frenet_diagonal_entry_zero {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) :
          theorem SpaceCurves.frenet_diagonal_entry {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) (i : Fin n) :
          inner (frenetFrame c hc t i) (iteratedDeriv (i + 1) c t) = deriv c t ^ (i + 1) * k : Fin i, frenetCurvature c hc k, t
          theorem SpaceCurves.prod_fin_triangular {M : Type u_1} [CommMonoid M] (n : ) (f : Fin (n - 1)M) :
          i : Fin n, k : Fin i, f k, = k : Fin (n - 1), f k ^ (n - 1 - k)
          theorem SpaceCurves.frenet_product_reindex {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) :
          i : Fin n, k : Fin i, frenetCurvature c hc k, t = i : Fin (n - 1), frenetCurvature c hc i t ^ (n - 1 - i)
          theorem SpaceCurves.frenet_frame_det_one {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) :
          (Matrix.of fun (k j : Fin n) => (frenetFrame c hc t k).ofLp j).det = 1
          theorem SpaceCurves.frenet_det_factored {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) (hc' : deriv c t 0) :
          (Matrix.of fun (i j : Fin n) => (iteratedDeriv (i + 1) c t).ofLp j).det = i : Fin n, inner (frenetFrame c hc t i) (iteratedDeriv (i + 1) c t)
          theorem SpaceCurves.frenet_det_formula {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (hn : 2 n) :
          (Matrix.of fun (i j : Fin n) => (iteratedDeriv (i + 1) c t).ofLp j).det / deriv c t ^ (n * (n + 1) / 2) = i : Fin (n - 1), frenetCurvature c hc i t ^ (n - 1 - i)
          theorem SpaceCurves.frenet_reparametrization_isFrenet {n : } (c : EuclideanSpace (Fin n)) (φ : ) (hc : IsFrenetCurve c) ( : ContDiff φ) (hφ' : ∀ (t : ), 0 < deriv φ t) :
          theorem SpaceCurves.frenetFrame_span_eq {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (i : Fin (n - 1)) :
          Submodule.span ((fun (j : Fin (n - 1)) => frenetFrame c hc t j, ) '' Set.Iic i) = Submodule.span ((fun (j : Fin (n - 1)) => iteratedDeriv (j + 1) c t) '' Set.Iic i)
          theorem SpaceCurves.frenetFrame_inner_pos {n : } (c : EuclideanSpace (Fin n)) (hc : IsFrenetCurve c) (t : ) (i : Fin (n - 1)) :
          0 < inner (frenetFrame c hc t i, ) (iteratedDeriv (i + 1) c t)
          theorem SpaceCurves.span_iteratedDeriv_comp_eq_Iic {n : } (c : EuclideanSpace (Fin n)) (φ : ) (hc : ContDiff c) ( : ContDiff φ) (hφ' : ∀ (t : ), 0 < deriv φ t) (t : ) (i : Fin (n - 1)) :
          Submodule.span ((fun (j : Fin (n - 1)) => iteratedDeriv (j + 1) (c φ) t) '' Set.Iic i) = Submodule.span ((fun (j : Fin (n - 1)) => iteratedDeriv (j + 1) c (φ t)) '' Set.Iic i)
          theorem SpaceCurves.frenetFrame_inner_pos_reparametrized {n : } (c : EuclideanSpace (Fin n)) (φ : ) (hc : IsFrenetCurve c) ( : ContDiff φ) (hφ' : ∀ (t : ), 0 < deriv φ t) (t : ) (i : Fin (n - 1)) :
          0 < inner (frenetFrame c hc (φ t) i, ) (iteratedDeriv (i + 1) (c φ) t)
          theorem SpaceCurves.orthonormalBasis_eq_of_agree_on_prefix {n : } (b₁ b₂ : OrthonormalBasis (Fin n) (EuclideanSpace (Fin n))) (h : ∀ (i : Fin n), i < n - 1b₁ i = b₂ i) (i : Fin n) :
          b₁ i = b₂ i
          theorem SpaceCurves.frenet_frame_reparametrization_invariant {n : } (c : EuclideanSpace (Fin n)) (φ : ) (hc : IsFrenetCurve c) ( : ContDiff φ) (hφ' : ∀ (t : ), 0 < deriv φ t) (t : ) :
          frenetFrame (c φ) t = frenetFrame c hc (φ t)