GNU/Linux |
CentOS 4.8 |
i386 |
![]() |
slasd5(l) |
![]() |
SLASD5 - subroutine computes the square root of the I-th eigenvalue of a positive symmetric rank-one modification of a 2-by-2 diagonal matrix diag( D ) * diag( D ) + RHO * Z * transpose(Z)
SUBROUTINE SLASD5( |
I, D, Z, DELTA, RHO, DSIGMA, WORK ) |
|||
INTEGER |
I |
|||
REAL |
DSIGMA, RHO |
|||
REAL |
D( 2 ), DELTA( 2 ), WORK( 2 ), Z( 2 ) |
This subroutine computes the square root of the I-th eigenvalue of a positive symmetric rank-one modification of a 2-by-2 diagonal matrix diag( D ) * diag( D ) + RHO * Z * transpose(Z) . The diagonal entries in the array D are assumed to satisfy
0 <= D(i) < D(j) for i < j .
We also assume RHO > 0 and that the Euclidean norm of the vector Z is one.
I (input) INTEGER
The index of the eigenvalue to be computed. I = 1 or I = 2.
D (input) REAL array, dimension ( 2 )
The original eigenvalues. We assume 0 <= D(1) < D(2).
Z (input) REAL array, dimension ( 2 )
The components of the updating vector.
DELTA (output) REAL array, dimension ( 2 )
Contains (D(j) - lambda_I) in its j-th component. The vector DELTA contains the information necessary to construct the eigenvectors.
RHO (input) REAL
The scalar in the symmetric updating formula.
DSIGMA (output) REAL The computed lambda_I, the I-th updated eigenvalue.
WORK (workspace) REAL array, dimension ( 2 )
WORK contains (D(j) + sigma_I) in its j-th component.
Based on
contributions by
Ren-Cang Li, Computer Science Division, University of
California
at Berkeley, USA
![]() |
slasd5(l) | ![]() |