scipy.linalg.lapack.dsygvd#

scipy.linalg.lapack.dsygvd(a, b, itype=1, jobz='V', uplo='L', lwork=..., liwork=..., overwrite_a=0, overwrite_b=0) = <flapack function dsygvd>#

Solve the generalized symmetric-definite eigenproblem by divide-and-conquer (LAPACK dsygvd).

Parameters:
andarray

Symmetric matrix of shape (n, n).

bndarray

Positive definite matrix of shape (n, n).

itypeint, optional

Which generalized problem to solve: 1 for a @ x = w * b @ x, 2 for a @ b @ x = w * x, 3 for b @ a @ x = w * x. Default is 1.

jobzstr, optional

'V' to compute eigenvectors, 'N' for eigenvalues only. Default is 'V'. This family spells it as a letter where syev uses compute_v.

uplostr, optional

'U' or 'L' for the triangle of a to reference. Default is 'L' – note that is the opposite of the lower=0 default elsewhere in this group, so the same matrix can give different answers between families.

lworkint, optional

Default is 1 + 6 * n + 2 * n ** 2 when jobz is 'V', 2 * n + 1 otherwise.

liworkint, optional

Default is 5 * n + 3 when jobz is 'V', 1 otherwise.

overwrite_aint, optional

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

overwrite_bint, optional

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

Returns:
wndarray

Eigenvalues in ascending order, length n. Real for every flavor.

vndarray

Eigenvectors as columns when jobz is 'V'.

infoint

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