naginterfaces.library.lapackeig.zuncsd

naginterfaces.library.lapackeig.zuncsd(m, p, q, x11, x12, x21, x22, jobu1='Y', jobu2='Y', jobv1t='Y', jobv2t='Y', trans='N', signs='D')[source]

zuncsd computes the CS decomposition of a complex unitary matrix , partitioned into a array of submatrices.

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

https://support.nag.com/numeric/nl/nagdoc_30.2/flhtml/f08/f08rnf.html

Parameters
mint

, the number of rows and columns in the unitary matrix .

pint

, the number of rows in and .

qint

, the number of columns in and .

x11complex, 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 unitary matrix whose CSD is desired.

x12complex, 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 unitary matrix whose CSD is desired.

x21complex, 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 unitary matrix whose CSD is desired.

x22complex, 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 unitary 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
x11complex, ndarray, shape

Contains details of the unitary matrix used in a simultaneous bidiagonalization process.

x12complex, ndarray, shape

Contains details of the unitary matrix used in a simultaneous bidiagonalization process.

x21complex, ndarray, shape

Contains details of the unitary matrix used in a simultaneous bidiagonalization process.

x22complex, ndarray, shape

Contains details of the unitary 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 complex, ndarray, shape

If , contains the unitary matrix .

u2None or complex, ndarray, shape

If , contains the unitary matrix .

v1tNone or complex, ndarray, shape

If , contains the unitary matrix .

v2tNone or complex, ndarray, shape

If , contains the unitary 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 unitary 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 a unitary matrix containing the unitary matrix and the unitary matrix ;

is a unitary matrix containing the unitary matrix and the unitary 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