Click or drag to resize

DLABRDRun Method

Purpose ======= DLABRD reduces the first NB rows and columns of a real general m by n matrix A to upper or lower bidiagonal form by an orthogonal transformation Q' * A * P, and returns the matrices X and Y which are needed to apply the transformation to the unreduced part of A. If m .GE. n, A is reduced to upper bidiagonal form; if m .LT. n, to lower bidiagonal form. This is an auxiliary routine called by DGEBRD

Namespace: DotNumerics.LinearAlgebra.CSLapack
Assembly: DWSIM.MathOps.DotNumerics (in DWSIM.MathOps.DotNumerics.dll) Version: 1.0.0.0 (1.0.0.0)
Syntax
public void Run(
	int M,
	int N,
	int NB,
	ref double[] A,
	int offset_a,
	int LDA,
	ref double[] D,
	int offset_d,
	ref double[] E,
	int offset_e,
	ref double[] TAUQ,
	int offset_tauq,
	ref double[] TAUP,
	int offset_taup,
	ref double[] X,
	int offset_x,
	int LDX,
	ref double[] Y,
	int offset_y,
	int LDY
)
Request Example View Source

Parameters

M  Int32
(input) INTEGER The number of rows in the matrix A.
N  Int32
(input) INTEGER The number of columns in the matrix A.
NB  Int32
(input) INTEGER The number of leading rows and columns of A to be reduced.
A  Double
(input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the m by n general matrix to be reduced. On exit, the first NB rows and columns of the matrix are overwritten; the rest of the array is unchanged. If m .GE. n, elements on and below the diagonal in the first NB columns, with the array TAUQ, represent the orthogonal matrix Q as a product of elementary reflectors; and elements above the diagonal in the first NB rows, with the array TAUP, represent the orthogonal matrix P as a product of elementary reflectors. If m .LT. n, elements below the diagonal in the first NB columns, with the array TAUQ, represent the orthogonal matrix Q as a product of elementary reflectors, and elements on and above the diagonal in the first NB rows, with the array TAUP, represent the orthogonal matrix P as a product of elementary reflectors. See Further Details.
offset_a  Int32
 
LDA  Int32
(input) INTEGER The leading dimension of the array A. LDA .GE. max(1,M).
D  Double
(output) DOUBLE PRECISION array, dimension (NB) The diagonal elements of the first NB rows and columns of the reduced matrix. D(i) = A(i,i).
offset_d  Int32
 
E  Double
(output) DOUBLE PRECISION array, dimension (NB) The off-diagonal elements of the first NB rows and columns of the reduced matrix.
offset_e  Int32
 
TAUQ  Double
(output) DOUBLE PRECISION array dimension (NB) The scalar factors of the elementary reflectors which represent the orthogonal matrix Q. See Further Details.
offset_tauq  Int32
 
TAUP  Double
(output) DOUBLE PRECISION array, dimension (NB) The scalar factors of the elementary reflectors which represent the orthogonal matrix P. See Further Details.
offset_taup  Int32
 
X  Double
(output) DOUBLE PRECISION array, dimension (LDX,NB) The m-by-nb matrix X required to update the unreduced part of A.
offset_x  Int32
 
LDX  Int32
(input) INTEGER The leading dimension of the array X. LDX .GE. M.
Y  Double
(output) DOUBLE PRECISION array, dimension (LDY,NB) The n-by-nb matrix Y required to update the unreduced part of A.
offset_y  Int32
 
LDY  Int32
(input) INTEGER The leading dimension of the array Y. LDY .GE. N.
See Also