Generalized Singular Value Decomposition: LAPACK Computational Routines

This topic describes LAPACK computational routines used for finding the generalized singular value decomposition (GSVD) of two matrices A and B as

UHAQ = D1*(0 R),

VHBQ = D2*(0 R),

where U, V, and Q are orthogonal/unitary matrices, R is a nonsingular upper triangular matrix, and D1, D2 are “diagonal” matrices of the structure detailed in the routines description section.

Table “Computational Routines for Generalized Singular Value Decomposition” lists LAPACK routines (FORTRAN 77 interface) that perform generalized singular value decomposition of matrices. The corresponding routine names in the Fortran 95 interface are without the first symbol.

Computational Routines for Generalized Singular Value Decomposition

Routine name

Operation performed


Computes the preprocessing decomposition for the generalized SVD


Performs preprocessing for a generalized SVD.


Computes generalized SVD.


Computes the generalized SVD of two upper triangular or trapezoidal matrices

You can use routines listed in the above table as well as the driver routine ggsvd to find the GSVD of a pair of general rectangular matrices.

For more complete information about compiler optimizations, see our Optimization Notice.