Click or drag to resize

DGEBD2Run Method

Purpose ======= DGEBD2 reduces a real general m by n matrix A to upper or lower bidiagonal form B by an orthogonal transformation: Q' * A * P = B. If m .GE. n, B is upper bidiagonal; if m .LT. n, B is lower bidiagonal.

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,
	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[] WORK,
	int offset_work,
	ref int INFO
)
Request Example View Source

Parameters

M  Int32
(input) INTEGER The number of rows in the matrix A. M .GE. 0.
N  Int32
(input) INTEGER The number of columns in the matrix A. N .GE. 0.
A  Double
(input/output) DOUBLE PRECISION array, dimension (LDA,N) On entry, the m by n general matrix to be reduced. On exit, if m .GE. n, the diagonal and the first superdiagonal are overwritten with the upper bidiagonal matrix B; the elements below the diagonal, with the array TAUQ, represent the orthogonal matrix Q as a product of elementary reflectors, and the elements above the first superdiagonal, with the array TAUP, represent the orthogonal matrix P as a product of elementary reflectors; if m .LT. n, the diagonal and the first subdiagonal are overwritten with the lower bidiagonal matrix B; the elements below the first subdiagonal, with the array TAUQ, represent the orthogonal matrix Q as a product of elementary reflectors, and the elements above the diagonal, 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 (min(M,N)) The diagonal elements of the bidiagonal matrix B: D(i) = A(i,i).
offset_d  Int32
 
E  Double
(output) DOUBLE PRECISION array, dimension (min(M,N)-1) The off-diagonal elements of the bidiagonal matrix B: if m .GE. n, E(i) = A(i,i+1) for i = 1,2,...,n-1; if m .LT. n, E(i) = A(i+1,i) for i = 1,2,...,m-1.
offset_e  Int32
 
TAUQ  Double
(output) DOUBLE PRECISION array dimension (min(M,N)) 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 (min(M,N)) The scalar factors of the elementary reflectors which represent the orthogonal matrix P. See Further Details.
offset_taup  Int32
 
WORK  Double
(workspace) DOUBLE PRECISION array, dimension (max(M,N))
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