jax.scipy.linalg.schur#

jax.scipy.linalg.schur(a, output='real')[source]#

Compute Schur decomposition of a matrix.

LAX-backend implementation of scipy.linalg._decomp_schur.schur().

Original docstring below.

The Schur decomposition is:

A = Z T Z^H

where Z is unitary and T is either upper-triangular, or for real Schur decomposition (output=’real’), quasi-upper triangular. In the quasi-triangular form, 2x2 blocks describing complex-valued eigenvalue pairs may extrude from the diagonal.

Parameters:
  • a ((M, M) array_like) – Matrix to decompose

  • output ({'real', 'complex'}, optional) – Construct the real or complex Schur decomposition (for real matrices).

Return type:

Tuple[Array, Array]

Returns:

  • T ((M, M) ndarray) – Schur form of A. It is real-valued for the real Schur decomposition.

  • Z ((M, M) ndarray) – An unitary Schur transformation matrix for A. It is real-valued for the real Schur decomposition.

  • sdim (int) – If and only if sorting was requested, a third return value will contain the number of eigenvalues satisfying the sort condition.