Learn R Programming

rotations (version 1.5)

project.SO3: Projection into SO(3)

Description

Project an arbitrary $3-by-3$ matrix into $SO(3)$.

Usage

project.SO3(M)

Arguments

M
$3-by-3$ matrix to project into $SO(3)$.

Value

Projection of $M$ into $SO(3)$.

Details

This function uses the process detailed in Section 3.1 of Moakher (2002) to project an arbitrary $3-by-3$ matrix into $SO(3)$. More specifically it finds the closest orthogonal 3-by-3 matrix with determinant one to the provided matrix.

References

Moakher M (2002). "Means and averaging in the group of rotations." SIAM Journal on Matrix Analysis and Applications, 24(1), pp. 1-16.

See Also

mean.SO3, median.SO3

Examples

Run this code
#Project an arbitrary 3x3 matrix into SO(3)
M<-matrix(rnorm(9), 3, 3)
project.SO3(M)

#Project a sample arithmetic mean into SO(3), same as 'mean'
Rs <- ruars(20, rcayley)
Rbar <- colSums(Rs)/nrow(Rs)
project.SO3(Rbar)              #The following is equivalent
mean(Rs)

Run the code above in your browser using DataLab