DSPGVD(3)
π DSPGVD(3) β Library Functions Manual π
Okay bestie, welcome to the DSPGVD(3) page. This is the Library Functions Manual entry for /home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dspgvd.f, and we're keeping all the nerdy details exactly where they belong. π
πΈ NAME πΈ
/home/abuild/rpmbuild/BUILD/lapack-static-3.12.0-build/lapack-3.12.0/SRC/dspgvd.f β that's the whole NAME section, no cap. The header path is /home/abui...RC/dspgvd.f(3) and the manual name is DSPGVD(3).
β¨ SYNOPSIS β¨
π§ Functions/Subroutines π§
subroutine DSPGVD (itype, jobz, uplo, n, ap, bp, w, z, ldz, work, lwork, iwork, liwork, info)βDSPGVD
π Function/Subroutine Documentation π
π¦ subroutine DSPGVD π¦
subroutine DSPGVD (integer itype, character jobz, character uplo, integer n,
double precision, dimension( * ) ap, double precision, dimension( * )
bp, double precision, dimension( * ) w, double precision, dimension(
ldz, * ) z, integer ldz, double precision, dimension( * ) work, integer
lwork, integer, dimension( * ) iwork, integer liwork, integer info)
DSPGVD
π Purpose π
DSPGVD computes all the eigenvalues, and optionally, the eigenvectors of a real generalized symmetric-definite eigenproblem, of the form A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x. Here A and B are assumed to be symmetric, stored in packed format, and B is also positive definite. If eigenvectors are desired, it uses a divide and conquer algorithm. Periodt. π
π Parameters π
ITYPEβITYPEisINTEGER. Specifies the problem type to be solved:= 1:A*x = (lambda)*B*x= 2:A*B*x = (lambda)*x= 3:B*A*x = (lambda)*x
JOBZβJOBZisCHARACTER*1.= 'N': Compute eigenvalues only;= 'V': Compute eigenvalues and eigenvectors.UPLOβUPLOisCHARACTER*1.= 'U': Upper triangles ofAandBare stored;= 'L': Lower triangles ofAandBare stored.NβNisINTEGER. The order of the matricesAandB.N >= 0.APβAPisDOUBLE PRECISION array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the symmetric matrixA, packed columnwise in a linear array. The j-th column ofAis stored in the arrayAPas follows:- if
UPLO = 'U',AP(i + (j-1)*j/2) = A(i,j)for1<=i<=j; - if
UPLO = 'L',AP(i + (j-1)*(2*n-j)/2) = A(i,j)forj<=i<=n.
- if
On exit, the contents of AP are destroyed. π
BPβBPisDOUBLE PRECISION array, dimension (N*(N+1)/2). On entry, the upper or lower triangle of the symmetric matrixB, packed columnwise in a linear array. The j-th column ofBis stored in the arrayBPas follows:- if
UPLO = 'U',BP(i + (j-1)*j/2) = B(i,j)for1<=i<=j; - if
UPLO = 'L',BP(i + (j-1)*(2*n-j)/2) = B(i,j)forj<=i<=n.
- if
On exit, the triangular factor U or L from the Cholesky factorization B = U**T*U or B = L*L**T, in the same storage format as B.
WβWisDOUBLE PRECISION array, dimension (N). IfINFO = 0, the eigenvalues in ascending order.ZβZisDOUBLE PRECISION array, dimension (LDZ, N). IfJOBZ = 'V', then ifINFO = 0,Zcontains the matrixZof eigenvectors. The eigenvectors are normalized as follows:- if
ITYPE = 1or2,Z**T*B*Z = I; - if
ITYPE = 3,Z**T*inv(B)*Z = I.
- if
If JOBZ = 'N', then Z is not referenced.
LDZβLDZisINTEGER. The leading dimension of the arrayZ.LDZ >= 1, and ifJOBZ = 'V',LDZ >= max(1,N).WORKβWORKisDOUBLE PRECISION array, dimension (MAX(1,LWORK)). On exit, ifINFO = 0,WORK(1)returns the requiredLWORK.LWORKβLWORKisINTEGER. The dimension of the arrayWORK.- If
N <= 1,LWORK >= 1. - If
JOBZ = 'N'andN > 1,LWORK >= 2*N. - If
JOBZ = 'V'andN > 1,LWORK >= 1 + 6*N + 2*N**2.
- If
If LWORK = -1, then a workspace query is assumed; the routine only calculates the required sizes of the WORK and IWORK arrays, returns these values as the first entries of the WORK and IWORK arrays, and no error message related to LWORK or LIWORK is issued by XERBLA.
IWORKβIWORKisINTEGER array, dimension (MAX(1,LIWORK)). On exit, ifINFO = 0,IWORK(1)returns the requiredLIWORK.LIWORKβLIWORKisINTEGER. The dimension of the arrayIWORK.- If
JOBZ = 'N'orN <= 1,LIWORK >= 1. - If
JOBZ = 'V'andN > 1,LIWORK >= 3 + 5*N.
- If
If LIWORK = -1, then a workspace query is assumed; the routine only calculates the required sizes of the WORK and IWORK arrays, returns these values as the first entries of the WORK and IWORK arrays, and no error message related to LWORK or LIWORK is issued by XERBLA.
INFOβINFOisINTEGER.= 0: successful exit.< 0: ifINFO = -i, the i-th argument had an illegal value.> 0:DPPTRForDSPEVDreturned an error code:<= N: ifINFO = i,DSPEVDfailed to converge; i off-diagonal elements of an intermediate tridiagonal form did not converge to zero;> N: ifINFO = N + i, for1 <= i <= N, then the leading principal minor of order i ofBis not positive. The factorization ofBcould not be completed and no eigenvalues or eigenvectors were computed.
πΈ Author πΈ
- Univ. of Tennessee
- Univ. of California Berkeley
- Univ. of Colorado Denver
- NAG Ltd.
π Contributors π
- Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA
π Definition at line 202 of file dspgvd.f π
Definition at line 202 of file dspgvd.f.
ποΈ Author ποΈ
Generated automatically by Doxygen for LAPACK from the source code.
π That's a wrap, bestie! Footer vibe check: source is "Generated automatically by Doxygen for LAPACK from the source code", version is LAPACK Version 3.12.0, and the footer path is /home/abui...RC/dspgvd.f(3). There's no date printed in the footer, so I'm not inventing one β periodt. π«Ά
π¦ where this page comes from
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- opensuse-leap 16.0: lapack-man 3.12.0-160000.2.2 Β· BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms