Constructs a metric object that contains the necessary functions for Riemannian operations.

metric(log, exp, vec, unvec)

Arguments

log

A function representing the Riemannian logarithmic map. This function should accept a dppMatrix (the reference point) and another dppMatrix (the matrix whose logarithm is to be computed), and it outputs a dspMatrix (the tangent image).

exp

A function representing the Riemannian exponential map. This function should accept a dppMatrix (the reference point) and a dspMatrix (the matrix whose exponential is to be computed) and return a dppMatrix (the image on the manifold).

vec

A function representing the vectorization operation for tangent spaces. This function should accept a dppMatrix (the reference point) and a dspMatrix (the tangent image) and return a vector (the vectorized image).

unvec

A function representing the inverse of the vectorization operation. This function should accept a dppMatrix (the reference point) and a vector (the vectorized image), and it returns a dspMatrix (the tangent image).

Value

An object of class rmetric containing the specified functions.