Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?laqr1
Sets a scalar multiple of the first column of the product of 2-by-2 or 3-by-3 matrix H and specified shifts.
Syntax
call slaqr1(n, h, ldh, sr1, si1, sr2, si2, v)
call dlaqr1(n, h, ldh, sr1, si1, sr2, si2, v)
call claqr1(n, h, ldh, s1, s2, v)
call zlaqr1(n, h, ldh, s1, s2, v)
Include Files
mkl.fi
Description
Given a 2-by-2 or 3-by-3 matrix H , this routine sets v to a scalar multiple of the first column of the product
K = (H - s1*I)*(H - s2*I) , or K = (H - (sr1 + i*si1)*I)*(H - (sr2 + i*si2)*I)
scaling to avoid overflows and most underflows.
It is assumed that either 1) sr1 = sr2 and si1 = -si2 , or 2) si1 = si2 = 0 .
This is useful for starting double implicit shift bulges in the QR algorithm.
Input Parameters
- n
-
INTEGER . The order of the matrix H . n must be equal to 2 or 3.
- sr1 , si2 , sr2 , si2
-
REAL for slaqr1 DOUBLE PRECISION for dlaqr1 Shift values that define K in the formula above.
- s1 , s2
-
COMPLEX for claqr1 DOUBLE COMPLEX for zlaqr1 .
- h
-
REAL for slaqr1 DOUBLE PRECISION for dlaqr1 COMPLEX for claqr1 DOUBLE COMPLEX for zlaqr1 . Array, DIMENSION ( ldh , n ), contains 2-by-2 or 3-by-3 matrix H in the formula above.
- ldh
-
INTEGER . The leading dimension of the array h just as declared in the calling routine. ldh ≥ n .
Output Parameters
- v
-
REAL for slaqr1 DOUBLE PRECISION for dlaqr1 COMPLEX for claqr1 DOUBLE COMPLEX for zlaqr1 . Array with dimension (n) . A scalar multiple of the first column of the matrix K in the formula above.