pub struct HolonomyComputer {
pub christoffel: [[[f64; 2]; 2]; 2],
}Expand description
Approximate holonomy by integrating parallel transport around a small loop.
Uses the formula: Hol(γ) ≈ exp(-∫∫D R^{1}{2 12} du dv) for a 2D manifold with Gaussian curvature K.
Fields§
§christoffel: [[[f64; 2]; 2]; 2]Christoffel symbols Γ[k][i][j] at the base point
Implementations§
Source§impl HolonomyComputer
impl HolonomyComputer
pub fn new(christoffel: [[[f64; 2]; 2]; 2]) -> Self
Sourcepub fn parallel_transport_step(&self, v: &[f64; 2], dx: &[f64; 2]) -> [f64; 2]
pub fn parallel_transport_step(&self, v: &[f64; 2], dx: &[f64; 2]) -> [f64; 2]
Parallel transport a 2D vector v along the direction (du, dv) for a small step.
dv^k = -Γ^k_{ij} v^i dx^j
Sourcepub fn holonomy_angle_square_loop(&self, eps: f64) -> f64
pub fn holonomy_angle_square_loop(&self, eps: f64) -> f64
Approximate holonomy angle around a small square loop of size ε.
Returns the rotation angle φ such that Hol ≈ R(φ). Uses: φ ≈ R^{1}_{2 12} · ε² (area law).
Auto Trait Implementations§
impl Freeze for HolonomyComputer
impl RefUnwindSafe for HolonomyComputer
impl Send for HolonomyComputer
impl Sync for HolonomyComputer
impl Unpin for HolonomyComputer
impl UnsafeUnpin for HolonomyComputer
impl UnwindSafe for HolonomyComputer
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more