Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/31/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?lasd4

Computes the square root of the i-th updated eigenvalue of a positive symmetric rank-one modification to a positive diagonal matrix. Used by ?bdsdc.

Syntax

call slasd4( n, i, d, z, delta, rho, sigma, work, info)

call dlasd4( n, i, d, z, delta, rho, sigma, work, info )

Include Files
  • mkl.fi
Description

The routine 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*ZT,

where the Euclidean norm of Z is equal to 1.The method consists of approximating the rational functions in the secular equation by simpler interpolating rational functions.

Input Parameters
n

INTEGER. The length of all arrays.

i

INTEGER.

The index of the eigenvalue to be computed. 1 ≤ in.

d

REAL for slasd4

DOUBLE PRECISION for dlasd4

Array, DIMENSION (n).

The original eigenvalues. They must be in order, 0 ≤ d(i) < d(j) for i < j.

z

REAL for slasd4

DOUBLE PRECISION for dlasd4

Array, DIMENSION (n).

The components of the updating vector.

rho

REAL for slasd4

DOUBLE PRECISION for dlasd4

The scalar in the symmetric updating formula.

work

REAL for slasd4

DOUBLE PRECISION for dlasd4

Workspace array, DIMENSION (n ).

If n 1, work contains (d(j) + sigma_i) in its j-th component.

If n = 1, then work( 1 ) = 1.

Output Parameters
delta

REAL for slasd4

DOUBLE PRECISION for dlasd4

Array, DIMENSION (n).

If n 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.

sigma

REAL for slasd4

DOUBLE PRECISION for dlasd4

The computed sigma_i, the i-th updated eigenvalue.

info

INTEGER.

= 0: successful exit

> 0: If info = 1, the updating process failed.