NAME dlasq1 - DLASQ1 computes the singular values of a real N- by-N bidiagonal matrix with diagonal D and off-diagonal E SYNOPSIS SUBROUTINE DLASQ1( N, D, E, WORK, INFO ) INTEGER INFO, N DOUBLE PRECISION D( * ), E( * ), WORK( * ) #include <sunperf.h> void dlasq1(int n, double *d, double *e, int *info) ; PURPOSE DLASQ1 computes the singular values of a real N-by-N bidiagonal matrix with diagonal D and off-diagonal E. The singular values are computed to high relative accuracy, barring over/underflow or denormalization. The algorithm is described in "Accurate singular values and differential qd algo- rithms," by K. V. Fernando and B. N. Parlett, Numer. Math., Vol-67, No. 2, pp. 191-230,1994. See also "Implementation of differential qd algorithms," by K. V. Fernando and B. N. Parlett, Technical Report, Department of Mathematics, University of California at Berkeley, 1994 (Under preparation). ARGUMENTS N (input) INTEGER The number of rows and columns in the matrix. N >= 0. D (input/output) DOUBLE PRECISION array, dimension (N) On entry, D contains the diagonal elements of the bidiagonal matrix whose SVD is desired. On normal exit, D contains the singular values in decreasing order. E (input/output) DOUBLE PRECISION array, dimension (N) On entry, elements E(1:N-1) contain the off- diagonal elements of the bidiagonal matrix whose SVD is desired. On exit, E is overwritten. WORK (workspace) DOUBLE PRECISION array, dimension (2*N) INFO (output) INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an ille- gal value > 0: if INFO = i, the algorithm did not converge; i specifies how many superdiagonals did not con- verge.
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |