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-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |