You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -34,8 +34,8 @@ pip install coordinax
34
34
35
35
- Specialized quantities: scalar coordinate quantities with units, including `Angle` (directional values on $S^1$ with explicit wrapping) and `Distance` (length-valued quantity), plus astronomy-facing forms like `Parallax` and `DistanceModulus`.
36
36
- Charts: a coordinate chart / component schema (names + physical dimensions). A chart does not store numerical values.
37
-
- Representation: geometric meaning of components, encoded as (geometry, basis, semantics), e.g. `point`.
38
37
- Point: data + chart + representation, with conversion and arithmetic behavior defined by chart transition maps and tangent pushforwards.
38
+
- Representation: geometric meaning of components, encoded as (geometry, basis, semantics), e.g. `point`, `coord_vel`, `phys_acc`.
39
39
40
40
## Modules
41
41
@@ -104,6 +104,8 @@ Common representation constants are available from the high-level module:
Copy file name to clipboardExpand all lines: docs/guides/representations.md
+28Lines changed: 28 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -138,12 +138,40 @@ Current built-in representation conversions are point-first:
138
138
139
139
The representation design is intentionally extensible. Future geometric kinds (for example tangent and cotangent objects) can use different transformation categories (such as Jacobian pushforward/pullback) while keeping the same chart and manifold interfaces.
140
140
141
+
## Tangent Basis Changes
142
+
143
+
`change_basis` handles a narrower problem than `cconvert`: it keeps the chart fixed and only changes how tangent components are interpreted with respect to a basis.
144
+
145
+
In the current v1 implementation, this is intentionally limited to tangent data in Cartesian charts:
146
+
147
+
- supported basis changes: `CoordinateBasis` $
148
+
ightleftarrows$ `PhysicalBasis`
149
+
- supported representations: tangent representations such as `coord_disp` and `phys_disp`
150
+
- unsupported: point data (`NoBasis`) and non-Cartesian charts
In Cartesian charts the coordinate basis and physical basis coincide, so the component values are unchanged. The API exists so code can state basis intent explicitly and remain extensible to nontrivial basis changes later.
167
+
141
168
## Quick Reference
142
169
143
170
- Need only a same-manifold coordinate rewrite: `pt_map`
144
171
- Need general point mapping behavior: `pt_map`
145
172
- Need manifold compatibility checks: manifold methods like `M.pt_map`
146
173
- Need representation-aware conversions: `cconvert`
174
+
- Need same-chart tangent basis conversion: `change_basis`
147
175
- Need reusable conversion callables: `cmap`
148
176
- Need to infer basis kind from data: `guess_basis_kind`
149
177
- Need to infer semantic kind from data: `guess_semantic_kind`
0 commit comments