![]() |
LAPACK
3.4.0
LAPACK: Linear Algebra PACKage
|
Go to the source code of this file.
Functions/Subroutines | |
| subroutine | DLAEDA (N, TLVLS, CURLVL, CURPBM, PRMPTR, PERM, GIVPTR, GIVCOL, GIVNUM, Q, QPTR, Z, ZTEMP, INFO) |
| DLAEDA | |
| subroutine DLAEDA | ( | INTEGER | N, |
| INTEGER | TLVLS, | ||
| INTEGER | CURLVL, | ||
| INTEGER | CURPBM, | ||
| INTEGER, dimension( * ) | PRMPTR, | ||
| INTEGER, dimension( * ) | PERM, | ||
| INTEGER, dimension( * ) | GIVPTR, | ||
| INTEGER, dimension( 2, * ) | GIVCOL, | ||
| DOUBLE PRECISION, dimension( 2, * ) | GIVNUM, | ||
| DOUBLE PRECISION, dimension( * ) | Q, | ||
| INTEGER, dimension( * ) | QPTR, | ||
| DOUBLE PRECISION, dimension( * ) | Z, | ||
| DOUBLE PRECISION, dimension( * ) | ZTEMP, | ||
| INTEGER | INFO | ||
| ) |
DLAEDA
Download DLAEDA + dependencies [TGZ] [ZIP] [TXT]DLAEDA computes the Z vector corresponding to the merge step in the CURLVLth step of the merge process with TLVLS steps for the CURPBMth problem.
| [in] | N |
N is INTEGER
The dimension of the symmetric tridiagonal matrix. N >= 0.
|
| [in] | TLVLS |
TLVLS is INTEGER
The total number of merging levels in the overall divide and
conquer tree.
|
| [in] | CURLVL |
CURLVL is INTEGER
The current level in the overall merge routine,
0 <= curlvl <= tlvls.
|
| [in] | CURPBM |
CURPBM is INTEGER
The current problem in the current level in the overall
merge routine (counting from upper left to lower right).
|
| [in] | PRMPTR |
PRMPTR is INTEGER array, dimension (N lg N)
Contains a list of pointers which indicate where in PERM a
level's permutation is stored. PRMPTR(i+1) - PRMPTR(i)
indicates the size of the permutation and incidentally the
size of the full, non-deflated problem.
|
| [in] | PERM |
PERM is INTEGER array, dimension (N lg N)
Contains the permutations (from deflation and sorting) to be
applied to each eigenblock.
|
| [in] | GIVPTR |
GIVPTR is INTEGER array, dimension (N lg N)
Contains a list of pointers which indicate where in GIVCOL a
level's Givens rotations are stored. GIVPTR(i+1) - GIVPTR(i)
indicates the number of Givens rotations.
|
| [in] | GIVCOL |
GIVCOL is INTEGER array, dimension (2, N lg N)
Each pair of numbers indicates a pair of columns to take place
in a Givens rotation.
|
| [in] | GIVNUM |
GIVNUM is DOUBLE PRECISION array, dimension (2, N lg N)
Each number indicates the S value to be used in the
corresponding Givens rotation.
|
| [in] | Q |
Q is DOUBLE PRECISION array, dimension (N**2)
Contains the square eigenblocks from previous levels, the
starting positions for blocks are given by QPTR.
|
| [in] | QPTR |
QPTR is INTEGER array, dimension (N+2)
Contains a list of pointers which indicate where in Q an
eigenblock is stored. SQRT( QPTR(i+1) - QPTR(i) ) indicates
the size of the block.
|
| [out] | Z |
Z is DOUBLE PRECISION array, dimension (N)
On output this vector contains the updating vector (the last
row of the first sub-eigenvector matrix and the first row of
the second sub-eigenvector matrix).
|
| [out] | ZTEMP |
ZTEMP is DOUBLE PRECISION array, dimension (N)
|
| [out] | INFO |
INFO is INTEGER
= 0: successful exit.
< 0: if INFO = -i, the i-th argument had an illegal value.
|
Definition at line 166 of file dlaeda.f.