|
NAG[f01qdc] NAG[nag_real_apply_q] - Compute or after factorization by f01qcc (nag_real_qr)
|
|
Calling Sequence
f01qdc(trans, wheret, a, b, 'm'=m, 'n'=n, 'tda'=tda, 'zeta'=zeta, 'ncolb'=ncolb, 'tdb'=tdb, 'fail'=fail)
nag_real_apply_q(. . .)
Parameters
|
trans - String;
|
|
|
On entry: the operation to be performed as follows:
|
|
, perform the operation .
|
|
Constraint: trans must be one of "NoTranspose", "Transpose" or "ConjugateTranspose". .
|
|
|
wheret - String;
|
|
|
On entry: indicates where the elements of are to be found as follows:
|
|
, the elements of are in a.
|
|
the elements of are separate from a, in zeta.
|
|
Constraint: wheret must be "Nag_ElementsIn" or "Nag_ElementsSeparate". .
|
|
|
a - Matrix(1..m, 1..tda, datatype=float[8], order=C_order);
|
|
|
|
b - Matrix(1..m, 1..tdb, datatype=float[8], order=C_order);
|
|
|
On entry: the leading by part of the array b must contain the matrix to be transformed.
|
|
On exit: b is overwritten by the transformed matrix.
|
|
|
'm'=m - integer; (optional)
|
|
|
Default value: the first dimension of the arrays a, b.
|
|
On entry: , the number of rows of .
|
|
Constraint: . .
|
|
|
'n'=n - integer; (optional)
|
|
|
Default value: the first dimension of the array zeta and the second dimension of the array zetathe array a.
|
|
On entry: , the number of columns of .
|
|
When then an immediate return is effected.
|
|
Constraint: . .
|
|
|
'tda'=tda - integer; (optional)
|
|
|
On entry: the second dimension of the array a as declared in the function from which nag_real_apply_q (f01qdc) is called.
|
|
Constraint: . .
|
|
|
'zeta'=zeta - Vector(1..n, datatype=float[8]); (optional)
|
|
|
|
'ncolb'=ncolb - integer; (optional)
|
|
|
Default value: the second dimension of the array b.
|
|
On entry: , the number of columns of .
|
|
When then an immediate return is effected.
|
|
Constraint: . .
|
|
|
'tdb'=tdb - integer; (optional)
|
|
|
On entry: the second dimension of the array b as declared in the function from which nag_real_apply_q (f01qdc) is called.
|
|
Constraint: . .
|
|
|
'fail'=fail - table; (optional)
|
|
|
The NAG error argument, see the documentation for NagError.
|
|
|
|
Description
|
|
|
Purpose
|
|
nag_real_apply_q (f01qdc) performs one of the transformations
where is an by real matrix and is an by orthogonal matrix, given as the product of Householder transformation matrices.
This function is intended for use following f01qcc (nag_real_qr).
|
|
Error Indicators and Warnings
|
|
"NE_2_INT_ARG_LT"
On entry, while . These arguments must satisfy .
"NE_ALLOC_FAIL"
Dynamic memory allocation failed.
"NE_BAD_PARAM"
On entry, argument trans had an illegal value.
"NE_INT_ARG_LT"
On entry, n must not be less than 0: .
|
|
Further Comments
|
|
The approximate number of floating-point operations is given by .
|
|
|
Examples
|
|
>
|
trans := "Transpose":
wheret := "Nag_ElementsSeparate":
m := 5:
n := 3:
tda := 3:
ncolb := 2:
tdb := 2:
a := Matrix([[-4, -2, -3], [0.4082482904638631, -3, -2], [0.3265986323710905, -0.4618802153517007, -4], [0.4082482904638631, -0.5773502691896258, -2.335698535613162e-18], [0.2449489742783178, -0.3464101615137755, -0.6324555320336759]], datatype=float[8], order='C_order'):
zeta := Vector([1.224744871391589, 1.154700538379251, 1.264911064067352], datatype=float[8]):
b := Matrix([[1.1, 0], [0.9, 0], [0.6, 1.32], [0, 1.1], [-0.8, -0.26]], datatype=float[8], order='C_order'):
NAG:-f01qdc(trans, wheret, a, b, 'm' = m, 'n' = n, 'tda' = tda, 'zeta' = zeta, 'ncolb' = ncolb, 'tdb' = tdb):
|
|
|