Add coordinate-level jet points#1140
Conversation
|
|
||
| /-- The coordinate-level points of the locally trivialized `k`-jet bundle for fields | ||
| `Space d → Space m`. -/ | ||
| structure JetPoint (d m k : ℕ) where |
There was a problem hiding this comment.
Would change to to be for fields Space d -> EuclideanSpace ℝ (Fin n) or similar
| fun I a => ∂^[I.1] (fun y => (g y) a) x | ||
|
|
||
| /-- The coordinate-level `k`-jet point of a field `f` at the point `x`. -/ | ||
| noncomputable def jetAt (k : ℕ) (f : Space d → Space m) (x : Space d) : JetPoint d m k where |
There was a problem hiding this comment.
Would make this a map to EuclideanSpace
|
|
||
| ## iv. References | ||
|
|
||
| - J. Cortés and A. Haupt, *Lecture Notes on Mathematical Methods of Classical Physics*, |
There was a problem hiding this comment.
If this is AI generated, please can you make sure the reference is correct.
|
Thanks, I have pushed a correction addressing these points. The field target in this PR is now I kept I also checked the reference. The source is Vicente Cortes and Alexander S. Haupt, The scope of the PR is unchanged: it still only contains the core |
|
I've asked @or4nge19 to also have a look at this PR - since he knows a bit about this area. |
|
I think it would be nice to know what is the plan (if any) for this set of PRs, so that they could be placed where they best fit, within the longer jet/variational ideal pipeline in physlib (currently in advanced stage of WIP). Anyhow, the object here (and in the previous PRs) seems not yet a jet bundle or an intrinsic finite jet (mathlib's target, see here and here and here for early partial implementations) but the coordinate table of a flat trivial local model, obtained by applying the existing coordinate iterated-derivative operator. That is useful layer, for later Euler-Lagrange coordinate formulas among other things, as long as we do not treat In particular, I would suggest adding to the module/docstring something along these lines:
Also, since the target is now |
|
|
||
| /-- Coordinate data `u^a_I` for `k`-th order jet points. | ||
|
|
There was a problem hiding this comment.
Re-iterating on the message I'd add two comments/future tasks along these lines, or as TODOs
- Equality of these objects is equality of chosen coordinate data, not a germ/contact equivalence.
- Coordinate Euler-Lagrange formulas should eventually be derived from Fréchet/Taylor/contact data, not used as the foundational definition.
|
Thanks @jstoobysmith and @or4nge19 for the comments and context. For the longer plan, I had outlined the local CFT stack in this Physlib Zulip thread: I am keeping that roadmap message updated as the project adapts, and I am also adjusting the The reference I am using for this local development is Cortes--Haupt, Lecture Notes on More specifically, the current stack is aimed at Chapter 5, Section 5.1:
So I will update the module documentation/TODOs to make explicit that this is a coordinate readout I can also add the bundled If there is a better location or naming convention for this coordinate-readout layer within the |
Summary
This PR is the next step in a planned local Classical Field Theory development for PhysLib, aimed
at a formalization of the local Euler--Lagrange criterion appearing in Cortes--Haupt, Chapter 5.
The previous PRs introduced:
This PR begins the jet-coordinate layer by introducing the core coordinate-level jet point object.
What This PR Adds
This PR adds
Physlib/ClassicalFieldTheory/Local/JetPoint.lean, together with its import inPhyslib.lean.Concretely, it provides:
JetCoordinates d m k,JetPoint d m k,jetCoordinatesAt,jetAt.Interpretation
The object introduced here is the coordinate-level point of the locally trivialized
k-jet bundlefor fields
Space d -> EuclideanSpace ℝ (Fin m).It formalizes only the local coordinate model
Jet^k(Omega, R^m) ~= Omega x V; it does not attempt to define global jet bundles.The zero-th order field value is not stored separately in
JetPoint; it is recovered as the zeroderivative coordinate.
The jet-coordinate data is kept in scalar component form,
DerivativeIndex d k -> Fin m -> ℝ, because the local Euler--Lagrange formulas are indexed byboth the derivative index
Iand the field componenta.Reference
The reference for this local development is:
Physics, arXiv:1612.03100v2, Chapter 5.
arXiv link: https://arxiv.org/abs/1612.03100
Scope Of This PR
This PR is intentionally limited to the core jet-point object and the basic
jetAtevaluation map.It does not yet add:
Those pieces are intended for follow-up PRs so that the core coordinate object can be reviewed on
its own.
Build
Locally checked with:
python3 scripts/lint-style.py Physlib/ClassicalFieldTheory/Local/JetPoint.leanlake exe runPhyslibLinters Physlib/ClassicalFieldTheory/Local/JetPoint.leanlake build Physlib.ClassicalFieldTheory.Local.JetPointlake build Physliblake exe check_file_imports