naginterfaces.library.lapackeig.ztpmqrt

naginterfaces.library.lapackeig.ztpmqrt(side, trans, l, v, t, c1, c2)[source]

ztpmqrt multiplies an arbitrary complex matrix by the complex unitary matrix from a factorization computed by ztpqrt().

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

https://support.nag.com/numeric/nl/nagdoc_30.1/flhtml/f08/f08bqf.html

Parameters
sidestr, length 1

Indicates how or is to be applied to .

or is applied to from the left.

or is applied to from the right.

transstr, length 1

Indicates whether or is to be applied to .

is applied to .

is applied to .

lint

, the number of rows of the upper trapezoidal part of the pentagonal composite matrix , passed (as ) in a previous call to ztpqrt(). This must be the same value used in the previous call to ztpqrt() (see in ztpqrt()).

vcomplex, array-like, shape

Note: the required extent for this argument in dimension 1 is determined as follows: if : ; if : ; otherwise: .

The matrix ; this should remain unchanged from the array returned by a previous call to ztpqrt().

tcomplex, array-like, shape

This must remain unchanged from a previous call to ztpqrt() (see in ztpqrt()).

c1complex, array-like, shape

Note: the required extent for this argument in dimension 1 is determined as follows: if : ; if : ; otherwise: .

Note: the required extent for this argument in dimension 2 is determined as follows: if : ; if : ; otherwise: .

, the first part of the composite matrix :

if

then contains the first rows of ;

if

then contains the first columns of .

c2complex, array-like, shape

, the second part of the composite matrix .

if

then contains the remaining rows of ;

if

then contains the remaining columns of ;

Returns
c1complex, ndarray, shape

is overwritten by the corresponding block of or or or .

c2complex, ndarray, shape

is overwritten by the corresponding block of or or or .

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: .

(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

ztpmqrt is intended to be used after a call to ztpqrt() which performs a factorization of a triangular-pentagonal matrix containing an upper triangular matrix over a pentagonal matrix . The unitary matrix is represented as a product of elementary reflectors.

This function may be used to form the matrix products

where the complex rectangular matrix is split into component matrices and .

If is being applied from the left ( or ) then

where is , is , is fixed and is the number of rows of the matrix containing the elementary reflectors (i.e., as passed to ztpqrt()); the number of columns of is (i.e., as passed to ztpqrt()).

If is being applied from the right ( or ) then

where is , and is and is fixed.

The matrices and are overwriten by the result of the matrix product.

A common application of this routine is in updating the solution of a linear least squares problem.

References

Golub, G H and Van Loan, C F, 2012, Matrix Computations, (4th Edition), Johns Hopkins University Press, Baltimore