scipy.linalg.lapack.zhegvd#

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

Solve the generalized Hermitian-definite eigenproblem by divide-and-conquer (LAPACK zhegvd).

Parameters:
andarray

Hermitian 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 n * (n + 2) when jobz is 'V', n + 1 otherwise.

lrworkint, optional

Size of the real workspace, which the real flavors do not have. Default is 2 * n ** 2 + 5 * n + 1 when jobz is 'V', n 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.