lineax
lineax copied to clipboard
Linear solvers in JAX and Equinox. https://docs.kidger.site/lineax
Following the discussion in #80 I thought it would be good to lay out some ideas for a general block matrix/operator abstraction. Some useful types of block operators: - Block...
Added tests for #101. Requires https://github.com/patrick-kidger/equinox/pull/795 (so these tests will fail right now)
In issue #3 , a solver based on Woodbury matrix identity was given as a new solver feature for lineax. Here I have made a first attempt at implementing it....
When solving against matrices of the form $A + \lambda I$ with $\lambda$ set to the max dtype value, QR solves return `nan` instead of zero. This does not occur...
I'm getting a confusing error when trying to create a `JacobianLinearOperator`. - `lx.JacobianLinearOperator(f, x0)` causes `TypeError: f() takes 1 positional argument but 2 were given`, - `lx.JacobianLinearOperator(f)` causes `TypeError: JacobianLinearOperator.__init__()...
When using `AutoLinearOperator` with `well_posed=True` and no tags specifying some structure, the LU solver is used. LU wraps the `jax.scipy` implementation and raises an error if the output has `NaN`...
The gradient of the solution of a linear system solved iteratively w.r.t. to the initial guess should be zero. Instead, the following snippet ```python import lineax as lx from jax...