naginterfaces.library.lapackeig.zungbr

naginterfaces.library.lapackeig.zungbr(vect, k, a, tau)[source]

zungbr generates one of the complex unitary matrices or which were determined by zgebrd() when reducing a complex matrix to bidiagonal form.

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

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

Parameters
vectstr, length 1

Indicates whether the unitary matrix or is generated.

is generated.

is generated.

kint

If , the number of columns in the original matrix .

If , the number of rows in the original matrix .

acomplex, array-like, shape

Details of the vectors which define the elementary reflectors, as returned by zgebrd().

taucomplex, array-like, shape

Note: the required length for this argument is determined as follows: if : ; if : ; otherwise: .

Further details of the elementary reflectors, as returned by zgebrd() in its argument if , or in its argument if .

Returns
acomplex, ndarray, shape

The unitary matrix or , or the leading rows or columns thereof, as specified by , and .

Raises
NagValueError
(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 )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

Constraint: .

Notes

zungbr is intended to be used after a call to zgebrd(), which reduces a complex rectangular matrix to real bidiagonal form by a unitary transformation: . zgebrd() represents the matrices and as products of elementary reflectors.

This function may be used to generate or explicitly as square matrices, or in some cases just the leading columns of or the leading rows of .

The various possibilities are specified by the arguments , , and . The appropriate values to cover the most likely cases are as follows (assuming that was an matrix):

  1. To form the full matrix : set , and (note that the array must have at least columns).

  2. If , to form the leading columns of : set and

  3. To form the full matrix : set , and (note that the array must have at least rows).

  4. If , to form the leading rows of : set and

References

Golub, G H and Van Loan, C F, 1996, Matrix Computations, (3rd Edition), Johns Hopkins University Press, Baltimore