f08ag multiplies an arbitrary real matrix by the real orthogonal matrix from a factorization computed by (F08AEF not in this release) f08be f08bf.
Syntax
C# |
---|
public static void f08ag( string side, string trans, int m, int n, int k, double[,] a, double[] tau, double[,] c, out int info ) |
Visual Basic |
---|
Public Shared Sub f08ag ( _ side As String, _ trans As String, _ m As Integer, _ n As Integer, _ k As Integer, _ a As Double(,), _ tau As Double(), _ c As Double(,), _ <OutAttribute> ByRef info As Integer _ ) |
Visual C++ |
---|
public: static void f08ag( String^ side, String^ trans, int m, int n, int k, array<double,2>^ a, array<double>^ tau, array<double,2>^ c, [OutAttribute] int% info ) |
F# |
---|
static member f08ag : side : string * trans : string * m : int * n : int * k : int * a : float[,] * tau : float[] * c : float[,] * info : int byref -> unit |
Parameters
- side
- Type: System..::..StringOn entry: indicates how or is to be applied to .
- or is applied to from the left.
- or is applied to from the right.
Constraint: or .
- trans
- Type: System..::..StringOn entry: indicates whether or is to be applied to .
- is applied to .
- is applied to .
Constraint: or .
- m
- Type: System..::..Int32On entry: , the number of rows of the matrix .Constraint: .
- n
- Type: System..::..Int32On entry: , the number of columns of the matrix .Constraint: .
- k
- Type: System..::..Int32On entry: , the number of elementary reflectors whose product defines the matrix .Constraints:
- if , ;
- if , .
- a
- Type: array<System..::..Double,2>[,](,)[,][,]An array of size [dim1, dim2]Note: dim1 must satisfy the constraint:
- if , ;
- if , .
Note: the second dimension of the array a must be at least .
- tau
- Type: array<System..::..Double>[]()[][]An array of size [dim1]Note: the dimension of the array tau must be at least .
- c
- Type: array<System..::..Double,2>[,](,)[,][,]An array of size [dim1, dim2]Note: dim1 must satisfy the constraint:Note: the second dimension of the array c must be at least .On entry: the by matrix .
- info
- Type: System..::..Int32%On exit: unless the method detects an error (see [Error Indicators and Warnings]).
Description
f08ag is intended to be used after a call to (F08AEF not in this release) f08be f08bf which perform a factorization of a real matrix . The orthogonal matrix is represented as a product of elementary reflectors.
This method may be used to form one of the matrix products
overwriting the result on (which may be any real rectangular matrix).
References
Golub G H and Van Loan C F (1996) Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
Error Indicators and Warnings
Some error messages may refer to parameters that are dropped from this interface
(LDA, LDC) In these
cases, an error in another parameter has usually caused an incorrect value to be inferred.
- If , argument had an illegal value. An explanatory message is output, and execution of the program is terminated.
Accuracy
The computed result differs from the exact result by a matrix such that
where is the machine precision.
Parallelism and Performance
None.
Further Comments
The total number of floating-point operations is approximately if and if .
The complex analogue of this method is (F08AUF not in this release).