NAME
slasq3 - SLASQ3 is the workhorse of the whole bidiagonal SVD
algorithm
SYNOPSIS
SUBROUTINE SLASQ3( N, Q, E, QQ, EE, SUP, SIGMA, KEND, OFF,
IPHASE, ICONV, EPS, TOL2, SMALL2 )
INTEGER ICONV, IPHASE, KEND, N, OFF
REAL EPS, SIGMA, SMALL2, SUP, TOL2
REAL E( * ), EE( * ), Q( * ), QQ( * )
#include <sunperf.h>
void slasq3(int *n, float *q, float *e, float *qq, float
*ee, float *sup, float *sigma, int *kend, int
*off, int *iphase, int iconv, float eps, float
tol2, float small2) ;
PURPOSE
SLASQ3 is the workhorse of the whole bidiagonal SVD algo-
rithm. This can be described as the differential qd with
shifts.
ARGUMENTS
N (input/output) INTEGER
On entry, N specifies the number of rows and
columns in the matrix. N must be at least 3. On
exit N is non-negative and less than the input
value.
Q (input/output) REAL array, dimension (N)
Q array in ping (see IPHASE below)
E (input/output) REAL array, dimension (N)
E array in ping (see IPHASE below)
QQ (input/output) REAL array, dimension (N)
Q array in pong (see IPHASE below)
EE (input/output) REAL array, dimension (N)
E array in pong (see IPHASE below)
SUP (input/output) REAL
Upper bound for the smallest eigenvalue
SIGMA (input/output) REAL
Accumulated shift for the present submatrix
KEND (input/output) INTEGER
Index where minimum D(i) occurs in recurrence for
splitting criterion
OFF (input/output) INTEGER
Offset for arrays
IPHASE (input/output) INTEGER
If IPHASE = 1 (ping) then data is in Q and E
arrays If IPHASE = 2 (pong) then data is in QQ and
EE arrays
ICONV (input) INTEGER
If ICONV = 0 a bottom part of a matrix (with a
split) If ICONV =-3 a top part of a matrix (with a
split)
EPS (input) REAL
Machine epsilon
TOL2 (input) REAL
Square of the relative tolerance TOL as defined in
SLASQ1
SMALL2 (input) REAL
A threshold value as defined in SLASQ1
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |