Purpose
=======
DSYTD2 reduces a real symmetric matrix A to symmetric tridiagonal
form T by an orthogonal similarity transformation: Q' * A * Q = T.
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 UPLO,
int N,
ref double[] A,
int offset_a,
int LDA,
ref double[] D,
int offset_d,
ref double[] E,
int offset_e,
ref double[] TAU,
int offset_tau,
ref int INFO
)
Public Sub Run (
UPLO As String,
N As Integer,
ByRef A As Double(),
offset_a As Integer,
LDA As Integer,
ByRef D As Double(),
offset_d As Integer,
ByRef E As Double(),
offset_e As Integer,
ByRef TAU As Double(),
offset_tau As Integer,
ByRef INFO As Integer
)
Request Example
View SourceParameters
- UPLO String
-
(input) CHARACTER*1
Specifies whether the upper or lower triangular part of the
symmetric matrix A is stored:
= 'U': Upper triangular
= 'L': Lower triangular
- N Int32
-
(input) INTEGER
The order of the matrix A. N .GE. 0.
- A Double
-
(input/output) DOUBLE PRECISION array, dimension (LDA,N)
On entry, the symmetric matrix A. If UPLO = 'U', the leading
n-by-n upper triangular part of A contains the upper
triangular part of the matrix A, and the strictly lower
triangular part of A is not referenced. If UPLO = 'L', the
leading n-by-n lower triangular part of A contains the lower
triangular part of the matrix A, and the strictly upper
triangular part of A is not referenced.
On exit, if UPLO = 'U', the diagonal and first superdiagonal
of A are overwritten by the corresponding elements of the
tridiagonal matrix T, and the elements above the first
superdiagonal, with the array TAU, represent the orthogonal
matrix Q as a product of elementary reflectors; if UPLO
= 'L', the diagonal and first subdiagonal of A are over-
written by the corresponding elements of the tridiagonal
matrix T, and the elements below the first subdiagonal, with
the array TAU, represent the orthogonal matrix Q 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,N).
- D Double
-
(output) DOUBLE PRECISION array, dimension (N)
The diagonal elements of the tridiagonal matrix T:
D(i) = A(i,i).
- offset_d Int32
-
- E Double
-
(output) DOUBLE PRECISION array, dimension (N-1)
The off-diagonal elements of the tridiagonal matrix T:
E(i) = A(i,i+1) if UPLO = 'U', E(i) = A(i+1,i) if UPLO = 'L'.
- offset_e Int32
-
- TAU Double
-
(output) DOUBLE PRECISION array, dimension (N-1)
The scalar factors of the elementary reflectors (see Further
Details).
- offset_tau Int32
-
- INFO Int32
-
(output) INTEGER
= 0: successful exit
.LT. 0: if INFO = -i, the i-th argument had an illegal value.
See Also