lineax  by patrick-kidger

JAX library for linear solves and least squares

Created 2 years ago
472 stars

Top 64.7% on SourcePulse

GitHubView on GitHub
Project Summary

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

Highlighted Details

  • Solves $Ax=b$ and linear least squares problems.
  • Supports PyTree-valued matrices and vectors.
  • Integrates with JAX for autodiff, autoparallelism, and hardware acceleration.
  • Offers efficient QR solvers and stable gradients for least squares.
  • Includes support for structured matrices and complex numbers.

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.

Health Check
Last Commit

3 weeks ago

Responsiveness

1 day

Pull Requests (30d)
1
Issues (30d)
3
Star History
7 stars in the last 30 days

Explore Similar Projects

Starred by Roy Frostig Roy Frostig(Coauthor of JAX; Research Scientist at Google DeepMind), Patrick von Platen Patrick von Platen(Author of Hugging Face Diffusers; Research Engineer at Mistral), and
2 more.

diffrax by patrick-kidger

0.3%
2k
JAX library for numerical differential equation solvers
Created 4 years ago
Updated 6 days ago
Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Pawel Garbacki Pawel Garbacki(Cofounder of Fireworks AI), and
6 more.

tianshou by thu-ml

0.2%
9k
PyTorch RL library for algorithm development and application
Created 7 years ago
Updated 1 week ago
Feedback? Help us improve.