FastQuat - High-Performance Quaternions with JAX

PyPI version Python versions Tests

FastQuat provides optimized quaternion operations with full JAX compatibility, featuring:

🚀 Hardware-accelerated computations (CPU/GPU/TPU)

🔄 Automatic differentiation support

🧩 Seamless integration with JAX transformations (jit, grad, vmap)

📦 Efficient storage using interleaved memory layout

🌐 SLERP interpolation for smooth rotation animations

Quick Start

from fastquat import Quaternion

# Create quaternions
q1 = Quaternion(1.0)  # Identity quaternion
q2 = Quaternion(0.7071, 0.7071, 0.0, 0.0)  # 90° rotation around x-axis

Quaternion Operations

Operation

Syntax

Description

Addition

q1 + q2

Component-wise addition

Subtraction

q1 - q2

Component-wise subtraction

Multiplication

q1 * q2

Hamilton product

Exponentiation

q ** p

Quaternion power

Inverse

1 / q

Multiplicative inverse

Norm

abs(q)

Quaternion magnitude

Normalization

q.normalize()

Unit quaternion

Conjugate

q.conj()

Quaternion conjugate

Rotation

q.rotate_vector(v)

Rotate 3D vector

SLERP

q1.slerp(q2, t)

Spherical interpolation

Log

q.log()

Quaternion logarithm

Exp

q.exp()

Quaternion exponential

Development

Indices and tables