LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
dlaeda.f File Reference

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

Function/Subroutine Documentation

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]
Purpose:

 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.
 
Parameters:
[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.
 
Author:
Univ. of Tennessee
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Date:
November 2011
Contributors:
Jeff Rutter, Computer Science Division, University of California at Berkeley, USA

Definition at line 166 of file dlaeda.f.

Here is the call graph for this function:

Here is the caller graph for this function:

 All Files Functions