dwww Home | Manual pages | Find package

hegs2(3)                             LAPACK                            hegs2(3)

NAME
       hegs2 - {he,sy}gs2: reduction to standard form, level 2

SYNOPSIS
   Functions
       subroutine chegs2 (itype, uplo, n, a, lda, b, ldb, info)
           CHEGS2 reduces a Hermitian definite generalized eigenproblem to
           standard form, using the factorization results obtained from cpotrf
           (unblocked algorithm).
       subroutine dsygs2 (itype, uplo, n, a, lda, b, ldb, info)
           DSYGS2 reduces a symmetric definite generalized eigenproblem to
           standard form, using the factorization results obtained from spotrf
           (unblocked algorithm).
       subroutine ssygs2 (itype, uplo, n, a, lda, b, ldb, info)
           SSYGS2 reduces a symmetric definite generalized eigenproblem to
           standard form, using the factorization results obtained from spotrf
           (unblocked algorithm).
       subroutine zhegs2 (itype, uplo, n, a, lda, b, ldb, info)
           ZHEGS2 reduces a Hermitian definite generalized eigenproblem to
           standard form, using the factorization results obtained from cpotrf
           (unblocked algorithm).

Detailed Description
Function Documentation
   subroutine chegs2 (integer itype, character uplo, integer n, complex,
       dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b,
       integer ldb, integer info)
       CHEGS2 reduces a Hermitian definite generalized eigenproblem to standard
       form, using the factorization results obtained from cpotrf (unblocked
       algorithm).

       Purpose:

            CHEGS2 reduces a complex Hermitian-definite generalized
            eigenproblem to standard form.

            If ITYPE = 1, the problem is A*x = lambda*B*x,
            and A is overwritten by inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H)

            If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or
            B*A*x = lambda*x, and A is overwritten by U*A*U**H or L**H *A*L.

            B must have been previously factorized as U**H *U or L*L**H by ZPOTRF.

       Parameters
           ITYPE

                     ITYPE is INTEGER
                     = 1: compute inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H);
                     = 2 or 3: compute U*A*U**H or L**H *A*L.

           UPLO

                     UPLO is CHARACTER*1
                     Specifies whether the upper or lower triangular part of the
                     Hermitian matrix A is stored, and how B has been factorized.
                     = 'U':  Upper triangular
                     = 'L':  Lower triangular

           N

                     N is INTEGER
                     The order of the matrices A and B.  N >= 0.

           A

                     A is COMPLEX array, dimension (LDA,N)
                     On entry, the Hermitian matrix A.  If UPLO = 'U', the leading
                     n by n upper triangular part of A contains the upper
                     triangular part of the matrix A, and the strictly lower
                     triangular part of A is not referenced.  If UPLO = 'L', the
                     leading n by n lower triangular part of A contains the lower
                     triangular part of the matrix A, and the strictly upper
                     triangular part of A is not referenced.

                     On exit, if INFO = 0, the transformed matrix, stored in the
                     same format as A.

           LDA

                     LDA is INTEGER
                     The leading dimension of the array A.  LDA >= max(1,N).

           B

                     B is COMPLEX array, dimension (LDB,N)
                     The triangular factor from the Cholesky factorization of B,
                     as returned by CPOTRF.
                     B is modified by the routine but restored on exit.

           LDB

                     LDB is INTEGER
                     The leading dimension of the array B.  LDB >= max(1,N).

           INFO

                     INFO is INTEGER
                     = 0:  successful exit.
                     < 0:  if INFO = -i, the i-th argument had an illegal value.

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine dsygs2 (integer itype, character uplo, integer n, double
       precision, dimension( lda, * ) a, integer lda, double precision,
       dimension( ldb, * ) b, integer ldb, integer info)
       DSYGS2 reduces a symmetric definite generalized eigenproblem to standard
       form, using the factorization results obtained from spotrf (unblocked
       algorithm).

       Purpose:

            DSYGS2 reduces a real symmetric-definite generalized eigenproblem
            to standard form.

            If ITYPE = 1, the problem is A*x = lambda*B*x,
            and A is overwritten by inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T)

            If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or
            B*A*x = lambda*x, and A is overwritten by U*A*U**T or L**T *A*L.

            B must have been previously factorized as U**T *U or L*L**T by DPOTRF.

       Parameters
           ITYPE

                     ITYPE is INTEGER
                     = 1: compute inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T);
                     = 2 or 3: compute U*A*U**T or L**T *A*L.

           UPLO

                     UPLO is CHARACTER*1
                     Specifies whether the upper or lower triangular part of the
                     symmetric matrix A is stored, and how B has been factorized.
                     = 'U':  Upper triangular
                     = 'L':  Lower triangular

           N

                     N is INTEGER
                     The order of the matrices A and B.  N >= 0.

           A

                     A is DOUBLE PRECISION array, dimension (LDA,N)
                     On entry, the symmetric matrix A.  If UPLO = 'U', the leading
                     n by n upper triangular part of A contains the upper
                     triangular part of the matrix A, and the strictly lower
                     triangular part of A is not referenced.  If UPLO = 'L', the
                     leading n by n lower triangular part of A contains the lower
                     triangular part of the matrix A, and the strictly upper
                     triangular part of A is not referenced.

                     On exit, if INFO = 0, the transformed matrix, stored in the
                     same format as A.

           LDA

                     LDA is INTEGER
                     The leading dimension of the array A.  LDA >= max(1,N).

           B

                     B is DOUBLE PRECISION array, dimension (LDB,N)
                     The triangular factor from the Cholesky factorization of B,
                     as returned by DPOTRF.

           LDB

                     LDB is INTEGER
                     The leading dimension of the array B.  LDB >= max(1,N).

           INFO

                     INFO is INTEGER
                     = 0:  successful exit.
                     < 0:  if INFO = -i, the i-th argument had an illegal value.

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine ssygs2 (integer itype, character uplo, integer n, real,
       dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer
       ldb, integer info)
       SSYGS2 reduces a symmetric definite generalized eigenproblem to standard
       form, using the factorization results obtained from spotrf (unblocked
       algorithm).

       Purpose:

            SSYGS2 reduces a real symmetric-definite generalized eigenproblem
            to standard form.

            If ITYPE = 1, the problem is A*x = lambda*B*x,
            and A is overwritten by inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T)

            If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or
            B*A*x = lambda*x, and A is overwritten by U*A*U**T or L**T *A*L.

            B must have been previously factorized as U**T *U or L*L**T by SPOTRF.

       Parameters
           ITYPE

                     ITYPE is INTEGER
                     = 1: compute inv(U**T)*A*inv(U) or inv(L)*A*inv(L**T);
                     = 2 or 3: compute U*A*U**T or L**T *A*L.

           UPLO

                     UPLO is CHARACTER*1
                     Specifies whether the upper or lower triangular part of the
                     symmetric matrix A is stored, and how B has been factorized.
                     = 'U':  Upper triangular
                     = 'L':  Lower triangular

           N

                     N is INTEGER
                     The order of the matrices A and B.  N >= 0.

           A

                     A is REAL array, dimension (LDA,N)
                     On entry, the symmetric matrix A.  If UPLO = 'U', the leading
                     n by n upper triangular part of A contains the upper
                     triangular part of the matrix A, and the strictly lower
                     triangular part of A is not referenced.  If UPLO = 'L', the
                     leading n by n lower triangular part of A contains the lower
                     triangular part of the matrix A, and the strictly upper
                     triangular part of A is not referenced.

                     On exit, if INFO = 0, the transformed matrix, stored in the
                     same format as A.

           LDA

                     LDA is INTEGER
                     The leading dimension of the array A.  LDA >= max(1,N).

           B

                     B is REAL array, dimension (LDB,N)
                     The triangular factor from the Cholesky factorization of B,
                     as returned by SPOTRF.

           LDB

                     LDB is INTEGER
                     The leading dimension of the array B.  LDB >= max(1,N).

           INFO

                     INFO is INTEGER
                     = 0:  successful exit.
                     < 0:  if INFO = -i, the i-th argument had an illegal value.

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine zhegs2 (integer itype, character uplo, integer n, complex*16,
       dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b,
       integer ldb, integer info)
       ZHEGS2 reduces a Hermitian definite generalized eigenproblem to standard
       form, using the factorization results obtained from cpotrf (unblocked
       algorithm).

       Purpose:

            ZHEGS2 reduces a complex Hermitian-definite generalized
            eigenproblem to standard form.

            If ITYPE = 1, the problem is A*x = lambda*B*x,
            and A is overwritten by inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H)

            If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or
            B*A*x = lambda*x, and A is overwritten by U*A*U**H or L**H *A*L.

            B must have been previously factorized as U**H *U or L*L**H by ZPOTRF.

       Parameters
           ITYPE

                     ITYPE is INTEGER
                     = 1: compute inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H);
                     = 2 or 3: compute U*A*U**H or L**H *A*L.

           UPLO

                     UPLO is CHARACTER*1
                     Specifies whether the upper or lower triangular part of the
                     Hermitian matrix A is stored, and how B has been factorized.
                     = 'U':  Upper triangular
                     = 'L':  Lower triangular

           N

                     N is INTEGER
                     The order of the matrices A and B.  N >= 0.

           A

                     A is COMPLEX*16 array, dimension (LDA,N)
                     On entry, the Hermitian matrix A.  If UPLO = 'U', the leading
                     n by n upper triangular part of A contains the upper
                     triangular part of the matrix A, and the strictly lower
                     triangular part of A is not referenced.  If UPLO = 'L', the
                     leading n by n lower triangular part of A contains the lower
                     triangular part of the matrix A, and the strictly upper
                     triangular part of A is not referenced.

                     On exit, if INFO = 0, the transformed matrix, stored in the
                     same format as A.

           LDA

                     LDA is INTEGER
                     The leading dimension of the array A.  LDA >= max(1,N).

           B

                     B is COMPLEX*16 array, dimension (LDB,N)
                     The triangular factor from the Cholesky factorization of B,
                     as returned by ZPOTRF.
                     B is modified by the routine but restored on exit.

           LDB

                     LDB is INTEGER
                     The leading dimension of the array B.  LDB >= max(1,N).

           INFO

                     INFO is INTEGER
                     = 0:  successful exit.
                     < 0:  if INFO = -i, the i-th argument had an illegal value.

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

Author
       Generated automatically by Doxygen for LAPACK from the source code.

Version 3.12.0              Thu Aug 7 2025 17:26:25                    hegs2(3)

Generated by dwww version 1.16 on Sat Oct 3 06:47:15 CEST 2026.