dlasq1(3)

dlasq13

Part of dlasq1.f(3).

Usage

Functions/Subroutines

subroutine dlasq1 (n, d, e, work, info)
DLASQ1 computes the singular values of a real square bidiagonal matrix. Used by sbdsqr.

Function/Subroutine Documentation

subroutine dlasq1 (integer n, double precision, dimension( * ) d, double precision, dimension( * ) e, double precision, dimension( * ) work, integer info)

DLASQ1 computes the singular values of a real square bidiagonal matrix. Used by sbdsqr.

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, in the absence of
!> denormalization, underflow and overflow. The algorithm was first
!> presented in
!>
!>  by K. V.
!> Fernando and B. N. Parlett, Numer. Math., Vol-67, No. 2, pp. 191-230,
!> 1994,
!>
!> and the present implementation is described in , LAPACK Working Note.
!> 

Parameters

N

!>          N is INTEGER
!>        The number of rows and columns in the matrix. N >= 0.
!> 

D

!>          D is 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

!>          E is 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

!>          WORK is DOUBLE PRECISION array, dimension (4*N)
!> 

INFO

!>          INFO is INTEGER
!>        = 0: successful exit
!>        < 0: if INFO = -i, the i-th argument had an illegal value
!>        > 0: the algorithm failed
!>             = 1, a split was marked by a positive value in E
!>             = 2, current block of Z not diagonalized after 100*N
!>                  iterations (in inner while loop)  On exit D and E
!>                  represent a matrix with the same singular values
!>                  which the calling subroutine could use to finish the
!>                  computation, or even feed back into DLASQ1
!>             = 3, termination criterion of outer while loop not met
!>                  (program created more than N unreduced blocks)
!> 

Author

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line 107 of file dlasq1.f.

Releases

14 releases since Debian 1.3 (Bo); the text changed 11 times.

  1. 1.3
  2. 2.0–2.2
  3. 3.0
  4. 3.1
  5. 4.0
  6. 7
  7. 8
  8. 9
  9. 10
  10. 11
  11. 12
  12. Arch

Author

Generated automatically by Doxygen for LAPACK from the source code.

From lapack-doc 3.12.1-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.