SpecialOrthogonalVectors | R Documentation |
Class for the special orthogonal groups
\mathrm{SO}(\{2,3\}) in vector form, i.e. the Lie groups of planar
and 3D rotations. This class is specific to the vector representation of
rotations. For the matrix representation, use the SpecialOrthogonal
class and set n = 2
or n = 3
.
rgeomstats::PythonClass
-> rgeomstats::Manifold
-> rgeomstats::LieGroup
-> SpecialOrthogonalVectors
n
An integer value specifying the number of rows and columns of the matrices.
epsilon
A numeric value specifying the precision to use for calculations involving potential divison by 0 in rotations.
rgeomstats::PythonClass$get_python_class()
rgeomstats::PythonClass$set_python_class()
rgeomstats::Manifold$belongs()
rgeomstats::Manifold$is_tangent()
rgeomstats::Manifold$random_point()
rgeomstats::Manifold$random_tangent_vec()
rgeomstats::Manifold$regularize()
rgeomstats::Manifold$set_metric()
rgeomstats::Manifold$to_tangent()
rgeomstats::LieGroup$add_metric()
rgeomstats::LieGroup$compose()
rgeomstats::LieGroup$exp()
rgeomstats::LieGroup$exp_from_identity()
rgeomstats::LieGroup$exp_not_from_identity()
rgeomstats::LieGroup$get_identity()
rgeomstats::LieGroup$inverse()
rgeomstats::LieGroup$jacobian_translation()
rgeomstats::LieGroup$lie_bracket()
rgeomstats::LieGroup$log()
rgeomstats::LieGroup$log_from_identity()
rgeomstats::LieGroup$log_not_from_identity()
rgeomstats::LieGroup$tangent_translation_map()
new()
The SpecialOrthogonalVectors
class constructor.
SpecialOrthogonalVectors$new(n, epsilon = 0, py_cls = NULL)
n
An integer value specifying the number of rows and columns of the matrices.
epsilon
A numeric value specifying the precision to use for
calculations involving potential divison by 0 in rotations. Defaults to
0
.
py_cls
A Python object of class SpecialOrthogonalVectors
.
Defaults to NULL
in which case it is instantiated on the fly using
the other input arguments.
An object of class SpecialOrthogonalVectors
.
projection()
Projects a matrix on \mathrm{SO}(2) or \mathrm{SO}(3) using the Frobenius norm.
SpecialOrthogonalVectors$projection(point)
point
A numeric array of shape [… \times n \times n] specifying one or more matrices to be projected.
A numeric array of the same shape as the input point storing the projected matrices.
if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$projection(diag(1, 2)) }
skew_matrix_from_vector()
Gets the skew-symmetric matrix derived from the vector. In
3D, computes the skew-symmetric matrix, known as the cross-product of a
vector, associated to the vector vec
.
SpecialOrthogonalVectors$skew_matrix_from_vector(vec)
vec
A numeric array of shape [… \times \mathrm{dim}] specifying one or more vectors from which to compute corresponding skew matrix representations.
A numeric array of shape [… \times n \times n] storing the corresponding skew matrix representations.
if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$skew_matrix_from_vector(array(0)) }
vector_from_skew_matrix()
Derives a vector from the skew-symmetric matrix. In 3D, computes the vector defining the cross-product associated to a skew-symmetric matrix.
SpecialOrthogonalVectors$vector_from_skew_matrix(skew_mat)
skew_mat
A numeric array of shape [… \times n \times n] specifying skew matrices.
A numeric array of shape [… \times \mathrm{dim}] storing the corresponding vector representations.
if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$vector_from_skew_matrix(diag(0, 2)) }
regularize_tangent_vec_at_identity()
Regularizes a tangent vector at the identity. In 2D, regularizes a tangent vector by getting its norm at the identity to be less than π.
SpecialOrthogonalVectors$regularize_tangent_vec_at_identity( tangent_vec, metric = NULL )
tangent_vec
A numeric array of shape [… \times 1] specifying one or more tangent vectors at base point.
metric
An object of class RiemannianMetric
specifying the
metric to compute the norm of the tangent vector or NULL
. If it is
set to NULL
, it defaults to using the Euclidean metric.
A numeric array of shape [… \times 1] storing the regularized tangent vector(s).
if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$regularize_tangent_vec_at_identity(array(0)) }
regularize_tangent_vec()
Regularizes a tangent vector at a base point. In 2D, regularizes a tangent vector by getting the norm of its parallel transport to the identity, determined by the metric, to be less than π.
SpecialOrthogonalVectors$regularize_tangent_vec( tangent_vec, base_point, metric = NULL )
tangent_vec
A numeric array of shape [… \times 1] specifying one or more tangent vectors at corresponding base points.
base_point
A numeric array of shape [… \times 1] specifying one or more points on the manifold.
metric
An object of class RiemannianMetric
specifying the
metric to compute the norm of the tangent vector or NULL
. If it is
set to NULL
, it defaults to using the Euclidean metric.
A numeric array of shape [… \times 1] storing the regularized tangent vector(s).
if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$regularize_tangent_vec(array(0), array(1)) }
clone()
The objects of this class are cloneable with this method.
SpecialOrthogonalVectors$clone(deep = FALSE)
deep
Whether to make a deep clone.
Nicolas Guigui and Nina Miolane
## ------------------------------------------------ ## Method `SpecialOrthogonalVectors$projection` ## ------------------------------------------------ if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$projection(diag(1, 2)) } ## ------------------------------------------------ ## Method `SpecialOrthogonalVectors$skew_matrix_from_vector` ## ------------------------------------------------ if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$skew_matrix_from_vector(array(0)) } ## ------------------------------------------------ ## Method `SpecialOrthogonalVectors$vector_from_skew_matrix` ## ------------------------------------------------ if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$vector_from_skew_matrix(diag(0, 2)) } ## ------------------------------------------------ ## Method `SpecialOrthogonalVectors$regularize_tangent_vec_at_identity` ## ------------------------------------------------ if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$regularize_tangent_vec_at_identity(array(0)) } ## ------------------------------------------------ ## Method `SpecialOrthogonalVectors$regularize_tangent_vec` ## ------------------------------------------------ if (reticulate::py_module_available("geomstats")) { so2 <- SpecialOrthogonal(n = 2, point_type = "vector") so2$regularize_tangent_vec(array(0), array(1)) }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.