84 [[nodiscard]] std::optional<GeodesicState>
97 [[nodiscard]] std::optional<std::vector<GeodesicState>>
100 int n_steps)
const noexcept;
114 [[nodiscard]] std::optional<double>
122 [[nodiscard]]
int dim()
const noexcept;
135 [[nodiscard]] std::optional<std::pair<Eigen::VectorXd, Eigen::VectorXd>>
152 const Eigen::VectorXd& dx,
153 const Eigen::VectorXd& du,
154 double scale)
noexcept;
165 return manifold_.
dim();
Christoffel symbol computation for an NAssetManifold.
Computes Christoffel symbols Γ^λ_μν for an NAssetManifold.
RK4 integrator for geodesics on an NAssetManifold.
std::optional< std::vector< GeodesicState > > integrate(GeodesicState initial, double dtau, int n_steps) const noexcept
Integrate the geodesic for n_steps steps of size dtau.
int dim() const noexcept
Return the manifold dimension.
std::optional< double > geodesic_deviation(const std::vector< GeodesicState > &traj) const noexcept
Measure the maximum deviation of a trajectory from a straight line.
std::optional< GeodesicState > step(const GeodesicState &s, double dtau) const noexcept
Advance the geodesic by one RK4 step of proper-time dtau.
(N+1)-dimensional Lorentzian manifold for N financial assets.
int dim() const noexcept
Returns the full manifold dimension = n_assets + 1.
N-Asset Lorentzian Manifold for Special Relativistic Financial Mechanics.
Position and 4-velocity state on the manifold.
Eigen::VectorXd x
Position coordinates.
Eigen::VectorXd u
Tangent vector (4-velocity, dx/dτ).