# clifford.tools.g3¶

Tools for 3DGA (g3)

## 3DGA Tools¶

### Rotation Conversion Methods¶

 quaternion_to_rotor(quaternion) Converts a quaternion into a pure rotation rotor rotor_to_quaternion(rotor) Converts a pure rotation rotor into a quaternion quaternion_to_matrix(q) Converts a quaternion into a rotation matrix rotation_matrix_to_quaternion(a) Converts a rotation matrix into a quaternion

### Generation Methods¶

 random_unit_vector() Creates a random unit vector random_euc_mv([l_max]) Creates a random vector normally distributed with length l_max generate_rotation_rotor(theta, euc_vector_m, …) Generates a rotation of angle theta in the m, n plane random_rotation_rotor([max_angle]) Creates a random rotation rotor

### Misc¶

 angle_between_vectors(v1, v2) Returns the angle between two conformal vectors np_to_euc_mv(np_in) Converts a 3d numpy vector to a 3d GA point euc_mv_to_np(euc_point) Converts a 3d GA point to a 3d numpy vector euc_cross_prod(euc_a, euc_b) Implements the cross product in GA rotor_vector_to_vector(v1, v2) Creates a rotor that takes one vector into another correlation_matrix(u_list, v_list) Creates a correlation matrix between vector lists GA_SVD(u_list, v_list) Does SVD on a pair of GA vectors rotation_matrix_align_vecs(u_list, v_list) Returns the rotation matrix that aligns the set of vectors u and v rotor_align_vecs(u_list, v_list) Returns the rotation rotor that aligns the set of vectors u and v

s

Functions

 GA_SVD(u_list, v_list) Does SVD on a pair of GA vectors angle_between_vectors(v1, v2) Returns the angle between two conformal vectors correlation_matrix(u_list, v_list) Creates a correlation matrix between vector lists euc_cross_prod(euc_a, euc_b) Implements the cross product in GA euc_mv_to_np(euc_point) Converts a 3d GA point to a 3d numpy vector generate_rotation_rotor(theta, euc_vector_m, …) Generates a rotation of angle theta in the m, n plane np_to_euc_mv(np_in) Converts a 3d numpy vector to a 3d GA point quaternion_to_matrix(q) Converts a quaternion into a rotation matrix quaternion_to_rotor(quaternion) Converts a quaternion into a pure rotation rotor random_euc_mv([l_max]) Creates a random vector normally distributed with length l_max random_rotation_rotor([max_angle]) Creates a random rotation rotor random_unit_vector() Creates a random unit vector rotation_matrix_align_vecs(u_list, v_list) Returns the rotation matrix that aligns the set of vectors u and v rotation_matrix_to_quaternion(a) Converts a rotation matrix into a quaternion rotation_matrix_to_rotor(M) Converts a rotation matrix into a rotor rotor_align_vecs(u_list, v_list) Returns the rotation rotor that aligns the set of vectors u and v rotor_to_quaternion(rotor) Converts a pure rotation rotor into a quaternion rotor_to_rotation_matrix(R) Converts a pure rotation rotor into a rotation matrix rotor_vector_to_vector(v1, v2) Creates a rotor that takes one vector into another