Metadata-Version: 2.4
Name: unxts.linalg
Version: 2.0.0
Summary: Heterogeneous-unit matrices and vectors for unxt (canonical: unxts.linalg)
Project-URL: Bug Tracker, https://github.com/GalacticDynamics/unxt/issues
Project-URL: Homepage, https://github.com/GalacticDynamics/unxt
Author-email: GalacticDynamics <nstarman@users.noreply.github.com>, Nathaniel Starkman <nstarman@users.noreply.github.com>
License: BSD-3-Clause
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: equinox>=0.11.8
Requires-Dist: jaxtyping>=0.2.34
Requires-Dist: plum-dispatch>=2.5.7
Requires-Dist: quax>=0.2.0
Requires-Dist: unxt
Description-Content-Type: text/markdown

# unxts.linalg

Heterogeneous-unit matrices and vectors for [unxt](https://github.com/GalacticDynamics/unxt).

This is the canonical package (`unxts.linalg`). It provides `QuantityMatrix` (alias `QM`): a quantity container whose elements may each carry a different unit, together with a static `UnitsMatrix` unit structure and unit-aware linear-algebra primitives (`det`, `inv`, the `matmul`/`matvec`/`vecmat`/`vecdot` products, and Quax-registered add/sub, mul/div, matmul, transpose, diag, and reduce-sum rules).

## Install

```bash
pip install unxts.linalg
```

## Usage

```python
import jax.numpy as jnp
import unxts.linalg as ul

qv = ul.QuantityMatrix(jnp.array([1.0, 2.0, 3.0]), unit=("m", "s", "kg"))
```
