# naginterfaces.library.lapackeig.dggsvp3¶

naginterfaces.library.lapackeig.dggsvp3(jobu, jobv, jobq, a, b, tola, tolb)[source]

dggsvp3 uses orthogonal transformations to simultaneously reduce the matrix and the matrix to upper triangular form. This factorization is usually used as a preprocessing step for computing the generalized singular value decomposition (GSVD). For sufficiently large problems, a blocked algorithm is used to make best use of Level 3 BLAS.

For full information please refer to the NAG Library document for f08vg

https://www.nag.com/numeric/nl/nagdoc_29/flhtml/f08/f08vgf.html

Parameters
jobustr, length 1

If , the orthogonal matrix is computed.

If , is not computed.

jobvstr, length 1

If , the orthogonal matrix is computed.

If , is not computed.

jobqstr, length 1

If , the orthogonal matrix is computed.

If , is not computed.

afloat, array-like, shape

The matrix .

bfloat, array-like, shape

The matrix .

tolafloat

and are the thresholds to determine the effective numerical rank of matrix and a subblock of . Generally, they are set to

where is the machine precision.

The size of and may affect the size of backward errors of the decomposition.

tolbfloat

and are the thresholds to determine the effective numerical rank of matrix and a subblock of . Generally, they are set to

where is the machine precision.

The size of and may affect the size of backward errors of the decomposition.

Returns
afloat, ndarray, shape

Contains the triangular (or trapezoidal) matrix described in Notes.

bfloat, ndarray, shape

Contains the triangular matrix described in Notes.

kint

and specify the dimension of the subblocks and as described in Notes; is the effective numerical rank of .

lint

and specify the dimension of the subblocks and as described in Notes; is the effective numerical rank of .

ufloat, ndarray, shape

If , contains the orthogonal matrix .

If , is not referenced.

vfloat, ndarray, shape

If , contains the orthogonal matrix .

If , is not referenced.

qfloat, ndarray, shape

If , contains the orthogonal matrix .

If , is not referenced.

Raises
NagValueError
(errno )

On entry, error in parameter .

Constraint: or .

(errno )

On entry, error in parameter .

Constraint: or .

(errno )

On entry, error in parameter .

Constraint: or .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

Constraint: .

Notes

dggsvp3 computes orthogonal matrices , and such that

where the matrix and matrix are nonsingular upper triangular; is upper triangular if and is upper trapezoidal otherwise. is the effective numerical rank of the matrix .

This decomposition is usually used as the preprocessing step for computing the Generalized Singular Value Decomposition (GSVD), see function dtgsja(); the two steps are combined in dggsvd3().

References

Anderson, E, Bai, Z, Bischof, C, Blackford, S, Demmel, J, Dongarra, J J, Du Croz, J J, Greenbaum, A, Hammarling, S, McKenney, A and Sorensen, D, 1999, LAPACK Users’ Guide, (3rd Edition), SIAM, Philadelphia, https://www.netlib.org/lapack/lug

Golub, G H and Van Loan, C F, 2012, Matrix Computations, (4th Edition), Johns Hopkins University Press, Baltimore