template<typename T>
class tensorium_RG::RiemannTensor< T >
Computes the 4D Riemann curvature tensor \( R^\rho_{\ \sigma\mu\nu} \).
The following expression is used:
\[R^\rho_{\ \sigma\mu\nu} = \partial_\mu \Gamma^\rho_{\nu\sigma}
- \partial_\nu \Gamma^\rho_{\mu\sigma}
+ \Gamma^\rho_{\mu\lambda} \Gamma^\lambda_{\nu\sigma}
- \Gamma^\rho_{\nu\lambda} \Gamma^\lambda_{\mu\sigma}
\]
Computes the 4D Riemann curvature tensor \( R^\rho_{\ \sigma\mu\nu} \).
This function numerically computes the full 4D Riemann tensor using finite difference approximations (via Richardson extrapolation) on the Christoffel symbols computed from the metric tensor.
The Riemann tensor is defined as:
\[R^\rho_{\ \sigma\mu\nu} =
\partial_\mu \Gamma^\rho_{\nu\sigma}
- \partial_\nu \Gamma^\rho_{\mu\sigma}
+ \Gamma^\rho_{\mu\lambda} \Gamma^\lambda_{\nu\sigma}
- \Gamma^\rho_{\nu\lambda} \Gamma^\lambda_{\mu\sigma}
\]
- Template Parameters
-
| T | Scalar type (e.g., float or double) |
- Parameters
-
| X | Coordinate vector \( X^\mu \) (4D) |
| h | Spacing for finite difference approximations |
| metric | A callable metric object (e.g. Kerr, Schwarzschild) implementing operator()(X,
g) |
- Returns
- A 4th-rank tensor \( R^\rho_{\ \sigma\mu\nu} \) stored as a Tensor4D object
References tensorium::richardson_derivative(), and X().
Referenced by tensorium::compute_riemann_tensor().