JAX library for linear solves and least squares
Top 66.7% on sourcepulse
Lineax is a JAX library designed to solve linear systems ($Ax=b$) and linear least squares problems, even for ill-posed or rectangular matrices. It targets JAX and Equinox users, offering PyTree-valued matrices, general linear operators, and numerically stable gradients for advanced scientific computing and machine learning tasks.
How It Works
Lineax leverages JAX's capabilities for automatic differentiation, parallelization, and hardware acceleration (GPU/TPU). It supports general linear operators, allowing users to represent matrices implicitly through functions like Jacobians or transposes, avoiding explicit materialization. This approach enhances compilation and runtime efficiency, particularly for structured or large-scale problems, while providing robust support for real and complex-valued inputs.
Quick Start & Requirements
pip install lineax
Highlighted Details
Maintenance & Community
The project is primarily developed by Patrick Kidger, with contributions from Jason Rader and Terry Lyons. It is part of a broader JAX ecosystem, with related libraries like Equinox, Diffrax, and Optimistix.
Licensing & Compatibility
The library is available under an unspecified license. Compatibility for commercial use or closed-source linking would require clarification of the license terms.
Limitations & Caveats
The specific license is not detailed in the README, which may impact commercial adoption. The library is presented as a tool for JAX and Equinox users, implying a dependency on these ecosystems.
1 week ago
1 day