Home > manopt > manifolds > specialeuclidean > specialeuclideanfactory.m

# specialeuclideanfactory

## PURPOSE

Returns a manifold structure to optimize over the special Euclidean group

## SYNOPSIS

function M = specialeuclideanfactory(n, k)

## DESCRIPTION

``` Returns a manifold structure to optimize over the special Euclidean group

function M = specialeuclideanfactory(n)
function M = specialeuclideanfactory(n, k)

The special Euclidean group (the manifold of rigid transformations):
This is a product manifold of the rotations group SO(n) and the
translation group R^n, copied k times.

Points on the manifold are represented as structures X with two fields.
X.R is a 3D array of size nxnxk such that each slice X.R(:, :, i)
corresponds to a rotation matrix (orthogonal with determinant 1).
X.t is a matrix of size nxk such that each column X.t(:, i) corresponds
to a translation vector.

Tangent vectors are represented as structures with the same fields. Note
that rotational components of the tangent vectors are represented in the
Lie algebra, i.e., each slice Xdot.R(:, :, i) is a skew-symmetric matrix.
Use M.tangent2ambient(X, Xdot) to obtain a representation in the ambient
space. This is often necessary when defining problem.ehess(X, Xdot).

This is a description of SE(n)^k with the induced metric from the
embedding space (R^nxn)^k x (R^n)^k, i.e., this manifold is a Riemannian
submanifold of the embedding Euclidean space with the usual inner
product.

By default, k = 1.

This is a test geometry: it may not be the "appropriate" geometry to give
to SE(n).

See rotationsfactory and euclideanfactory for details.

## CROSS-REFERENCE INFORMATION

This function calls:
• euclideanfactory Returns a manifold struct to optimize over m-by-n matrices.
• rotationsfactory Returns a manifold structure to optimize over rotation matrices.
• productmanifold Returns a structure describing a product manifold M = M1 x M2 x ... x Mn.
This function is called by:

## SOURCE CODE

```0001 function M = specialeuclideanfactory(n, k)
0002 % Returns a manifold structure to optimize over the special Euclidean group
0003 %
0004 % function M = specialeuclideanfactory(n)
0005 % function M = specialeuclideanfactory(n, k)
0006 %
0007 % The special Euclidean group (the manifold of rigid transformations):
0008 % This is a product manifold of the rotations group SO(n) and the
0009 % translation group R^n, copied k times.
0010 %
0011 % Points on the manifold are represented as structures X with two fields.
0012 % X.R is a 3D array of size nxnxk such that each slice X.R(:, :, i)
0013 % corresponds to a rotation matrix (orthogonal with determinant 1).
0014 % X.t is a matrix of size nxk such that each column X.t(:, i) corresponds
0015 % to a translation vector.
0016 %
0017 % Tangent vectors are represented as structures with the same fields. Note
0018 % that rotational components of the tangent vectors are represented in the
0019 % Lie algebra, i.e., each slice Xdot.R(:, :, i) is a skew-symmetric matrix.
0020 % Use M.tangent2ambient(X, Xdot) to obtain a representation in the ambient
0021 % space. This is often necessary when defining problem.ehess(X, Xdot).
0022 %
0023 % This is a description of SE(n)^k with the induced metric from the
0024 % embedding space (R^nxn)^k x (R^n)^k, i.e., this manifold is a Riemannian
0025 % submanifold of the embedding Euclidean space with the usual inner
0026 % product.
0027 %
0028 % By default, k = 1.
0029 %
0030 % This is a test geometry: it may not be the "appropriate" geometry to give
0031 % to SE(n).
0032 %
0033 % See rotationsfactory and euclideanfactory for details.
0034 %
0036
0037 % This file is part of Manopt: www.manopt.org.
0038 % Original author: Nicolas Boumal, Sep. 23, 2014.
0039 % Contributors:
0040 % Change log:
0041
0042
0043     if ~exist('k', 'var') || isempty(k)
0044         k = 1;
0045     end
0046
0047     elements = struct();
0048     elements.R = rotationsfactory(n, k);
0049     elements.t = euclideanfactory(n, k);
0050
0051     M = productmanifold(elements);
0052
0053 end```

Generated on Sat 12-Nov-2016 14:11:22 by m2html © 2005