88 SUBROUTINE ssvdct( N, S, E, SHIFT, NUM )
107 parameter ( one = 1.0e0 )
109 parameter ( zero = 0.0e0 )
113 REAL M1, M2, MX, OVFL, SOV, SSHIFT, SSUN, SUN, TMP,
121 INTRINSIC abs, max, sqrt
127 unfl = 2*slamch(
'Safe minimum' )
134 mx = max( mx, abs( s( i+1 ) ), abs( e( i ) ) )
137 IF( mx.EQ.zero )
THEN
138 IF( shift.LT.zero )
THEN
164 sshift = ( shift*m1 )*m2
175 tmp = ( s( 1 )*m1 )*m2
176 u = -tmp*( tmp / u ) - sshift
187 tmp = ( e( i )*m1 )*m2
188 u = -tmp*( tmp / u ) - sshift
198 tmp = ( s( i+1 )*m1 )*m2
199 u = -tmp*( tmp / u ) - sshift
subroutine ssvdct(N, S, E, SHIFT, NUM)
SSVDCT