# naginterfaces.library.lapackeig.zggsvp3¶

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

zggsvp3 uses unitary 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 f08vu

https://www.nag.com/numeric/nl/nagdoc_28.5/flhtml/f08/f08vuf.html

Parameters
jobustr, length 1

If , the unitary matrix is computed.

If , is not computed.

jobvstr, length 1

If , the unitary matrix is computed.

If , is not computed.

jobqstr, length 1

If , the unitary matrix is computed.

If , is not computed.

acomplex, array-like, shape

The matrix .

bcomplex, 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
acomplex, ndarray, shape

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

bcomplex, 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 .

ucomplex, ndarray, shape

If , contains the unitary matrix .

If , is not referenced.

vcomplex, ndarray, shape

If , contains the unitary matrix .

If , is not referenced.

qcomplex, ndarray, shape

If , contains the unitary 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

zggsvp3 computes unitary 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 ztgsja(); the two steps are combined in zggsvd3().

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