# laed9 - Man Page

laed9: D&C step: secular equation

## Synopsis

### Functions

subroutine **dlaed9** (k, kstart, kstop, n, d, q, ldq, rho, dlambda, w, s, lds, info)**DLAED9** used by DSTEDC. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.

subroutine **slaed9** (k, kstart, kstop, n, d, q, ldq, rho, dlambda, w, s, lds, info)**SLAED9** used by SSTEDC. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.

## Detailed Description

## Function Documentation

### subroutine dlaed9 (integer k, integer kstart, integer kstop, integer n, double precision, dimension( * ) d, double precision, dimension( ldq, * ) q, integer ldq, double precision rho, double precision, dimension( * ) dlambda, double precision, dimension( * ) w, double precision, dimension( lds, * ) s, integer lds, integer info)

**DLAED9** used by DSTEDC. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.

**Purpose:**

DLAED9 finds the roots of the secular equation, as defined by the values in D, Z, and RHO, between KSTART and KSTOP. It makes the appropriate calls to DLAED4 and then stores the new matrix of eigenvectors for use in calculating the next level of Z vectors.

**Parameters***K*K is INTEGER The number of terms in the rational function to be solved by DLAED4. K >= 0.

*KSTART*KSTART is INTEGER

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

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

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

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

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

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

*DLAMBDA*DLAMBDA 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*W is DOUBLE PRECISION array, dimension (K) The first K elements of this array contain the components of the deflation-adjusted updating vector.

*S*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*LDS is INTEGER The leading dimension of S. LDS >= max( 1, K ).

*INFO*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

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**Jeff Rutter, Computer Science Division, University of California at Berkeley, USA

Definition at line **154** of file **dlaed9.f**.

### subroutine slaed9 (integer k, integer kstart, integer kstop, integer n, real, dimension( * ) d, real, dimension( ldq, * ) q, integer ldq, real rho, real, dimension( * ) dlambda, real, dimension( * ) w, real, dimension( lds, * ) s, integer lds, integer info)

**SLAED9** used by SSTEDC. Finds the roots of the secular equation and updates the eigenvectors. Used when the original matrix is dense.

**Purpose:**

SLAED9 finds the roots of the secular equation, as defined by the values in D, Z, and RHO, between KSTART and KSTOP. It makes the appropriate calls to SLAED4 and then stores the new matrix of eigenvectors for use in calculating the next level of Z vectors.

**Parameters***K*K is INTEGER The number of terms in the rational function to be solved by SLAED4. K >= 0.

*KSTART*KSTART is INTEGER

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

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

*D*D is REAL array, dimension (N) D(I) contains the updated eigenvalues for KSTART <= I <= KSTOP.

*Q*Q is REAL array, dimension (LDQ,N)

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

*RHO*RHO is REAL The value of the parameter in the rank one update equation. RHO >= 0 required.

*DLAMBDA*DLAMBDA is REAL 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*W is REAL array, dimension (K) The first K elements of this array contain the components of the deflation-adjusted updating vector.

*S*S is REAL 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*LDS is INTEGER The leading dimension of S. LDS >= max( 1, K ).

*INFO*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

**Author**Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

**Contributors:**Jeff Rutter, Computer Science Division, University of California at Berkeley, USA

Definition at line **154** of file **slaed9.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.