naginterfaces.library.lapackeig.dorcsd¶
- naginterfaces.library.lapackeig.dorcsd(m, p, q, x11, x12, x21, x22, jobu1='Y', jobu2='Y', jobv1t='Y', jobv2t='Y', trans='N', signs='D')[source]¶
dorcsd
computes the CS decomposition of a real orthogonal matrix , partitioned into a array of submatrices.For full information please refer to the NAG Library document for f08ra
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/f08/f08raf.html
- Parameters
- mint
, the number of rows and columns in the orthogonal matrix .
- pint
, the number of rows in and .
- qint
, the number of columns in and .
- x11float, 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: .
The upper left partition of the orthogonal matrix whose CSD is desired.
- x12float, 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: .
The upper right partition of the orthogonal matrix whose CSD is desired.
- x21float, 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: .
The lower left partition of the orthogonal matrix whose CSD is desired.
- x22float, 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: .
The lower right partition of the orthogonal matrix CSD is desired.
- jobu1str, length 1, optional
If , is computed;
otherwise, is not computed.
- jobu2str, length 1, optional
If , is computed;
otherwise, is not computed.
- jobv1tstr, length 1, optional
If , is computed;
otherwise, is not computed.
- jobv2tstr, length 1, optional
If , is computed;
otherwise, is not computed.
- transstr, length 1, optional
If , , , , and are stored in row-major order;
otherwise, , , , and are stored in column-major order.
- signsstr, length 1, optional
If , the lower-left block is made nonpositive (the other convention);
otherwise, the upper-right block is made nonpositive (the default convention).
- Returns
- x11float, ndarray, shape
Contains details of the orthogonal matrix used in a simultaneous bidiagonalization process.
- x12float, ndarray, shape
Contains details of the orthogonal matrix used in a simultaneous bidiagonalization process.
- x21float, ndarray, shape
Contains details of the orthogonal matrix used in a simultaneous bidiagonalization process.
- x22float, ndarray, shape
Contains details of the orthogonal matrix used in a simultaneous bidiagonalization process.
- thetafloat, ndarray, shape
The values for where . The diagonal submatrices and of are constructed from these values as
and
.
- u1None or float, ndarray, shape
If , contains the orthogonal matrix .
- u2None or float, ndarray, shape
If , contains the orthogonal matrix .
- v1tNone or float, ndarray, shape
If , contains the orthogonal matrix .
- v2tNone or float, ndarray, shape
If , contains the orthogonal matrix .
- Raises
- NagValueError
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
The Jacobi-type procedure failed to converge during an internal reduction to bidiagonal-block form. The process requires convergence to values, the value of gives the number of converged values.
- Notes
The orthogonal matrix is partitioned as
where is a submatrix and the dimensions of the other submatrices , and are such that remains .
The CS decomposition of is where , and are matrices, such that
is an orthogonal matrix containing the orthogonal matrix and the orthogonal matrix ;
is an orthogonal matrix containing the orthogonal matrix and the orthogonal matrix ; and
contains the non-negative diagonal submatrices and satisfying , where and the top left partition is .
The identity matrix is of order and vanishes if .
The identity matrix is of order and vanishes if .
The identity matrix is of order and vanishes if .
The identity matrix is of order and vanishes if .
In each of the four cases at least two of the identity matrices vanish.
The indicated zeros represent augmentations by additional rows or columns (but not both) to the square diagonal matrices formed by and or .
does not need to be stored in full; it is sufficient to return only the values for where and .
The algorithm used to perform the complete decomposition is described fully in Sutton (2009) including discussions of the stability and accuracy of the algorithm.
- 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
Sutton, B D, 2009, Computing the complete decomposition, Numerical Algorithms (Volume 50) (1017–1398), Springer US, 33–65, https://dx.doi.org/10.1007/s11075-008-9215-6