PhysLean Documentation

PhysLean.SpaceAndTime.Space.CrossProduct

The cross product on Euclidean vectors in three dimensions #

i. Overview #

In this module we define the cross product on EuclideanSpace ℝ (Fin 3), and prove various properties about it related to time derivatives and inner products.

ii. Key results #

iii. Table of contents #

iv. References #

A. The notation for the cross product #

Cross product in EuclideanSpace ℝ (Fin 3). Uses which is typed using \X or \vectorproduct or \crossproduct.

Equations
Instances For

    B. Time derivatives move out of cross products #

    theorem Space.fderiv_cross_commute {t : Time} {s : Space} {f : TimeEuclideanSpace (Fin 3)} (hf : Differentiable f) :
    (fun (a b : WithLp 2 (Fin 3)) => (WithLp.equiv 2 (Fin 3)).symm ((crossProduct ((WithLp.equiv 2 (Fin 3)) a)) ((WithLp.equiv 2 (Fin 3)) b))) s ((fderiv (fun (t' : Time) => f t') t) 1) = (fderiv (fun (t' : Time) => (fun (a b : WithLp 2 (Fin 3)) => (WithLp.equiv 2 (Fin 3)).symm ((crossProduct ((WithLp.equiv 2 (Fin 3)) a)) ((WithLp.equiv 2 (Fin 3)) b))) s (f t')) t) 1

    Cross product and fderiv commute.

    theorem Space.time_deriv_cross_commute {t : Time} {s : Space} {f : TimeEuclideanSpace (Fin 3)} (hf : Differentiable f) :
    (fun (a b : WithLp 2 (Fin 3)) => (WithLp.equiv 2 (Fin 3)).symm ((crossProduct ((WithLp.equiv 2 (Fin 3)) a)) ((WithLp.equiv 2 (Fin 3)) b))) s (Time.deriv (fun (t : Time) => f t) t) = Time.deriv (fun (t : Time) => (fun (a b : WithLp 2 (Fin 3)) => (WithLp.equiv 2 (Fin 3)).symm ((crossProduct ((WithLp.equiv 2 (Fin 3)) a)) ((WithLp.equiv 2 (Fin 3)) b))) s (f t)) t

    Cross product and time derivative commute.

    C. Inner product of vectors with cross products involving themselves #

    theorem Space.inner_cross_self (v w : EuclideanSpace (Fin 3)) :
    inner v ((fun (a b : WithLp 2 (Fin 3)) => (WithLp.equiv 2 (Fin 3)).symm ((crossProduct ((WithLp.equiv 2 (Fin 3)) a)) ((WithLp.equiv 2 (Fin 3)) b))) w v) = 0
    theorem Space.inner_self_cross (v w : EuclideanSpace (Fin 3)) :
    inner v ((fun (a b : WithLp 2 (Fin 3)) => (WithLp.equiv 2 (Fin 3)).symm ((crossProduct ((WithLp.equiv 2 (Fin 3)) a)) ((WithLp.equiv 2 (Fin 3)) b))) v w) = 0