naginterfaces.library.lapackeig.ztgsja¶
- naginterfaces.library.lapackeig.ztgsja(jobu, jobv, jobq, k, l, a, b, tola, tolb, u, v, q)[source]¶
ztgsja
computes the generalized singular value decomposition (GSVD) of two complex upper trapezoidal matrices and , where is an matrix and is a matrix.and are assumed to be in the form returned by
zggsvp3()
.For full information please refer to the NAG Library document for f08ys
https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/f08/f08ysf.html
- Parameters
- jobustr, length 1
If , must contain a unitary matrix on entry, and the product is returned.
If , is initialized to the unit matrix, and the unitary matrix is returned.
If , is not computed.
- jobvstr, length 1
If , must contain a unitary matrix on entry, and the product is returned.
If , is initialized to the unit matrix, and the unitary matrix is returned.
If , is not computed.
- jobqstr, length 1
If , must contain a unitary matrix on entry, and the product is returned.
If , is initialized to the unit matrix, and the unitary matrix is returned.
If , is not computed.
- kint
and specify the sizes, and , of the subblocks of and , whose GSVD is to be computed by
ztgsja
.- lint
and specify the sizes, and , of the subblocks of and , whose GSVD is to be computed by
ztgsja
.- acomplex, array-like, shape
The matrix .
- bcomplex, array-like, shape
The matrix .
- tolafloat
and are the convergence criteria for the Jacobi–Kogbetliantz iteration procedure. Generally, they should be the same as used in the preprocessing step performed by
zggsvp3()
, saywhere is the machine precision.
- tolbfloat
and are the convergence criteria for the Jacobi–Kogbetliantz iteration procedure. Generally, they should be the same as used in the preprocessing step performed by
zggsvp3()
, saywhere is the machine precision.
- ucomplex, array-like, shape
Note: the required extent for this argument in dimension 1 is determined as follows: if : ; otherwise: .
Note: the required extent for this argument in dimension 2 is determined as follows: if : ; otherwise: .
If , must contain an matrix (usually the unitary matrix returned by
zggsvp3()
).- vcomplex, array-like, shape
Note: the required extent for this argument in dimension 1 is determined as follows: if : ; otherwise: .
Note: the required extent for this argument in dimension 2 is determined as follows: if : ; otherwise: .
If , must contain an matrix (usually the unitary matrix returned by
zggsvp3()
).- qcomplex, array-like, shape
Note: the required extent for this argument in dimension 1 is determined as follows: if : ; otherwise: .
Note: the required extent for this argument in dimension 2 is determined as follows: if : ; otherwise: .
If , must contain an matrix (usually the unitary matrix returned by
zggsvp3()
).
- Returns
- acomplex, ndarray, shape
If , contains the upper triangular matrix .
If , contains the first rows of the upper triangular matrix , and the submatrix is returned in .
- bcomplex, ndarray, shape
If , contains the submatrix of .
- alphafloat, ndarray, shape
See the description of .
- betafloat, ndarray, shape
and contain the generalized singular value pairs of and ;
, , for , and
if , , , for , or
if , , , for and , , for .
Furthermore, if , , for .
- ucomplex, ndarray, shape
If , contains the product .
If , contains the unitary matrix .
If , is not referenced.
- vcomplex, ndarray, shape
If , contains the unitary matrix .
If , contains the product .
If , is not referenced.
- qcomplex, ndarray, shape
If , contains the unitary matrix .
If , contains the product .
If , is not referenced.
- ncycleint
The number of cycles required for convergence.
- 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: .
- (errno )
The procedure does not converge after cycles.
- Notes
ztgsja
computes the GSVD of the matrices and which are assumed to have the form as returned byzggsvp3()
where the matrix and the matrix are nonsingular upper triangular, is upper triangular if and is upper trapezoidal otherwise.
ztgsja
computes unitary matrices , and , diagonal matrices and , and an upper triangular matrix such thatOptionally , and may or may not be computed, or they may be premultiplied by matrices , and respectively.
If then , and have the form
where .
If then , and have the form
where .
In both cases the diagonal matrix has real non-negative diagonal elements, the diagonal matrix has real positive diagonal elements, so that is nonsingular, and . See Section 2.3.5.3 of Anderson et al. (1999) for further information.
- 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, 1996, Matrix Computations, (3rd Edition), Johns Hopkins University Press, Baltimore