|
Dedekind 0.0.0
A structuralist C++23 Module Library
|
A flat-case (element-wise) tangent-bundle carrier over a base scalar: a pair (point, tangent vector) with ring-shaped arithmetic. More...
A flat-case (element-wise) tangent-bundle carrier over a base scalar: a pair (point, tangent vector) with ring-shaped arithmetic.
Following the Hartshorne reading (Algebraic Geometry, Ex. II.2.8): the affine line over a commutative ring R has tangent bundle \(T(\mathrm{Spec}\,R) =
\mathrm{Spec}(R[\varepsilon]/(\varepsilon^2))\), and an element of T(Spec R) is a pair (point, tangent vector) decomposed as (value, derivative). Any carrier T that exposes
- a base scalar @c T::value_type,
- accessors @c .value() and @c .derivative() returning the
primal and tangent components, and
- ring-operator closure (the tangent-bundle is itself a
ring under the dual-number arithmetic),
satisfies @c IsTangentBundle. @c Dual<F> in
@c dedekind.analysis:dual is the canonical witness:
forward-mode automatic differentiation is exactly arithmetic
in the tangent-bundle ring T(Spec F).
This concept captures the flat case — the carrier alone, no underlying manifold structure — because over the affine line the tangent bundle is canonically isomorphic to the total space F^2. Two extensions sit one layer up and are explicitly out of scope here:
IsTangentBundleStructure<TM, M> concept would pair a total space TM with its base manifold M, plus the projection π: TM → M, transition maps, and smoothness conditions. This requires the manifold abstraction (charts, atlases, fibre bundles, smooth structure) which is tracked under issue~#185 and would naturally live partly in dedekind.topology (manifold-as-topological-space) and partly in dedekind.geometry / dedekind.analysis (smooth structure + tangent-bundle structure).TangentVector / CotangentVector aliases for the trivial flat case already exist in :linear_map (semantic aliases for Vector<F, N> with the FIXME pointing at #185 for non-flat lifting). This concept is the algebraic counterpart at the tangent-bundle ring level.