qsp-core¶
Foundational quaternionic and signal primitives shared across the QSP ecosystem.
What it is¶
qsp-core is the base layer of the QSP package family. It defines the core quaternion types, shared signal representations, and common utility functions used by every other QSP package.
Why it exists¶
Consistency across a multi-package ecosystem requires a shared foundation. Rather than each package defining its own quaternion type, qsp-core provides a single canonical implementation that all packages import. This makes outputs from one package directly usable as inputs to another.
Key responsibilities¶
- Quaternion type definitions and arithmetic operations
- Shared signal container types (e.g., quaternion-valued arrays)
- Utility functions for quaternion algebra (conjugate, norm, inverse, product)
- Rotation and interpolation primitives (SLERP, exponential map)
- Interoperability helpers for NumPy-compatible workflows
Typical users¶
- Developers building on top of QSP who need direct access to quaternion math
- Researchers implementing custom algorithms using QSP types
- Library authors extending the QSP ecosystem
Example use cases¶
- Constructing quaternion-valued signals for downstream processing
- Performing quaternion arithmetic in a custom algorithm
- Converting between rotation representations (quaternion, rotation matrix, Euler angles)
Relationship to other QSP packages¶
qsp-core is a dependency of every other QSP package. It is the only package in the ecosystem with no QSP dependencies of its own. When you install any other QSP package, qsp-core is installed automatically.
Status¶
qsp-core is the most stable package in the ecosystem. The primitive types and operations it defines are designed to remain stable across ecosystem versions. Future expansion may include additional algebraic structures and numeric precision options.