30 Commits

Author SHA1 Message Date
Peter Hawkins
c3add0c750 Enable some tests that now pass.
Fix some dtypes in the lapack eig implementation to fix test failures.
2019-05-29 10:23:27 -04:00
Peter Hawkins
29b1a30eef Fix copy-and-paste comment. 2019-05-13 16:35:32 -04:00
Peter Hawkins
a96944eb53 Implement np.linalg.eig on CPU.
Fixes #639.
2019-05-13 15:59:58 -04:00
Peter Hawkins
76a26de421 Implement eigh batching.
Fixes #693.
2019-05-10 15:15:38 -04:00
Peter Hawkins
acaf76c606 Fix typo in lapack.pyx. 2019-05-08 21:26:18 -04:00
Peter Hawkins
582d654145 Fix typo in lapack.pyx.
Disable indexing test on GPU.
2019-05-08 21:21:29 -04:00
Peter Hawkins
367833bea2 Changes for compatibility with a upcoming Jaxlib update.
Shape.abstract_arrays will only accept dtypes, not scalar type objects.
Add long to the set of types known to abstract_arrays in Python 2.
Make api_test.py accepting of long values in shapes.
2019-05-08 20:32:24 -04:00
Peter Hawkins
e1d2de2821 Add support for batched LU decomposition.
Fixes #655.
2019-04-30 13:19:34 -04:00
Peter Hawkins
d6b6514dcc Move the logic for masking out the lower triangle of cholesky into Python.
A future change to XLA may give xla::Cholesky the LAPACK behavior across backends, so the masking, if we want it at all, needs to be applied to all backends.
2019-02-22 18:31:59 -05:00
Peter Hawkins
4ea3f2cd8c Add complex128 support to LAPACK bindings.
Update XLA to incorporate 7a283b835b .
2019-01-18 16:54:07 -05:00
vishwakftw
20332b2604 LAPACK 3.6 and below requires more workspace that the newer versions 2019-01-11 18:49:03 +05:30
vishwakftw
e21cb1a99f Add complex support for SVD 2019-01-10 23:13:56 +05:30
Peter Hawkins
9e91fb42cb Make LU JVP work for rectangular matrices.
Fix bug in BLAS TRSM kernel if left_side=False.
2019-01-09 15:52:34 -05:00
vishwakftw
170e5ab0a3 Minor nits 2019-01-08 23:20:16 +05:30
vishwakftw
c509d48b08 Address comments
- Fix acronym
- Include test for compute_uv=False
- Remove unnecessary imports
2019-01-08 21:48:15 +05:30
vishwakftw
ff6d110975 Added tests for SVD, and fixed some errors in computation 2019-01-08 15:51:30 +05:30
vishwakftw
e16f31e94f Merge branch 'master' of https://github.com/google/jax into svd 2019-01-08 09:30:05 +05:30
vishwakftw
954b047bea Address review comments 2019-01-08 09:24:48 +05:30
Peter Hawkins
7a114c8f6a Remove unused malloc/free imports. 2019-01-07 19:20:42 -05:00
Peter Hawkins
1c2cff15d2 Finish implementation of symmetric eigendecomposition on CPU:
* add test case.
* add double and complex64 implementations.

Also add logic to all linalg methods to both coerce arguments to arrays, and to promote to an inexact (float or complex) type if the argument is not inexact.
2019-01-07 19:20:42 -05:00
Peter Hawkins
d3348b9cdd Start work on an implementation of np.linalg.eigh. 2019-01-07 19:20:42 -05:00
vishwakftw
484db1e15f Add SVD for float and double types 2019-01-05 11:13:08 +05:30
Peter Hawkins
06135fa6f5 Implement numpy.linalg.solve and scipy.linalg.solve.
Make Cholesky and TriangularSolve work for complex numbers on CPU. The HLO implementations are broken for complex numbers on GPU/TPU, so no tests enabled for these yet.
2018-12-21 16:29:45 -05:00
Peter Hawkins
a4386457e2 Fix test failures due to type mismatches in linear algebra tests.
Minor code cleanups.
2018-12-21 15:18:34 -05:00
Peter Hawkins
b68c93d37f Implement np.linalg.slogdet.
Change implementation of np.linalg.logdet to call np.linalg.slogdet.

Add support for complex64 LU decomposition.
2018-12-20 22:18:20 -05:00
Peter Hawkins
dfdc2e3806 Add LU decomposition implementation backed by LAPACK on the CPU platform.
Implement np.linalg.det, and scipy.linalg.{lu,lu_factor,det}.

Add missing abstractification to loop arguments.
Implement XLA abstractification rules for AbstractTuple, ConcreteArray, and ShapedArray.
2018-12-20 18:45:34 -05:00
Peter Hawkins
eac96ac239 Fix bugs with bool argument passing; pass PRED values as int32s instead. 2018-12-17 17:17:47 -05:00
Peter Hawkins
0333a98bab Add triangular solve BLAS implementation. 2018-12-17 16:39:19 -05:00
Peter Hawkins
e630fda9ee Add missing copyright notice.
Remove unused BUILD load() statement.
2018-12-17 16:30:27 -05:00
Peter Hawkins
3c388b98f1 Add support for calling LAPACK primitives from SciPy from JAX linalg. 2018-12-17 16:30:27 -05:00