CXML

dsskyc 


FORMAT

  DSSKYC
   (n, au, iaudiag, nau, iparam, rparam, iwrk, rwrk, ierror)

Arguments

  n                   integer*4
                      On entry, the order of the matrix A.
                      On exit, n is unchanged.

  au                  real*8
                      On entry, an array of length at least nau, containing
                      the transp(U)*D*U factorization of the matrix A stored
                      in the skyline storage scheme, using either the
                      profile-in, or the diagonal-out storage mode.  The
                      factorization has been obtained by a prior call to the
                      routine DSSKYF.  au must remain unchanged between calls
                      to the routines DSSKYF and DSSKYC.
                      On exit,  au is unchanged.

  iaudiag             integer*4
                      On entry, an array of length at least n for the
                      profile-in storage mode and (n+1) for the diagonal-out
                      storage mode, containing the pointers to the locations
                      of the diagonal elements in array AU.
                      On exit,  iaudiag is unchanged.

  nau                 integer*4
                      On entry, the number of elements in array AU. nau is
                      also the envelope size of the symmetric part of the
                      matrix A. For the profile-in storage mode, nau =
                      IAUDIAG(n).  For the diagonal-out storage mode, nau =
                      IAUDIAG(n+1) - 1.
                      On exit,  nau is unchanged.

  iparam              integer*4
                      An array of length at least 100, containing the integer
                      parameters for the condition number estimator.

  iparam(1): niparam
                      On entry, defines the length of the array IPARAM.
                      niparam >= 100.
                      On exit, iparam(1) is unchanged.

  iparam(2): nrparam
                      On entry, defines the length of the array RPARAM.
                      nrparam >= 100.
                      On exit,  iparam(2) is unchanged.

  iparam(3): niwrk
                      On entry, defines the size of the integer work array,
                      IWRK.  niwrk >=3n.
                      On exit,  iparam(3) is unchanged.

  iparam(4): nrwrk
                      On entry, defines the size of the real work array,
                      RWRK.  nrwrk >= 2n.
                      On exit,  iparam(4) is unchanged.

  iparam(5): iounit
                      On entry, defines the I/O unit number for printing
                      error messages and information from the routine DSSKYC.
                      The I/O unit must be opened in the calling subprogram.
                      If iounit <= 0, no output is generated.
                      On exit,  iparam(5) is unchanged.

  iparam(6): iolevel
                      On entry, defines the message level that determines the
                      amount of information printed out to iounit, when
                      iounit > 0.

                      iolevel = 0 : fatal error messages only

                      iolevel = 1 : error messages and minimal information

                      iolevel = 2 : error messages and detailed information

                      On exit,  iparam(6) is unchanged.

  iparam(7): idefault
                      On entry, defines if the default values should be used
                      in arrays IPARAM and RPARAM. If idefault = 0, then the
                      following default values are assigned:

                      IPARAM(1) = niparam = 100

                      IPARAM(2) = nrparam = 100

                      IPARAM(6) = iolevel = 0

                      IPARAM(8) = istore = 1

                      If idefault = 1, then you must assign values to the
                      above variables before the call to the DSSKYC routine.
                      On exit,  iparam(7) is unchanged.

  iparam(8): istore
                      On entry, defines the type of storage scheme used for
                      the skyline matrix.  If  istore = 1, the matrix A is
                      stored using the profile-in storage mode; if  istore =
                      2, the matrix A is stored using the diagonal-out
                      storage mode.  The storage scheme used in the routines
                      DSSKYF and DSSKYC must be identical.  Default:  istore
                      = 1.
                      On exit,  iparam(8) is unchanged.

   rparam             real*8
                      An array of length at least 100, containing the real
                      parameters for the condition number estimator.

  rparam(1): anorm
                      On entry, the 1-norm of the matric A, which has been
                      obtained by a prior call to routine DSSKYN.
                      On exit,  rparam(1) is unchanged.

  rparam(2): ainorm
                      On entry, an unspecified variable.
                      On exit,  rparam(2) contains the estimate of the 1-norm
                      of inverse(A)).

  rparam(3): rcond
                      On entry, an unspecified variable.
                      On exit,  rparam(3) contains the reciprocal of the
                      estimate of the 1-norm condition number of the matrix
                      A.

  iwrk                integer*4
                      On entry, an array of length at least 3n used for
                      integer workspace. The first 2n elements of  iwrk
                      generated by the routine DSSKYF must be passed
                      unchanged to the routine DSSKYC.
                      On exit,  the first 2n elements of iwrk are unchanged.
                      The next n elements are used as integer workspace by
                      DSSKYC.

   rwrk                real*8
                      On entry, an array of length at least 2n used for
                      integer workspace.
                      On exit,  the first 2n elements of rwrk are
                      overwritten.

  ierror              integer*4
                      On entry, an unspecified variable.
                      On exit,  ierror contains the error flag. A value of
                      zero indicates a normal exit from the routine DSSKYC.

Description

  DSSKYC obtains the reciprocal of the estimate of the 1-norm condition
  number of the symmetric matrix A as:

  rcond(A) = 1 / (||A||  * ||inverse(A)|| )

  The 1-norm of inverse(A) is obtained using the LAPACK routine DLACON, which
  uses Higham's modification [Higham 1988] of Hager's method [Hager 1984].
  This routine uses reverse communication for the evaluation of matrix-vector
  products.  As the matrix under consideration is inverse(A)), routine DSSKYC
  requires calls to the routine DSSKYS. Hence the first 2n elements of the
  integer work array, IWRK, which are generated by the routine DSSKYF, and
  used by the routine DSSKYS, must remain unchanged between the calls to the
  routines DSSKYF and DSSKYC. The storage scheme used in the routines DSSKYF
  and DSSKYC must be identical.

CXML Home Page

Index of CXML Routines