File: drivers.tex

package info (click to toggle)
spooles 2.2-16
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 19,760 kB
  • sloc: ansic: 146,836; sh: 7,571; csh: 3,615; makefile: 1,970; perl: 74
file content (110 lines) | stat: -rw-r--r-- 3,521 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
\par
\section{Driver programs for the {\tt ILUMtx} object}
\label{section:ILUMtx:drivers}
\par
This section contains brief descriptions of the driver programs.
\par
%=======================================================================
\begin{enumerate}
%-----------------------------------------------------------------------
\item
\begin{verbatim}
testFactor msglvl msgFile type symflag 
           neqns nitem seed sigma matlabFile
\end{verbatim}
This driver program generates a random matrix $A$ stored in
an {\tt InpMtx} object.
It then factors $A = (L+I)D(I+U)$, $A = (U^T+I)D(I+U)$ or
$A = (U^H+I)D(I+U)$ (depending on {\tt type} and {\tt symflag}).
If {\tt matlabFile} is not {\tt "none"},
it writes $A$, $L$, $D$ and $U$ to a Matlab file,
which can then be run through matlab to compute the error in
the factorization.
The CPU, number of operations and megaflops for the factorization
are printed to {\tt msgFile}.
\par
\begin{itemize}
\item
The {\tt msglvl} parameter determines the amount of output.
\item
The {\tt msgFile} parameter determines the message file --- if {\tt
msgFile} is {\tt stdout}, then the message file is {\it stdout},
otherwise a file is opened with {\it append} status to receive any
output data.
\item
{\tt type} must be either 
{\tt SPOOLES\_REAL} or
{\tt SPOOLES\_COMPLEX}.
\item
{\tt symflag} must be either 
{\tt SPOOLES\_SYMMETRIC},
{\tt SPOOLES\_HERMITIAN} or
{\tt SPOOLES\_SYMMETRIC}.
\item
{\tt neqns} is the number of equations, must be positive.
\item
{\tt nitem} is the number of off-diagonal entries, must be nonnegative.
\item
{\tt seed} is a random number seed.
\item
{\tt sigma} is the drop tolerance.
\item
{\tt matlabFile} is the name of the Matlab file for the matrices. 
If {\tt "none"} then no output is written.
\end{itemize}
%-----------------------------------------------------------------------
\item
\begin{verbatim}
testSolve msglvl msgFile neqns type symflag 
           LstorageMode UstorageMode seed matlabFile
\end{verbatim}
This driver program solve a linear system
$(L+I)D(I+U)X = B$, 
$(U^T+I)D(I+U)X = B$ or
$(U^H+I)D(I+U)X = B$,
depending on {\tt type} and {\tt symflag}.
$L$, $D$ and $L$ are random sparse matrices and
$B$ is a random vector.
If {\tt matlabFile} is not {\tt "none"},
it writes $L$, $D$, $U$, $B$ and the computed solution
$X$ to a Matlab file,
which can then be run through matlab to compute the error in
the solve.
The CPU, number of operations and megaflops for the factorization
are printed to {\tt msgFile}.
\par
\begin{itemize}
\item
The {\tt msglvl} parameter determines the amount of output.
\item
The {\tt msgFile} parameter determines the message file --- if {\tt
msgFile} is {\tt stdout}, then the message file is {\it stdout},
otherwise a file is opened with {\it append} status to receive any
output data.
\item
{\tt neqns} is the number of equations, must be positive.
\item
{\tt type} must be either 
{\tt SPOOLES\_REAL} or
{\tt SPOOLES\_COMPLEX}.
\item
{\tt symflag} must be either 
{\tt SPOOLES\_SYMMETRIC},
{\tt SPOOLES\_HERMITIAN} or
{\tt SPOOLES\_SYMMETRIC}.
\item
{\tt LstorageMode} must be either 
{\tt SPOOLES\_BY\_ROWS} or
{\tt SPOOLES\_BY\_COLUMNS}.
\item
{\tt UstorageMode} must be either 
{\tt SPOOLES\_BY\_ROWS} or
{\tt SPOOLES\_BY\_COLUMNS}.
\item
{\tt seed} is a random number seed.
\item
{\tt matlabFile} is the name of the Matlab file for the matrices. 
If {\tt "none"} then no output is written.
\end{itemize}
%-----------------------------------------------------------------------
\end{enumerate}