File: dataStructure.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 (73 lines) | stat: -rw-r--r-- 2,434 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
\par
\section{Data Structure}
\label{section:ILUMtx:dataStructure}
\par
\par
The {\tt ILUMtx} structure has the following fields.
\begin{itemize}
\item
{\tt int neqns} : number of equations.
\item
{\tt int type} : type of entries, {\tt SPOOLES\_REAL} or
{\tt SPOOLES\_COMPLEX}.
\item
{\tt int symmetryflag} : type of matrix symmetry, 
{\tt SPOOLES\_SYMMETRIC}, {\tt SPOOLES\_HERMITIAN} or
{\tt SPOOLES\_NONSYMMETRIC}.
\item
{\tt int UstorageMode} : type of storage for $U$,
{\tt SPOOLES\_BY\_ROWS} or {\tt SPOOLES\_BY\_COLUMNS}.
\item
{\tt int LstorageMode} : type of storage for $L$,
{\tt SPOOLES\_BY\_ROWS} or {\tt SPOOLES\_BY\_COLUMNS}.
\item
{\tt double *entD} : vector of diagonal entries.
\item
{\tt int *sizesL} : vector of sizes of the off-diagonal vectors of $L$,
not used if the matrix is symmetric or Hermitian.
\item
{\tt int **p\_indL} : vector of pointers to the indicies vectors of $L$,
not used if the matrix is symmetric or Hermitian.
\item
{\tt double **p\_entL} : vector of pointers to the entries vectors 
of $L$, not used if the matrix is symmetric or Hermitian.
\item
{\tt int *sizesU} : vector of sizes of the off-diagonal vectors of $U$.
\item
{\tt int **p\_indU} : vector of pointers to the indicies vectors of $U$.
\item
{\tt double **p\_entU} : vector of pointers to the entries vectors 
of $U$.
\end{itemize}
\par
One can query the attributes of the object with the following
macros.
\begin{itemize}
\item
{\tt ILUMTX\_IS\_REAL(mtx)} returns {\tt 1} 
if the entries are real, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_COMPLEX(mtx)} returns {\tt 1} 
if the entries are complex, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_SYMMETRIC(mtx)} returns {\tt 1} 
if the factorization is symmetric, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_HERMITIAN(mtx)} returns {\tt 1} 
if the factorization is Hermitian, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_NONSYMMETRIC(mtx)} returns {\tt 1} 
if the factorization is nonsymmetric, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_L\_BY\_ROWS(mtx)} returns {\tt 1} 
if $L$ is stored by rows, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_L\_BY\_COLUMNS(mtx)} returns {\tt 1} 
if $L$ is stored by columns, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_U\_BY\_ROWS(mtx)} returns {\tt 1} 
if $U$ is stored by rows, and {\tt 0} otherwise.
\item
{\tt ILUMTX\_IS\_U\_BY\_COLUMNS(mtx)} returns {\tt 1} 
if $U$ is stored by columns, and {\tt 0} otherwise.
\end{itemize}