Interface SpacetimeMetric

All Superinterfaces:
MetricSpace<Vector4D>, Set<Vector4D>, TopologicalSpace<Vector4D>
All Known Implementing Classes:
KerrMetric, SchwarzschildMetric

public interface SpacetimeMetric extends MetricSpace<Vector4D>
Interface representing a metric tensor field in spacetime.

Implementations define how the metric varies with coordinates. *

Reference:
Fréchet, M. (1906). Sur quelques points du calcul fonctionnel. Rendiconti del Circolo Matematico di Palermo.

Since:
1.0
Author:
Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
  • Method Details

    • getMetricTensor

      Tensor<Real> getMetricTensor(Vector4D point)
      Calculates the covariant metric tensor $g_{\mu\nu}$ at the given event coordinates.

      Returns a rank-2 tensor of shape [4, 4].

      Parameters:
      point - the spacetime coordinates
      Returns:
      the metric tensor instance
    • getChristoffelSymbols

      default Tensor<Real> getChristoffelSymbols(Vector4D point)
      Default implementation returns null.

      Calculating Christoffel symbols requires tensor inversion and numerical differentiation. Concrete implementations (e.g., Schwarzschild, Kerr) should override with analytic expressions.

    • distance

      default Real distance(Vector4D a, Vector4D b)
      Calculates approximate spacetime interval using metric at midpoint.

      For accurate geodesic distance in curved spacetime, use numerical integration. This provides a first-order approximation suitable for nearby events.

      Specified by:
      distance in interface MetricSpace<Vector4D>
      Parameters:
      a - the first point
      b - the second point
      Returns:
      the distance between a and b
    • containsPoint

      default boolean containsPoint(Vector4D point)
      Description copied from interface: TopologicalSpace
      Checks if this space contains the given point.

      Named containsPoint to avoid erasure conflict with Set.contains.

      Specified by:
      containsPoint in interface TopologicalSpace<Vector4D>
      Parameters:
      point - the point to check
      Returns:
      true if the point is in this space
    • isOpen

      default boolean isOpen()
      Description copied from interface: TopologicalSpace
      Checks if this set is open in the topology.
      Specified by:
      isOpen in interface TopologicalSpace<Vector4D>
      Returns:
      true if this is an open set
    • isClosed

      default boolean isClosed()
      Description copied from interface: TopologicalSpace
      Checks if this set is closed in the topology.
      Specified by:
      isClosed in interface TopologicalSpace<Vector4D>
      Returns:
      true if this is a closed set
    • description

      default String description()
      Description copied from interface: Set
      Returns a human-readable description of this set.

      Examples:

      • "ℝ (Real Numbers)"
      • "ℤ/12ℤ (Integers modulo 12)"
      • "{1, 2, 3, 4, 5}"

      Specified by:
      description in interface Set<Vector4D>
      Returns:
      a description of this set