Skip to content

Representing rotations¤

The engine for handling rotations in cryoJAX is the cryojax.rotations.SO3 class. This is based on the implementation in the package jaxlie.

cryojax.rotations.SO3 ¤

A rotation in 3D space, represented by the SO3 matrix lie group.

The class is almost exactly derived from the jaxlie.SO3 object.

jaxlie was written for Yi, Brent, et al. 2021.

__init__(wxyz: Float[Array, '4'] | Float[ndarray, '4']) ¤

Arguments:

  • wxyz: A quaternion represented as \((q_w, q_x, q_y, q_z)\).
apply(target: Float[Array, '3']) -> Float[Array, '3'] ¤
compose(other: typing.Self) -> typing.Self ¤
inverse() -> typing.Self ¤
from_x_radians(angle: Float[Array, '']) -> typing.Self classmethod ¤

Generates a x-axis rotation.

from_y_radians(angle: Float[Array, '']) -> typing.Self classmethod ¤

Generates a x-axis rotation.

from_z_radians(angle: Float[Array, '']) -> typing.Self classmethod ¤

Generates a x-axis rotation.

identity() -> typing.Self classmethod ¤
from_matrix(matrix: Float[Array, '3 3']) -> typing.Self classmethod ¤
as_matrix() -> Float[Array, '3 3'] ¤
exp(tangent: Float[Array, '3']) -> typing.Self classmethod ¤
log() -> Float[Array, '3'] ¤
adjoint() -> Float[Array, '3 3'] ¤

Computes the adjoint, which transforms tangent vectors between tangent spaces.

normalize() -> typing.Self ¤
sample_uniform(key: PRNGKeyArray) -> typing.Self classmethod ¤