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
|
\par
\section{Data Structure}
\label{section:SolveMap:dataStructure}
\par
The {\tt SolveMap} structure has the following fields.
\begin{itemize}
\item
{\tt int symmetryflag} : symmetry flag
\begin{itemize}
\item {\tt SPOOLES\_SYMMETRIC}
-- symmetric $(U^T + I)D(I + U)$ factorization
\item {\tt SPOOLES\_HERMITIAN}
-- hermitian $(U^H + I)D(I + U)$ factorization
\item {\tt SPOOLES\_NONSYMMETRIC}
-- nonsymmetric $(L + I)D(I + U)$ factorization
\end{itemize}
\item
{\tt int nfront} -- number of fronts
\item
{\tt int nproc} -- number of threads or processes
\item
{\tt int *owners} -- vector mapping fronts to owning threads or
processes
\item
{\tt int nblockUpper} -- number of submatrices in the upper triangle
\item
{\tt int *rowidsUpper} -- vector of row ids for the upper triangle
\item
{\tt int *colidsUpper} -- vector of column ids for the upper triangle
\item
{\tt int *mapUpper} -- map from submatrices to threads or processes
\item
{\tt int nblockLower} -- number of submatrices in the lower triangle
\item
{\tt int *rowidsLower} -- vector of row ids for the lower triangle
\item
{\tt int *colidsLower} -- vector of column ids for the lower triangle
\item
{\tt int *mapLower} -- map from submatrices to threads or processes
processes
\end{itemize}
|