Skip to contents

Class for special orthogonal groups in matrix representation.

See also

Author

Nicolas Guigui and Nina Miolane

Super classes

rgeomstats::PythonClass -> rgeomstats::Manifold -> rgeomstats::MatrixLieGroup -> SpecialOrthogonalMatrices

Public fields

bi_invariant_metric

An object of class BiInvariantMetric specifying the metric to equip the manifold with.

Methods

Inherited methods


Method new()

The SpecialOrthogonalMatrices class constructor.

Usage

SpecialOrthogonalMatrices$new(n, ..., py_cls = NULL)

Arguments

n

An integer value specifying the number of rows and columns of the matrices.

...

Extra arguments to be passed to parent class constructors. See MatrixLieAlgebra, LevelSet and Manifold classes.

py_cls

A Python object of class SpecialOrthogonalMatrices. Defaults to NULL in which case it is instantiated on the fly using the other input arguments.

Returns

An object of class SpecialOrthogonalMatrices.


Method belongs()

Evaluates if a point belongs to the manifold.

Usage

SpecialOrthogonalMatrices$belongs(point, atol = gs$backend$atol)

Arguments

point

A numeric array of shape \([\dots \times \{\mathrm{dim}\}]\) specifying one or more points to be checked.

atol

A numeric value specifying the absolute tolerance for checking. Defaults to gs$backend$atol.

Returns

A boolean value or vector storing whether the input points belong to the manifold.

Examples

if (reticulate::py_module_available("geomstats")) {
  so3 <- SpecialOrthogonal(n = 3)
  so3$belongs(diag(1, 3))
}


Method intrinsic_to_extrinsic_coords()

Converts from intrinsic to extrinsic coordinates.

Usage

SpecialOrthogonalMatrices$intrinsic_to_extrinsic_coords(point_intrinsic)

Arguments

point_intrinsic

A numeric array of shape \([\dots \times \{ \mathrm{dim} \}]\) specifying one or more points on the embedded manifold in intrinsic coordinates.

Returns

A numeric array of shape \([\dots \times \{ \mathrm{dim_embedding} \}]\) storing the same points on the embedded manifold in extrinsic coordinates.


Method extrinsic_to_intrinsic_coords()

Converts from extrinsic to intrinsic coordinates.

Usage

SpecialOrthogonalMatrices$extrinsic_to_intrinsic_coords(point_extrinsic)

Arguments

point_extrinsic

A numeric array of shape \([\dots \times \{ \mathrm{dim_embedding} \}]\) specifying one or more points on the embedded manifold in extrinsic coordinates.

Returns

A numeric array of shape \([\dots \times \{ \mathrm{dim} \}]\) storing the same points on the embedded manifold in intrinsic coordinates.


Method projection()

Project a matrix on \(\mathrm{SO}(n)\) by minimizing the Frobenius norm.

Usage

SpecialOrthogonalMatrices$projection(point)

Arguments

point

A numeric array of shape \([\dots \times n \times n]\) specifying one or more matrices.

Returns

A numeric array of the same shape storing the projected matrices.

Examples

if (reticulate::py_module_available("geomstats")) {
  so3 <- SpecialOrthogonal(3)
  so3$projection(diag(1, 3))
}


Method clone()

The objects of this class are cloneable with this method.

Usage

SpecialOrthogonalMatrices$clone(deep = FALSE)

Arguments

deep

Whether to make a deep clone.

Examples


## ------------------------------------------------
## Method `SpecialOrthogonalMatrices$belongs`
## ------------------------------------------------

if (reticulate::py_module_available("geomstats")) {
  so3 <- SpecialOrthogonal(n = 3)
  so3$belongs(diag(1, 3))
}

## ------------------------------------------------
## Method `SpecialOrthogonalMatrices$projection`
## ------------------------------------------------

if (reticulate::py_module_available("geomstats")) {
  so3 <- SpecialOrthogonal(3)
  so3$projection(diag(1, 3))
}