Purpose
=======
DORMR3 overwrites the general real m by n matrix C with
Q * C if SIDE = 'L' and TRANS = 'N', or
Q'* C if SIDE = 'L' and TRANS = 'T', or
C * Q if SIDE = 'R' and TRANS = 'N', or
C * Q' if SIDE = 'R' and TRANS = 'T',
where Q is a real orthogonal matrix defined as the product of k
elementary reflectors
Q = H(1) H(2) . . . H(k)
as returned by DTZRZF. Q is of order m if SIDE = 'L' and of order n
if SIDE = 'R'.
Namespace: DotNumerics.LinearAlgebra.CSLapackAssembly: DWSIM.MathOps.DotNumerics (in DWSIM.MathOps.DotNumerics.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax public void Run(
string SIDE,
string TRANS,
int M,
int N,
int K,
int L,
double[] A,
int offset_a,
int LDA,
double[] TAU,
int offset_tau,
ref double[] C,
int offset_c,
int LDC,
ref double[] WORK,
int offset_work,
ref int INFO
)
Public Sub Run (
SIDE As String,
TRANS As String,
M As Integer,
N As Integer,
K As Integer,
L As Integer,
A As Double(),
offset_a As Integer,
LDA As Integer,
TAU As Double(),
offset_tau As Integer,
ByRef C As Double(),
offset_c As Integer,
LDC As Integer,
ByRef WORK As Double(),
offset_work As Integer,
ByRef INFO As Integer
)
Request Example
View SourceParameters
- SIDE String
-
(input) CHARACTER*1
= 'L': apply Q or Q' from the Left
= 'R': apply Q or Q' from the Right
- TRANS String
-
(input) CHARACTER*1
= 'N': apply Q (No transpose)
= 'T': apply Q' (Transpose)
- M Int32
-
(input) INTEGER
The number of rows of the matrix C. M .GE. 0.
- N Int32
-
(input) INTEGER
The number of columns of the matrix C. N .GE. 0.
- K Int32
-
(input) INTEGER
The number of elementary reflectors whose product defines
the matrix Q.
If SIDE = 'L', M .GE. K .GE. 0;
if SIDE = 'R', N .GE. K .GE. 0.
- L Int32
-
(input) INTEGER
The number of columns of the matrix A containing
the meaningful part of the Householder reflectors.
If SIDE = 'L', M .GE. L .GE. 0, if SIDE = 'R', N .GE. L .GE. 0.
- A Double
-
(input) DOUBLE PRECISION array, dimension
(LDA,M) if SIDE = 'L',
(LDA,N) if SIDE = 'R'
The i-th row must contain the vector which defines the
elementary reflector H(i), for i = 1,2,...,k, as returned by
DTZRZF in the last k rows of its array argument A.
A is modified by the routine but restored on exit.
- offset_a Int32
-
- LDA Int32
-
(input) INTEGER
The leading dimension of the array A. LDA .GE. max(1,K).
- TAU Double
-
(input) DOUBLE PRECISION array, dimension (K)
TAU(i) must contain the scalar factor of the elementary
reflector H(i), as returned by DTZRZF.
- offset_tau Int32
-
- C Double
-
* Q if SIDE = 'R' and TRANS = 'N', or
- offset_c Int32
-
- LDC Int32
-
(input) INTEGER
The leading dimension of the array C. LDC .GE. max(1,M).
- WORK Double
-
(workspace) DOUBLE PRECISION array, dimension
(N) if SIDE = 'L',
(M) if SIDE = 'R'
- offset_work Int32
-
- INFO Int32
-
(output) INTEGER
= 0: successful exit
.LT. 0: if INFO = -i, the i-th argument had an illegal value
See Also