Opened 3 years ago
Last modified 3 years ago
#28716 closed enhancement
Construction of a vector frame from a family of vector fields — at Version 3
Reported by: | egourgoulhon | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | sage-9.0 |
Component: | geometry | Keywords: | manifolds, vector_frame |
Cc: | tscrim | Merged in: | |
Authors: | Eric Gourgoulhon | Reviewers: | |
Report Upstream: | N/A | Work issues: | |
Branch: | public/manifolds/vector_frame_from_family-28716 (Commits, GitHub, GitLab) | Commit: | 013fb8b665adaf1339372c457fca851246d30a3c |
Dependencies: | Stopgaps: |
Description (last modified by )
This ticket introduces the keyword argument from_family
to DifferentiableManifold.vector_frame()
to allow for constructing a vector frame from a spanning family of linearly independent vector fields:
sage: M = Manifold(2, 'M') sage: X.<x,y> = M.chart() sage: e0 = M.vector_field(1+x^2, 1+y^2) sage: e1 = M.vector_field(2, -x*y) sage: e = M.vector_frame('e', from_family=(e0, e1)); e Vector frame (M, (e_0,e_1)) sage: e[0].display() e_0 = (x^2 + 1) d/dx + (y^2 + 1) d/dy sage: e[1].display() e_1 = 2 d/dx - x*y d/dy sage: (e[0], e[1]) == (e0, e1) True
Previously, the only way to introduce the vector frame e
was to first introduce the automorphism relating the frame (d/dx, d/dy)
to (e0, e1)
and to pass this automorphism to VectorFrame.new_frame()
:
sage: aut = M.automorphism_field() sage: aut[:] = [[e0[0], e1[0]], [e0[1], e1[1]]] sage: e = X.frame().new_frame(aut, 'e')
The introduction of from_family
in vector_frame()
simplifies this process.
Implementation details: such functionality already existed for bases of finite rank free modules; the relevant code is extracted from the method FiniteRankFreeModule.basis()
and put into the new method FreeModuleBasis._init_from_family()
, in order to be used in DifferentiableManifold.vector_frame()
as well.
Change History (3)
comment:1 Changed 3 years ago by
- Branch set to public/manifolds/vector_frame_from_family-28716
- Commit set to 013fb8b665adaf1339372c457fca851246d30a3c
comment:2 Changed 3 years ago by
- Cc tscrim added
- Status changed from new to needs_review
comment:3 Changed 3 years ago by
- Description modified (diff)
New commits:
Add construction of a vector frame from a family of vector fields