Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public
Document Table of Contents

?lasq3

Checks for deflation, computes a shift and calls dqds. Used by ?bdsqr.

Syntax

call slasq3( i0, n0, z, pp, dmin, sigma, desig, qmax, nfail, iter, ndiv, ieee, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau )

call dlasq3( i0, n0, z, pp, dmin, sigma, desig, qmax, nfail, iter, ndiv, ieee, ttype, dmin1, dmin2, dn, dn1, dn2, g, tau )

Include Files

  • mkl.fi

Description

The routine ?lasq3 checks for deflation, computes a shift tau, and calls dqds. In case of failure, it changes shifts, and tries again until output is positive.

Input Parameters

i0

INTEGER. First index.

n0

INTEGER. Last index.

z

REAL for slasq3

DOUBLE PRECISION for dlasq3.

Array, DIMENSION (4n). z holds the qd array.

pp

INTEGER. pp=0 for ping, pp=1 for pong. pp=2 indicates that flipping was applied to the Z array and that the initial tests for deflation should not be performed.

desig

REAL for slasq3

DOUBLE PRECISION for dlasq3.

Lower order part of sigma.

qmax

REAL for slasq3

DOUBLE PRECISION for dlasq3.

Maximum value of q.

ieee

LOGICAL.

Flag for ieee or non-ieee arithmetic (passed to ?lasq5).

ttype

INTEGER.

Shift type.

dmin1, dmin2, dn, dn1, dn2, g, tau

REAL for slasq3

DOUBLE PRECISION for dlasq3.

These scalars are passed as arguments in order to save their values between calls to ?lasq3.

Output Parameters

dmin

REAL for slasq3

DOUBLE PRECISION for dlasq3.

Minimum value of d.

pp

INTEGER. pp=0 for ping, pp=1 for pong. pp=2 indicates that flipping was applied to the Z array and that the initial tests for deflation should not be performed.

sigma

REAL for slasq3

DOUBLE PRECISION for dlasq3.

Sum of shifts used in the current segment.

desig

Lower order part of sigma.

nfail

INTEGER. Number of times shift was too big.

iter

INTEGER. Number of iterations.

ndiv

INTEGER. Number of divisions.

ttype

INTEGER.

Shift type.

dmin1, dmin2, dn, dn1, dn2, g, tau

REAL for slasq3

DOUBLE PRECISION for dlasq3.

These scalars are passed as arguments in order to save their values between calls to ?lasq3.