--- 
:name: dsterf
:md5sum: 5dc7d5e9f4d5a3a72037d3b60fce2589
:category: :subroutine
:arguments: 
- n: 
    :type: integer
    :intent: input
- d: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - n
- e: 
    :type: doublereal
    :intent: input/output
    :dims: 
    - n-1
- info: 
    :type: integer
    :intent: output
:substitutions: {}

:fortran_help: "      SUBROUTINE DSTERF( N, D, E, INFO )\n\n\
  *  Purpose\n\
  *  =======\n\
  *\n\
  *  DSTERF computes all eigenvalues of a symmetric tridiagonal matrix\n\
  *  using the Pal-Walker-Kahan variant of the QL or QR algorithm.\n\
  *\n\n\
  *  Arguments\n\
  *  =========\n\
  *\n\
  *  N       (input) INTEGER\n\
  *          The order of the matrix.  N >= 0.\n\
  *\n\
  *  D       (input/output) DOUBLE PRECISION array, dimension (N)\n\
  *          On entry, the n diagonal elements of the tridiagonal matrix.\n\
  *          On exit, if INFO = 0, the eigenvalues in ascending order.\n\
  *\n\
  *  E       (input/output) DOUBLE PRECISION array, dimension (N-1)\n\
  *          On entry, the (n-1) subdiagonal elements of the tridiagonal\n\
  *          matrix.\n\
  *          On exit, E has been destroyed.\n\
  *\n\
  *  INFO    (output) INTEGER\n\
  *          = 0:  successful exit\n\
  *          < 0:  if INFO = -i, the i-th argument had an illegal value\n\
  *          > 0:  the algorithm failed to find all of the eigenvalues in\n\
  *                a total of 30*N iterations; if INFO = i, then i\n\
  *                elements of E have not converged to zero.\n\
  *\n\n\
  *  =====================================================================\n\
  *\n"
