Purpose
             =======
             
             DORM2R 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 DGEQRF. 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)
Syntaxpublic void Run(
	string SIDE,
	string TRANS,
	int M,
	int N,
	int K,
	ref 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,
	ByRef 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.
            
 - A  Double
 - 
             (input) DOUBLE PRECISION array, dimension (LDA,K)
             The i-th column must contain the vector which defines the
             elementary reflector H(i), for i = 1,2,...,k, as returned by
             DGEQRF in the first k columns 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.
             If SIDE = 'L', LDA .GE. max(1,M);
             if SIDE = 'R', LDA .GE. max(1,N).
            
 - TAU  Double
 - 
             (input) DOUBLE PRECISION array, dimension (K)
             TAU(i) must contain the scalar factor of the elementary
             reflector H(i), as returned by DGEQRF.
            
 - 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