Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

dlaed9 (3p)

Name

dlaed9 - is used by sstedc. Find the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense

Synopsis

SUBROUTINE DLAED9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA,  W,  S,
LDS, INFO )


INTEGER INFO, K, KSTART, KSTOP, LDQ, LDS, N

DOUBLE PRECISION RHO

DOUBLE PRECISION D(*),DLAMDA(*), Q(LDQ,*), S(LDS,*), W(*)


SUBROUTINE  DLAED9_64(  K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W,
S, LDS, INFO )


INTEGER*8 INFO, K, KSTART, KSTOP, LDQ, LDS, N

DOUBLE PRECISION RHO

DOUBLE PRECISION D(*),DLAMDA(*), Q(LDQ,*), S(LDS,*), W(*)


F95 INTERFACE
SUBROUTINE LAED9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO,  DLAMDA,  W,  S,
LDS, INFO )


INTEGER :: K, KSTART, KSTOP, N, LDQ, LDS, INFO

REAL(8), DIMENSION(:,:) :: Q, S

REAL(8), DIMENSION(:) :: D, DLAMDA, W

REAL(8) :: RHO


SUBROUTINE LAED9_64( K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W, S,
LDS, INFO )


INTEGER(8) :: K, KSTART, KSTOP, N, LDQ, LDS, INFO

REAL(8), DIMENSION(:,:) :: Q, S

REAL(8), DIMENSION(:) :: D, DLAMDA, W

REAL(8) :: RHO


C INTERFACE
#include <sunperf.h>

void dlaed9 (int k, int kstart, int kstop, int n, double *d, double *q,
int  ldq,  double  rho, double *dlamda, double *w, double *s,
int lds, int *info);


void dlaed9_64 (long k, long kstart, long kstop,  long  n,  double  *d,
double  *q,  long ldq, double rho, double *dlamda, double *w,
double *s, long lds, long *info);

Description

Oracle Solaris Studio Performance Library                           dlaed9(3P)



NAME
       dlaed9  - is used by sstedc. Find the roots of the secular equation and
       updates the eigenvectors. Used when the original matrix is dense


SYNOPSIS
       SUBROUTINE DLAED9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA,  W,  S,
                 LDS, INFO )


       INTEGER INFO, K, KSTART, KSTOP, LDQ, LDS, N

       DOUBLE PRECISION RHO

       DOUBLE PRECISION D(*),DLAMDA(*), Q(LDQ,*), S(LDS,*), W(*)


       SUBROUTINE  DLAED9_64(  K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W,
                 S, LDS, INFO )


       INTEGER*8 INFO, K, KSTART, KSTOP, LDQ, LDS, N

       DOUBLE PRECISION RHO

       DOUBLE PRECISION D(*),DLAMDA(*), Q(LDQ,*), S(LDS,*), W(*)


   F95 INTERFACE
       SUBROUTINE LAED9( K, KSTART, KSTOP, N, D, Q, LDQ, RHO,  DLAMDA,  W,  S,
                 LDS, INFO )


       INTEGER :: K, KSTART, KSTOP, N, LDQ, LDS, INFO

       REAL(8), DIMENSION(:,:) :: Q, S

       REAL(8), DIMENSION(:) :: D, DLAMDA, W

       REAL(8) :: RHO


       SUBROUTINE LAED9_64( K, KSTART, KSTOP, N, D, Q, LDQ, RHO, DLAMDA, W, S,
                 LDS, INFO )


       INTEGER(8) :: K, KSTART, KSTOP, N, LDQ, LDS, INFO

       REAL(8), DIMENSION(:,:) :: Q, S

       REAL(8), DIMENSION(:) :: D, DLAMDA, W

       REAL(8) :: RHO


   C INTERFACE
       #include <sunperf.h>

       void dlaed9 (int k, int kstart, int kstop, int n, double *d, double *q,
                 int  ldq,  double  rho, double *dlamda, double *w, double *s,
                 int lds, int *info);


       void dlaed9_64 (long k, long kstart, long kstop,  long  n,  double  *d,
                 double  *q,  long ldq, double rho, double *dlamda, double *w,
                 double *s, long lds, long *info);


PURPOSE
       dlaed9 finds the roots of the secular equation, as defined by the  val-
       ues in D, Z, and RHO, between KSTART and KSTOP.  It makes the appropri-
       ate calls to DLAED4 and then stores the new matrix of eigenvectors  for
       use in calculating the next level of Z vectors.


ARGUMENTS
       K (input)
                 K is INTEGER
                 The number of terms in the rational function to be solved by
                 DLAED4.  K >= 0.


       KSTART (input)
                 KSTART is INTEGER


       KSTOP (input)
                 KSTOP is INTEGER
                 The updated eigenvalues Lambda(I), KSTART <= I <= KSTOP
                 are to be computed.  1 <= KSTART <= KSTOP <= K.


       N (input)
                 N is INTEGER
                 The number of rows and columns in the Q matrix.
                 N >= K (delation may result in N > K).


       D (output)
                 D is DOUBLE PRECISION array, dimension (N)
                 D(I) contains the updated eigenvalues
                 for KSTART <= I <= KSTOP.


       Q (output)
                 Q is DOUBLE PRECISION array, dimension (LDQ,N)


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


       RHO (input)
                 RHO is DOUBLE PRECISION
                 The value of the parameter in the rank one update equation.
                 RHO >= 0 required.


       DLAMDA (input)
                 DLAMDA is DOUBLE PRECISION array, dimension (K)
                 The first K elements of this array contain the old roots
                 of the deflated updating problem.  These are the poles
                 of the secular equation.


       W (input)
                 W is DOUBLE PRECISION array, dimension (K)
                 The first K elements of this array contain the components
                 of the deflation-adjusted updating vector.


       S (output)
                 S is DOUBLE PRECISION array, dimension (LDS, K)
                 Will contain the eigenvectors of the repaired matrix which
                 will be stored for subsequent Z vector calculation and
                 multiplied by the previously accumulated eigenvectors
                 to update the system.


       LDS (input)
                 LDS is INTEGER
                 The leading dimension of S.  LDS >= max( 1, K ).


       INFO (output)
                 INFO is INTEGER
                 = 0:  successful exit.
                 < 0:  if INFO = -i, the i-th argument had an illegal value.
                 > 0:  if INFO = 1, an eigenvalue did not converge




                                  7 Nov 2015                        dlaed9(3P)