31 , dual_fn_(std::move(dual_fn)) {}
35MetricMatrix ChristoffelSymbolsDual::dual_metric_derivative(
43 xd(k) =
DualNumber{x(k), k == sigma ? 1.0 : 0.0};
53 dg(mu, nu) = gd(mu, nu).deriv;
65 result[l] = MetricMatrix::Zero();
70 std::optional<MetricMatrix> g_inv_opt = metric_.
inverse(x);
79 std::array<MetricMatrix, SPACETIME_DIM> dg;
81 dg[s] = dual_metric_derivative(x, s);
90 const double bracket =
94 sum += g_inv(lambda, sigma) * bracket;
96 result[lambda](mu, nu) = 0.5 * sum;
116 sum += gamma[lambda](mu, nu) * u(mu) * u(nu);
119 result(lambda) = sum;
FourVelocity contract(const ChristoffelArray &gamma, const FourVelocity &u) const
ChristoffelArray compute(const SpacetimePoint &x) const
ChristoffelSymbolsDual(const MetricTensor &metric, DualMetricFunction dual_fn)
std::optional< MetricMatrix > inverse(const SpacetimePoint &x) const
Physical and financial constants for the SRFM system.
Eigen::Matrix< DualNumber, SPACETIME_DIM, 1 > DualSpacetimePoint
std::function< DualMetricMatrix(const DualSpacetimePoint &)> DualMetricFunction
Eigen::Matrix< DualNumber, SPACETIME_DIM, SPACETIME_DIM > DualMetricMatrix
A 4×4 matrix of dual numbers — the metric evaluated at a dual-number point.
std::array< MetricMatrix, SPACETIME_DIM > ChristoffelArray
Eigen::Vector< double, SPACETIME_DIM > FourVelocity
A tangent vector at a spacetime point (four-velocity: dx^μ/dτ).
Eigen::Matrix< double, SPACETIME_DIM, SPACETIME_DIM > MetricMatrix
The covariant metric tensor g_μν: a 4×4 symmetric matrix.
Eigen::Vector< double, SPACETIME_DIM > SpacetimePoint
static constexpr int SPACETIME_DIM
Dimensionality of the financial spacetime manifold (1 time + 3 assets).
Tensor Calculus & Covariance Engine — AGT-04 public API.