jax.lax.linalg.tridiagonal#
- jax.lax.linalg.tridiagonal(a, *, lower=True)[source]#
Reduces a symmetric/Hermitian matrix to tridiagonal form.
Currently implemented on CPU and GPU only.
- Parameters:
a (ArrayLike) – A floating point or complex matrix or batch of matrices.
lower (bool) – Describes which triangle of the input matrices to use. The other triangle is ignored and not accessed.
- Returns:
A
(a, d, e, taus)
tuple. Iflower=True
, the diagonal and first subdiagonal of matrix (or batch of matrices)a
contain the tridiagonal representation, and elements below the first subdiagonal contain the elementary Householder reflectors, where additionallyd
contains the diagonal of the matrix ande
contains the first subdiagonal. Iflower=False
the diagonal and first superdiagonal of the matrix contains the tridiagonal representation, and elements above the first superdiagonal contain the elementary Householder reflectors, where additionallyd
contains the diagonal of the matrix ande
contains the first superdiagonal.taus
contains the scalar factors of the elementary Householder reflectors.- Return type: