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/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