

 
Manual Reference Pages  PDLAED3 (l)
NAME
PDLAED3  find the roots of the secular equation, as defined by the values in D, W, and RHO, between 1 and K
CONTENTS
Synopsis
Purpose
Arguments
SYNOPSIS
SUBROUTINE PDLAED3(

ICTXT, K, N, NB, D, DROW, DCOL, RHO, DLAMDA,
W, Z, U, LDU, BUF, INDX, INDCOL, INDROW,
INDXR, INDXC, CTOT, NPCOL, INFO )


INTEGER
DCOL, DROW, ICTXT, INFO, K, LDU, N, NB, NPCOL


DOUBLE
PRECISION RHO


INTEGER
CTOT( 0: NPCOL1, 4 ), INDCOL( * ),
INDROW( * ), INDX( * ), INDXC( * ), INDXR( * )


DOUBLE
PRECISION BUF( * ), D( * ), DLAMDA( * ), U( LDU, * ),
W( * ), Z( * )


PURPOSE
PDLAED3 finds the roots of the secular equation, as defined by the values in D, W, and RHO, between 1 and K. It makes the appropriate calls to SLAED4
This code makes very mild assumptions about floating point
arithmetic. It will work on machines with a guard digit in
add/subtract, or on those binary machines without guard digits
which subtract like the Cray XMP, Cray YMP, Cray C90, or Cray2.
It could conceivably fail on hexadecimal or decimal machines
without guard digits, but we know of none.
ARGUMENTS
ICTXT (global input) INTEGER
 
The BLACS context handle, indicating the global context of
the operation on the matrix. The context itself is global.

K (output) INTEGER
 
The number of nondeflated eigenvalues, and the order of the
related secular equation. 0 <= K <=N.

N (input) INTEGER
 
The dimension of the symmetric tridiagonal matrix. N >= 0.


NB (global input) INTEGER
 
The blocking factor used to distribute the columns of the
matrix. NB >= 1.


D (input/output) DOUBLE PRECISION array, dimension (N)
 
On entry, D contains the eigenvalues of the two submatrices to
be combined.
On exit, D contains the trailing (NK) updated eigenvalues
(those which were deflated) sorted into increasing order.

DROW (global input) INTEGER
 
The process row over which the first row of the matrix D is
distributed. 0 <= DROW < NPROW.

DCOL (global input) INTEGER
 
The process column over which the first column of the
matrix D is distributed. 0 <= DCOL < NPCOL.

Q (input/output) DOUBLE PRECISION array, dimension (LDQ, N)
 
On entry, Q contains the eigenvectors of two submatrices in
the two square blocks with corners at (1,1), (N1,N1)
and (N1+1, N1+1), (N,N).
On exit, Q contains the trailing (NK) updated eigenvectors
(those which were deflated) in its last NK columns.

LDQ (input) INTEGER
 
The leading dimension of the array Q. LDQ >= max(1,NQ).

RHO (global input/output) DOUBLE PRECISION
 
On entry, the offdiagonal element associated with the rank1
cut which originally split the two submatrices which are now
being recombined.
On exit, RHO has been modified to the value required by
PDLAED3.
DLAMDA (global output) DOUBLE PRECISION array, dimension (N)
A copy of the first K eigenvalues which will be used by
SLAED3 to form the secular equation.

W (global output) DOUBLE PRECISION array, dimension (N)
 
The first k values of the final deflationaltered zvector
which will be passed to SLAED3.

Z (global input) DOUBLE PRECISION array, dimension (N)
 
On entry, Z contains the updating vector (the last
row of the first subeigenvector matrix and the first row of
the second subeigenvector matrix).
On exit, the contents of Z have been destroyed by the updating
process.


U (global output) DOUBLE PRECISION array
 
global dimension (N, N), local dimension (LDU, NQ).
Q contains the orthonormal eigenvectors of the symmetric
tridiagonal matrix.


LDU (input) INTEGER
 
The leading dimension of the array U.

QBUF (workspace) DOUBLE PRECISION array, dimension 3*N
INDX (workspace) INTEGER array, dimension (N)
 
The permutation used to sort the contents of DLAMDA into
ascending order.
INDCOL (workspace) INTEGER array, dimension (N)
INDROW (workspace) INTEGER array, dimension (N)
INDXR (workspace) INTEGER array, dimension (N)
INDXC (workspace) INTEGER array, dimension (N)

CTOT (workspace) INTEGER array, dimension( NPCOL, 4)
NPCOL (global input) INTEGER
 
The total number of columns over which the distributed
submatrix is distributed.

INFO (output) INTEGER
 
= 0: successful exit.
< 0: if INFO = i, the ith argument had an illegal value.
> 0: The algorithm failed to compute the ith eigenvalue.


ScaLAPACK version 1.7  PDLAED3 (l)  13 August 2001 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 