pub struct Euclidean;Expand description
Euclidean manifold - the simplest case where no projection is needed
Trait Implementations§
Source§impl<B: Backend> Manifold<B> for Euclidean
impl<B: Backend> Manifold<B> for Euclidean
fn new() -> Self
fn name() -> &'static str
fn project<const D: usize>( _point: Tensor<B, D>, vector: Tensor<B, D>, ) -> Tensor<B, D>
fn retract<const D: usize>( point: Tensor<B, D>, direction: Tensor<B, D>, ) -> Tensor<B, D>
Source§fn inner<const D: usize>(
_point: Tensor<B, D>,
u: Tensor<B, D>,
v: Tensor<B, D>,
) -> Tensor<B, D>
fn inner<const D: usize>( _point: Tensor<B, D>, u: Tensor<B, D>, v: Tensor<B, D>, ) -> Tensor<B, D>
Riemannian inner product at a given point
Source§fn is_in_manifold<const D: usize>(_point: Tensor<B, D>) -> bool
fn is_in_manifold<const D: usize>(_point: Tensor<B, D>) -> bool
Check if a point is in the manifold.
By default, this is not implemented and returns
false.Source§fn egrad2rgrad<const D: usize>(
point: Tensor<B, D>,
grad: Tensor<B, D>,
) -> Tensor<B, D>
fn egrad2rgrad<const D: usize>( point: Tensor<B, D>, grad: Tensor<B, D>, ) -> Tensor<B, D>
Convert Euclidean gradient to Riemannian gradient
Source§fn expmap<const D: usize>(
point: Tensor<B, D>,
direction: Tensor<B, D>,
) -> Tensor<B, D>
fn expmap<const D: usize>( point: Tensor<B, D>, direction: Tensor<B, D>, ) -> Tensor<B, D>
Exponential map: move from point along tangent vector u with step size
Source§fn parallel_transport<const D: usize>(
_point1: Tensor<B, D>,
point2: Tensor<B, D>,
tangent: Tensor<B, D>,
) -> Tensor<B, D>
fn parallel_transport<const D: usize>( _point1: Tensor<B, D>, point2: Tensor<B, D>, tangent: Tensor<B, D>, ) -> Tensor<B, D>
Parallel transport of tangent vector from point1 to point2
Auto Trait Implementations§
impl Freeze for Euclidean
impl RefUnwindSafe for Euclidean
impl Send for Euclidean
impl Sync for Euclidean
impl Unpin for Euclidean
impl UnwindSafe for Euclidean
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more