orthogonal function

Orthogonal matrix equivalents

Orthogonal matrix equivalents

Convert a quaternion to and from an equivalent orthogonal matrix

matrix2quaternion(M) as.orthogonal(Q)

Arguments

  • M: A three-by-three orthogonal matrix
  • Q: A vector of quaternions

Returns

Function matrix2quaternion() returns a quaternion.

Function as.orthogonal() returns either a 333*3

matrix or a 33n3*3*n array of orthogonal matrices

Note

Function matrix2quaternion() is low-level; use as.quaternion() to convert arrays.

Author(s)

Robin K. S. Hankin

See Also

rotate

Examples

as.orthogonal(rquat(1)) o <- function(w){diag(3)-2*outer(w,w)/sum(w^2)} # Householder matrix2quaternion(o(1:3)) # Booorrrriiinnnggg matrix2quaternion(o(1:3) %*% o(3:1)) Q <- rquat(7) Q <- Q/abs(Q) as.quaternion(as.orthogonal(Q)) # +/- Q A <- replicate(7,o(rnorm(3)) %*% o(rnorm(3))) max(abs(as.orthogonal(as.quaternion(A))-A))
  • Maintainer: Robin K. S. Hankin
  • License: GPL-2
  • Last published: 2024-03-29