mfGeometry: R6 Class implementing manifold geometries

mfGeometryR Documentation

R6 Class implementing manifold geometries

Description

R6 Class implementing manifold geometries

R6 Class implementing manifold geometries

Details

An abstract mfGeometry class implementing a set of methods, including e.g. Exp- and Log-mappings, that are needed to define mfboost families in a concise and modular way. The arguments of the methods are vectors, matrices or arrays possibly holding additional attributes. Besides these methods, objects of class mfGeometry offer an active slot for the 'pole' which serves as prototype for elements of the manifold. Children of this class specify the geometry of interest, such as mfGeomEuclidean, mfGeomSphere, mfGeomPlanarShape, and mfGeomPlanarSizeShape.

Active bindings

y_

slot for a data object in the internal format

pole_

slot for a data object in the internal format

weights_

slot for inner product weights in the internal format

Methods

Public methods


Method structure()

structure a vector containing the elements of the response y in long format in the internal format of the geometry.

Usage
mfGeometry$structure(y)
Arguments
y

a numeric vector containing the elements of an object y in long format


Method unstructure()

inverse operation of structure.

Usage
mfGeometry$unstructure(y_)
Arguments
y_

an object in the internal format of the geometry


Method unstructure_weights()

convert internal inner product weights to a weight vector matching the un-structered response y in long format.

Usage
mfGeometry$unstructure_weights(weights_)
Arguments
weights_

inner product weights in the internal format


Method align()

a function aligning y_ to y0_ primarly intended for quotient geometries.

Usage
mfGeometry$align(y_, y0_ = private$.pole_)
Arguments
y_

an object in the internal format of the geometry

y0_

an object in the internal format of the geometry


Method register()

a function registering y_ to a proper subset, say to a subspace or an embedded submanifold.

Usage
mfGeometry$register(y_)
Arguments
y_

an object in the internal format of the geometry


Method distance()

computes the distance or a vector of distances between objects.

Usage
mfGeometry$distance(y0_, y1_, ...)
Arguments
y0_

an object in the internal format of the geometry

y1_

an object in the internal format of the geometry

...

other arguments.


Method exp()

the Riemannian Exp map mapping a tangent vector v_ at y_ to the manifold.

Usage
mfGeometry$exp(v_, y0_ = private$.pole_, ...)
Arguments
v_

an object repesenting a tangent vector (internal format)

y0_

an object in the internal format of the geometry

...

other arguments.


Method log()

the inverse of the Riemannian Exp map.

Usage
mfGeometry$log(y_, y0_ = private$.pole_, ...)
Arguments
y_

an object in the internal format of the geometry

y0_

an object in the internal format of the geometry

...

other arguments.


Method transport()

parallel transport of a tangent vector v0_ at y0_ to the tangent space at y1_.

Usage
mfGeometry$transport(v0_, y0_, y1_, ...)
Arguments
v0_

an object repesenting a tangent vector (internal format)

y0_

an object in the internal format of the geometry

y1_

an object in the internal format of the geometry

...

other arguments.


Method innerprod()

computes the inner product or a vector of inner products between objects.

Usage
mfGeometry$innerprod(v0_, v1_ = v0_, ...)
Arguments
v0_

an object repesenting a tangent vector (internal format)

v1_

an object repesenting a tangent vector (internal format)

...

other arguments.


Method get_normal()

returns the normal vector (in unstructured format) to the tangent space at a point y0_ considered as a linear subspace.

Usage
mfGeometry$get_normal(y0_ = private$.pole_, ...)
Arguments
y0_

an object in the internal format of the geometry

...

other arguments.


Method validate()

function for validating structure of internal object y_.

Usage
mfGeometry$validate(y_, ...)
Arguments
y_

an object in the internal format of the geometry

...

other arguments.


Method clone()

The objects of this class are cloneable with this method.

Usage
mfGeometry$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.


Almond-S/manifoldboost documentation built on June 23, 2022, 11:06 a.m.