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.