jax.lax.linalg.schur#

jax.lax.linalg.schur(x, *, compute_schur_vectors=True, sort_eig_vals=False, select_callable=None)[source]#

Schur decomposition.

Only implemented on CPU.

Computes the Schur decomposition:

\[A = Q \, U \, Q^{-H}\]

for a square matrix \(A\).

Parameters:
  • x (ArrayLike) – A batch of square matrices with shape [..., m, m].

  • compute_schur_vectors (bool) – If True, compute the Schur vectors :\(Q\), otherwise only \(U\) is computed.

  • sort_eig_vals (bool) – Unused.

  • select_callable (Callable[..., Any] | None | None) – Unused.

Returns:

A pair of arrays U, Q, if compute_schur_vectors=True, otherwise only U is returned.

Return type:

tuple[Array, Array]