scipy.linalg.lapack.sstevd#

scipy.linalg.lapack.sstevd(d, e, compute_v=1, lwork=1 + 4 * n + n * n, liwork=3 + 5 * n, overwrite_d=0, overwrite_e=0) = <flapack function sstevd>#

Compute the eigenvalues and optionally the eigenvectors of a symmetric tridiagonal matrix by divide-and-conquer (LAPACK sstevd).

Parameters:
dndarray

Diagonal elements of the symmetric tridiagonal matrix, length n.

endarray

Off-diagonal elements, length max(n - 1, 1).

compute_vint, optional

If nonzero, eigenvectors are computed. Default is 1.

lworkint, optional

Size of the workspace. Default is 1 + 4 * n + n ** 2 when compute_v is nonzero and 1 otherwise, which are the exact requirements.

liworkint, optional

Size of the integer workspace. Default is 3 + 5 * n when compute_v is nonzero and 1 otherwise.

overwrite_dint, optional

If nonzero, d may be overwritten in place. Default is 0.

overwrite_eint, optional

If nonzero, e may be overwritten in place. Default is 0.

Returns:
valsndarray

Eigenvalues in ascending order, written over d.

zndarray

Orthonormal eigenvectors as columns, shape (n, n), or a (1, 1) placeholder when compute_v is 0.

infoint

0 on success; if negative, the -info-th argument had an illegal value; if positive, the algorithm failed to converge.