table of contents
- testing 3.12.0-4
- unstable 3.12.1-2
- experimental 3.12.1-1
lasd4(3) | LAPACK | lasd4(3) |
NAME¶
lasd4 - lasd4: D&C step: secular equation nonlinear solver
SYNOPSIS¶
Functions¶
subroutine dlasd4 (n, i, d, z, delta, rho, sigma, work,
info)
DLASD4 computes the square root of the i-th updated eigenvalue of a
positive symmetric rank-one modification to a positive diagonal matrix. Used
by dbdsdc. subroutine slasd4 (n, i, d, z, delta, rho, sigma, work,
info)
SLASD4 computes the square root of the i-th updated eigenvalue of a
positive symmetric rank-one modification to a positive diagonal matrix. Used
by sbdsdc.
Detailed Description¶
Function Documentation¶
subroutine dlasd4 (integer n, integer i, double precision, dimension( * ) d, double precision, dimension( * ) z, double precision, dimension( * ) delta, double precision rho, double precision sigma, double precision, dimension( * ) work, integer info)¶
DLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by dbdsdc.
Purpose:
This subroutine computes the square root of the I-th updated
eigenvalue of a positive symmetric rank-one modification to
a positive diagonal matrix whose entries are given as the squares
of the corresponding entries in the array d, and that
0 <= D(i) < D(j) for i < j
and that RHO > 0. This is arranged by the calling routine, and is
no loss in generality. The rank-one modified system is thus
diag( D ) * diag( D ) + RHO * Z * Z_transpose.
where we assume the Euclidean norm of Z is 1.
The method consists of approximating the rational functions in the
secular equation by simpler interpolating rational functions.
Parameters
N is INTEGER
The length of all arrays.
I
I is INTEGER
The index of the eigenvalue to be computed. 1 <= I <= N.
D
D is DOUBLE PRECISION array, dimension ( N )
The original eigenvalues. It is assumed that they are in
order, 0 <= D(I) < D(J) for I < J.
Z
Z is DOUBLE PRECISION array, dimension ( N )
The components of the updating vector.
DELTA
DELTA is DOUBLE PRECISION array, dimension ( N )
If N .ne. 1, DELTA contains (D(j) - sigma_I) in its j-th
component. If N = 1, then DELTA(1) = 1. The vector DELTA
contains the information necessary to construct the
(singular) eigenvectors.
RHO
RHO is DOUBLE PRECISION
The scalar in the symmetric updating formula.
SIGMA
SIGMA is DOUBLE PRECISION
The computed sigma_I, the I-th updated eigenvalue.
WORK
WORK is DOUBLE PRECISION array, dimension ( N )
If N .ne. 1, WORK contains (D(j) + sigma_I) in its j-th
component. If N = 1, then WORK( 1 ) = 1.
INFO
INFO is INTEGER
= 0: successful exit
> 0: if INFO = 1, the updating process failed.
Internal Parameters:
Logical variable ORGATI (origin-at-i?) is used for distinguishing
whether D(i) or D(i+1) is treated as the origin.
ORGATI = .true. origin at i
ORGATI = .false. origin at i+1
Logical variable SWTCH3 (switch-for-3-poles?) is for noting
if we are working with THREE poles!
MAXIT is the maximum number of iterations allowed for each
eigenvalue.
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
subroutine slasd4 (integer n, integer i, real, dimension( * ) d, real, dimension( * ) z, real, dimension( * ) delta, real rho, real sigma, real, dimension( * ) work, integer info)¶
SLASD4 computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by sbdsdc.
Purpose:
This subroutine computes the square root of the I-th updated
eigenvalue of a positive symmetric rank-one modification to
a positive diagonal matrix whose entries are given as the squares
of the corresponding entries in the array d, and that
0 <= D(i) < D(j) for i < j
and that RHO > 0. This is arranged by the calling routine, and is
no loss in generality. The rank-one modified system is thus
diag( D ) * diag( D ) + RHO * Z * Z_transpose.
where we assume the Euclidean norm of Z is 1.
The method consists of approximating the rational functions in the
secular equation by simpler interpolating rational functions.
Parameters
N is INTEGER
The length of all arrays.
I
I is INTEGER
The index of the eigenvalue to be computed. 1 <= I <= N.
D
D is REAL array, dimension ( N )
The original eigenvalues. It is assumed that they are in
order, 0 <= D(I) < D(J) for I < J.
Z
Z is REAL array, dimension ( N )
The components of the updating vector.
DELTA
DELTA is REAL array, dimension ( N )
If N .ne. 1, DELTA contains (D(j) - sigma_I) in its j-th
component. If N = 1, then DELTA(1) = 1. The vector DELTA
contains the information necessary to construct the
(singular) eigenvectors.
RHO
RHO is REAL
The scalar in the symmetric updating formula.
SIGMA
SIGMA is REAL
The computed sigma_I, the I-th updated eigenvalue.
WORK
WORK is REAL array, dimension ( N )
If N .ne. 1, WORK contains (D(j) + sigma_I) in its j-th
component. If N = 1, then WORK( 1 ) = 1.
INFO
INFO is INTEGER
= 0: successful exit
> 0: if INFO = 1, the updating process failed.
Internal Parameters:
Logical variable ORGATI (origin-at-i?) is used for distinguishing
whether D(i) or D(i+1) is treated as the origin.
ORGATI = .true. origin at i
ORGATI = .false. origin at i+1
Logical variable SWTCH3 (switch-for-3-poles?) is for noting
if we are working with THREE poles!
MAXIT is the maximum number of iterations allowed for each
eigenvalue.
Author
Univ. of California Berkeley
Univ. of Colorado Denver
NAG Ltd.
Contributors:
Author¶
Generated automatically by Doxygen for LAPACK from the source code.
Wed Feb 7 2024 11:30:40 | Version 3.12.0 |