naginterfaces.library.lapackeig.dtpmqrt

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

dtpmqrt multiplies an arbitrary real matrix by the real orthogonal matrix from a factorization computed by dtpqrt().

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

https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/f08/f08bcf.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 dtpqrt(). This must be the same value used in the previous call to dtpqrt() (see in dtpqrt()).

vfloat, 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 dtpqrt().

tfloat, array-like, shape

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

c1float, 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 .

c2float, 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
c1float, ndarray, shape

is overwritten by the corresponding block of or or or .

c2float, 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

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

This function may be used to form the matrix products

where the real 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 dtpqrt()); the number of columns of is (i.e., as passed to dtpqrt()).

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