pub struct EuclideanTime { /* private fields */ }Expand description
A time model based on Euclidean (imaginary) time, primarily used in theoretical and computational physics.
In contrast to real-valued Lorentzian time (used in classical and relativistic physics), Euclidean time is defined by the Wick rotation:
τ = i · tThis rotation converts Minkowski spacetime (− + + +) into a positive-definite Euclidean metric (+ + + +), which is advantageous for:
- Statistical mechanics
- Quantum field theory (QFT)
- Path integral formulations
- Numerical simulations, such as lattice QCD or Monte Carlo methods
Though the imaginary component i is not explicitly modeled in this struct,
EuclideanTime semantically represents the rotated, imaginary-time axis as a real-valued scalar f64.
§Fields
id: Unique identifier for the time instancetime_scale: Time resolution or granularity (e.g.,Seconds,Milliseconds)time_unit: Scalar value of the time coordinate in the Euclidean regime
§Example
use deep_causality::{EuclideanTime, Identifiable, Temporal, TimeScale};
let tau = EuclideanTime::new(42, TimeScale::Second, std::f64::consts::PI);
assert_eq!(tau.id(), 42);
assert_eq!(tau.time_scale(), TimeScale::Second);§Use Cases
- Euclidean quantum mechanics or statistical field theory
- Simulations where real-time evolution is unstable
- Causal modeling systems extended to Wick-rotated or thermal domains
§Trait Compatibility
- Implements
Identifiableviaid - Implements
Temporal<f64>viatime_unit
§Important Note
The field time_unit contains a real-valued representation of imaginary time (τ),
which is conceptually distinct from Lorentzian coordinate time t.
Use this type only in contexts where analytic continuation or
positive-definite geometry is intended.
§See also
LorentzianTimefor real-time physical modelsProperTimefor observer-dependent clock timeSymbolicTimefor abstract, label-based event time
Implementations§
Trait Implementations§
Source§impl Adjustable<f64> for EuclideanTime
impl Adjustable<f64> for EuclideanTime
Source§fn update<const W: usize, const H: usize, const D: usize, const C: usize>(
&mut self,
array_grid: &ArrayGrid<f64, W, H, D, C>,
) -> Result<(), UpdateError>
fn update<const W: usize, const H: usize, const D: usize, const C: usize>( &mut self, array_grid: &ArrayGrid<f64, W, H, D, C>, ) -> Result<(), UpdateError>
Source§fn adjust<const W: usize, const H: usize, const D: usize, const C: usize>(
&mut self,
array_grid: &ArrayGrid<f64, W, H, D, C>,
) -> Result<(), AdjustmentError>
fn adjust<const W: usize, const H: usize, const D: usize, const C: usize>( &mut self, array_grid: &ArrayGrid<f64, W, H, D, C>, ) -> Result<(), AdjustmentError>
Source§impl Clone for EuclideanTime
impl Clone for EuclideanTime
Source§fn clone(&self) -> EuclideanTime
fn clone(&self) -> EuclideanTime
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more