Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ dsskyc(3DXML) — Extended Math Library 3.4

Media Vault

Software Library

Restoration Projects

Artifacts Sought

DSSKYC(3DXML)  —  Subroutines

Digital

Name

dsskyc − Symmetric sparse matrix condition number estimator using skyline storage scheme

FORMAT

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

Arguments

ninteger∗4
On entry, the order of the matrix A.
On exit, n is unchanged. 

aureal∗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. 

iaudiaginteger∗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. 

nauinteger∗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. 

iparaminteger∗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. 

rparamreal∗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. 

iwrkinteger∗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. 

ierrorinteger∗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. 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026