mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-24 14:51:49 +00:00
Switched to htlatex for HTML users guide.
This commit is contained in:
+20
-7
@@ -113,6 +113,7 @@ DATE = $(shell date +%Y-%m-%d)
|
||||
#
|
||||
LATEX = latex
|
||||
LTX2HTML = latex2html -local_icons
|
||||
LTX2HTML = htlatex
|
||||
PDFLATEX = pdflatex
|
||||
ACRO = evince
|
||||
XPDF = xpdf
|
||||
@@ -143,6 +144,7 @@ BASEHTML = $(patsubst %.tex,%,$(HTMLFILE))
|
||||
HTML = $(join $(HTMLFILE),.html)
|
||||
HTMLDIR = ../html
|
||||
HTMLFLAGS = -noaddress
|
||||
HTMLFLAGS = "html,3"
|
||||
|
||||
FIGURES = $(sort $(wildcard $(FIGDIR)/*))
|
||||
GLOFILES:= $(sort $(wildcard lib/*.gdf))
|
||||
@@ -159,9 +161,9 @@ TEXLNFIL = $(addprefix $(PWD)/,$(TEXFILES))
|
||||
#============================================================================
|
||||
|
||||
all: pdf html
|
||||
|
||||
|
||||
pdf: $(PDF) copypdf
|
||||
html: $(HTML)
|
||||
html: $(HTML) copyhtml
|
||||
|
||||
$(PDF): $(TEXFILES) $(LIBFILES) $(FIGURES) Makefile
|
||||
$(header)
|
||||
@@ -184,19 +186,21 @@ copypdf:
|
||||
$(HTML): $(TEXFILES) $(LIBFILES) $(FIGURES) Makefile
|
||||
$(header)
|
||||
$(initialize)
|
||||
$(latex-filter)
|
||||
$(pdflatex-filter)
|
||||
ifneq ($(BIBFILES),)
|
||||
$(bibtex)
|
||||
$(latex-filter)
|
||||
$(pdflatex-filter)
|
||||
endif
|
||||
ifneq ($(GLOFILES),)
|
||||
$(glosstex)
|
||||
$(latex-filter)
|
||||
$(pdflatex-filter)
|
||||
endif
|
||||
# $(makeindex)
|
||||
$(latex-filter)
|
||||
$(ltx2html-filter)
|
||||
|
||||
copyhtml:
|
||||
$(ltx2html-cpy)
|
||||
|
||||
$(PS): $(PDF)
|
||||
$(PDF2PS) $< $(PS)
|
||||
|
||||
@@ -328,7 +332,16 @@ define ltx2html-filter
|
||||
@echo "----- latex -------------------------------------------------------"
|
||||
@echo -n "Starting: "; date
|
||||
@echo
|
||||
cd tmp; ($(LTX2HTML) $(HTMLFLAGS) -dir ../$(HTMLDIR) $(HTMLFILE) 2>&1) | $(FILTER)
|
||||
# cd tmp; ($(LTX2HTML) $(HTMLFLAGS) -dir ../$(HTMLDIR) $(HTMLFILE) 2>&1) | $(FILTER)
|
||||
cd tmp; ($(LTX2HTML) $(HTMLFILE) $(HTMLFLAGS) 2>&1) | $(FILTER)
|
||||
endef
|
||||
|
||||
define ltx2html-cpy
|
||||
@echo
|
||||
@echo "----- latex -------------------------------------------------------"
|
||||
@echo -n "Starting: "; date
|
||||
@echo
|
||||
cd tmp; (cp *.css *.html *.png ../$(HTMLDIR)); (cp $(HTMLFILE) ../$(HTMLDIR)/index.html)
|
||||
endef
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
+6
-10
@@ -8,8 +8,7 @@ The routines in this chapter implement various global communication operators
|
||||
on vectors associated with a discretization mesh. For auxiliary communication
|
||||
routines not tied to a discretization space see~\ref{sec:toolsrout}.
|
||||
|
||||
\clearpage\subsection*{psb\_halo --- Halo Data Communication}
|
||||
\addcontentsline{toc}{subsection}{psb\_halo}
|
||||
\clearpage\subsection{psb\_halo --- Halo Data Communication}
|
||||
|
||||
|
||||
These subroutines gathers the values of the halo
|
||||
@@ -88,7 +87,7 @@ An integer value that contains an error code.
|
||||
\begin{figure}[h]
|
||||
\begin{center}
|
||||
\ifcase\pdfoutput
|
||||
\includegraphics[scale=0.45]{figures/try8x8.eps}
|
||||
\includegraphics[scale=0.45]{figures/try8x8.png}
|
||||
\or
|
||||
\includegraphics[scale=0.45]{figures/try8x8}
|
||||
\fi
|
||||
@@ -162,8 +161,7 @@ following:
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_ovrl --- Overlap Update}
|
||||
\addcontentsline{toc}{subsection}{psb\_ovrl}
|
||||
\clearpage\subsection{psb\_ovrl --- Overlap Update}
|
||||
|
||||
These subroutines applies an overlap operator to the input vector:
|
||||
|
||||
@@ -267,7 +265,7 @@ their instances.
|
||||
\begin{figure}[h]
|
||||
\begin{center}
|
||||
\ifcase\pdfoutput
|
||||
\includegraphics[scale=0.65]{figures/try8x8_ov.eps}
|
||||
\includegraphics[scale=0.65]{figures/try8x8_ov.png}
|
||||
\or
|
||||
{\includegraphics[scale=0.65]{figures/try8x8_ov}}
|
||||
\fi
|
||||
@@ -354,8 +352,7 @@ following (showing a transition among the two subdomains)
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\clearpage\subsection*{psb\_gather --- Gather Global Dense Matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_gather}
|
||||
\clearpage\subsection{psb\_gather --- Gather Global Dense Matrix}
|
||||
|
||||
These subroutines collect the portions of global dense matrix
|
||||
distributed over all process into one single array stored on one
|
||||
@@ -456,8 +453,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\clearpage\subsection*{psb\_scatter --- Scatter Global Dense Matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_scatter}
|
||||
\clearpage\subsection{psb\_scatter --- Scatter Global Dense Matrix}
|
||||
|
||||
These subroutines scatters the portions of global dense matrix owned
|
||||
by a process to all the processes in the processes grid.
|
||||
|
||||
+61
-70
@@ -182,8 +182,7 @@ state, which can take the following values:
|
||||
|
||||
\subsubsection{Descriptor Methods}
|
||||
|
||||
\subsubsection*{get\_local\_rows --- Get number of local rows}
|
||||
\addcontentsline{toc}{paragraph}{get\_local\_rows}
|
||||
\subsubsection{get\_local\_rows --- Get number of local rows}
|
||||
|
||||
\begin{verbatim}
|
||||
nr = desc%get_local_rows()
|
||||
@@ -208,8 +207,7 @@ Scope: {\bf local}.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{get\_local\_cols --- Get number of local cols}
|
||||
\addcontentsline{toc}{paragraph}{get\_local\_cols}
|
||||
\subsubsection{get\_local\_cols --- Get number of local cols}
|
||||
|
||||
\begin{verbatim}
|
||||
nc = desc%get_local_cols()
|
||||
@@ -235,8 +233,7 @@ Scope: {\bf local}.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{get\_global\_rows --- Get number of global rows}
|
||||
\addcontentsline{toc}{paragraph}{get\_global\_rows}
|
||||
\subsubsection{get\_global\_rows --- Get number of global rows}
|
||||
|
||||
\begin{verbatim}
|
||||
nr = desc%get_global_rows()
|
||||
@@ -258,8 +255,7 @@ Scope: {\bf local}.\\
|
||||
global index space.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{get\_global\_cols --- Get number of global cols}
|
||||
\addcontentsline{toc}{paragraph}{get\_global\_cols}
|
||||
\subsubsection{get\_global\_cols --- Get number of global cols}
|
||||
|
||||
\begin{verbatim}
|
||||
nr = desc%get_global_cols()
|
||||
@@ -282,8 +278,7 @@ Scope: {\bf local}.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{get\_global\_indices --- Get vector of global indices}
|
||||
\addcontentsline{toc}{paragraph}{get\_global\_indices}
|
||||
\subsubsection{get\_global\_indices --- Get vector of global indices}
|
||||
|
||||
\begin{verbatim}
|
||||
myidx = desc%get_global_indices([owned])
|
||||
@@ -311,8 +306,7 @@ Type: {\bf optional}; default: \verb|.true.|.\\
|
||||
|
||||
|
||||
|
||||
\subsubsection*{get\_context --- Get communication context}
|
||||
\addcontentsline{toc}{paragraph}{get\_context}
|
||||
\subsubsection{get\_context --- Get communication context}
|
||||
|
||||
\begin{verbatim}
|
||||
ictxt = desc%get_context()
|
||||
@@ -333,8 +327,7 @@ Scope: {\bf local}.\\
|
||||
\item[Function value] The communication context.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{Clone --- clone current object}
|
||||
\addcontentsline{toc}{paragraph}{Clone}
|
||||
\subsubsection{Clone --- clone current object}
|
||||
|
||||
\begin{verbatim}
|
||||
call desc%clone(descout,info)
|
||||
@@ -357,8 +350,7 @@ Scope: {\bf local}.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{CNV --- convert internal storage format}
|
||||
\addcontentsline{toc}{paragraph}{CNV}
|
||||
\subsubsection{CNV --- convert internal storage format}
|
||||
|
||||
\begin{verbatim}
|
||||
call desc%cnv(mold)
|
||||
@@ -381,9 +373,8 @@ accelerators.
|
||||
|
||||
|
||||
|
||||
\subsubsection*{psb\_cd\_get\_large\_threshold --- Get threshold for
|
||||
\subsubsection{psb\_cd\_get\_large\_threshold --- Get threshold for
|
||||
index mapping switch}
|
||||
\addcontentsline{toc}{paragraph}{psb\_cd\_get\_large\_threshold}
|
||||
|
||||
\begin{verbatim}
|
||||
ith = psb_cd_get_large_threshold()
|
||||
@@ -398,9 +389,9 @@ ith = psb_cd_get_large_threshold()
|
||||
|
||||
|
||||
|
||||
\subsubsection*{psb\_cd\_set\_large\_threshold --- Set threshold for
|
||||
\subsubsection{psb\_cd\_set\_large\_threshold --- Set threshold for
|
||||
index mapping switch}
|
||||
\addcontentsline{toc}{paragraph}{psb\_cd\_set\_large\_threshold}
|
||||
%\addcontentsline{toc}{paragraph}{psb\_cd\_set\_large\_threshold}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_cd_set_large_threshold(ith)
|
||||
@@ -422,8 +413,8 @@ initialized. Moreover the threshold must have the same value on all
|
||||
processes.
|
||||
|
||||
|
||||
\subsubsection*{get\_p\_adjcncy --- Get process adjacency list}
|
||||
\addcontentsline{toc}{paragraph}{get\_p\_adjcncy}
|
||||
\subsubsection{get\_p\_adjcncy --- Get process adjacency list}
|
||||
%\addcontentsline{toc}{paragraph}{get\_p\_adjcncy}
|
||||
|
||||
\begin{verbatim}
|
||||
list = desc%get_p_adjcncy()
|
||||
@@ -438,8 +429,8 @@ list = desc%get_p_adjcncy()
|
||||
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{set\_p\_adjcncy --- Set process adjacency list}
|
||||
\addcontentsline{toc}{paragraph}{set\_p\_adjcncy}
|
||||
\subsubsection{set\_p\_adjcncy --- Set process adjacency list}
|
||||
%\addcontentsline{toc}{paragraph}{set\_p\_adjcncy}
|
||||
|
||||
\begin{verbatim}
|
||||
call desc%set_p_adjcncy(list)
|
||||
@@ -461,8 +452,8 @@ current process. The availability of this information may speed up the
|
||||
execution of the assembly call \verb|psb_cdasb|.
|
||||
|
||||
|
||||
\subsubsection*{fnd\_owner --- Find the owner process of a set of indices}
|
||||
\addcontentsline{toc}{paragraph}{fnd\_owner}
|
||||
\subsubsection{fnd\_owner --- Find the owner process of a set of indices}
|
||||
%\addcontentsline{toc}{paragraph}{fnd\_owner}
|
||||
|
||||
\begin{verbatim}
|
||||
call desc%fnd_owner(idx,iprc,info)
|
||||
@@ -591,8 +582,8 @@ variants are obtained by conversion to/from it.
|
||||
|
||||
\subsubsection{Sparse Matrix Methods}
|
||||
|
||||
\subsubsection*{get\_nrows --- Get number of rows in a sparse matrix}
|
||||
\addcontentsline{toc}{paragraph}{get\_nrows}
|
||||
\subsubsection{get\_nrows --- Get number of rows in a sparse matrix}
|
||||
%\addcontentsline{toc}{paragraph}{get\_nrows}
|
||||
|
||||
\begin{verbatim}
|
||||
nr = a%get_nrows()
|
||||
@@ -614,9 +605,9 @@ Scope: {\bf local}\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{get\_ncols --- Get number of columns in a sparse
|
||||
\subsubsection{get\_ncols --- Get number of columns in a sparse
|
||||
matrix}
|
||||
\addcontentsline{toc}{paragraph}{get\_ncols}
|
||||
%\addcontentsline{toc}{paragraph}{get\_ncols}
|
||||
|
||||
\begin{verbatim}
|
||||
nc = a%get_ncols()
|
||||
@@ -638,9 +629,9 @@ Scope: {\bf local}\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{get\_nnzeros --- Get number of nonzero elements
|
||||
\subsubsection{get\_nnzeros --- Get number of nonzero elements
|
||||
in a sparse matrix}
|
||||
\addcontentsline{toc}{paragraph}{get\_nnzeros}
|
||||
%\addcontentsline{toc}{paragraph}{get\_nnzeros}
|
||||
|
||||
\begin{verbatim}
|
||||
nz = a%get_nnzeros()
|
||||
@@ -668,9 +659,9 @@ Scope: {\bf local}\\
|
||||
value for the same matrix may be different for different storage choices.
|
||||
\end{enumerate}
|
||||
|
||||
\subsubsection*{get\_size --- Get maximum number of nonzero elements
|
||||
\subsubsection{get\_size --- Get maximum number of nonzero elements
|
||||
in a sparse matrix}
|
||||
\addcontentsline{toc}{paragraph}{get\_size }
|
||||
%\addcontentsline{toc}{paragraph}{get\_size }
|
||||
|
||||
\begin{verbatim}
|
||||
maxnz = a%get_size()
|
||||
@@ -692,9 +683,9 @@ Scope: {\bf local}\\
|
||||
be stored in sparse matrix \verb|a| using its current memory allocation.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{sizeof --- Get memory occupation in bytes
|
||||
\subsubsection{sizeof --- Get memory occupation in bytes
|
||||
of a sparse matrix}
|
||||
\addcontentsline{toc}{paragraph}{sizeof }
|
||||
%\addcontentsline{toc}{paragraph}{sizeof }
|
||||
|
||||
\begin{verbatim}
|
||||
memory_size = a%sizeof()
|
||||
@@ -716,8 +707,8 @@ Scope: {\bf local}\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{get\_fmt --- Short description of the dynamic type}
|
||||
\addcontentsline{toc}{paragraph}{get\_fmt }
|
||||
\subsubsection{get\_fmt --- Short description of the dynamic type}
|
||||
%\addcontentsline{toc}{paragraph}{get\_fmt }
|
||||
|
||||
\begin{verbatim}
|
||||
write(*,*) a%get_fmt()
|
||||
@@ -740,8 +731,8 @@ Scope: {\bf local}\\
|
||||
\verb|CSR| and \verb|CSC|.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{is\_bld, is\_upd, is\_asb --- Status check}
|
||||
\addcontentsline{toc}{paragraph}{is\_bld, is\_upd, is\_asb }
|
||||
\subsubsection{is\_bld, is\_upd, is\_asb --- Status check}
|
||||
%\addcontentsline{toc}{paragraph}{is\_bld, is\_upd, is\_asb }
|
||||
|
||||
\begin{verbatim}
|
||||
if (a%is_bld()) then
|
||||
@@ -765,9 +756,9 @@ Scope: {\bf local}\\
|
||||
matrix is in the Build, Update or Assembled state, respectively.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{is\_lower, is\_upper, is\_triangle, is\_unit ---
|
||||
\subsubsection{is\_lower, is\_upper, is\_triangle, is\_unit ---
|
||||
Format check}
|
||||
\addcontentsline{toc}{paragraph}{is\_lower, is\_upper, is\_triangle, is\_unit}
|
||||
%\addcontentsline{toc}{paragraph}{is\_lower, is\_upper, is\_triangle, is\_unit}
|
||||
|
||||
\begin{verbatim}
|
||||
if (a%is_triangle()) then
|
||||
@@ -795,8 +786,8 @@ Scope: {\bf local}\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{cscnv --- Convert to a different storage format}
|
||||
\addcontentsline{toc}{paragraph}{cscnv}
|
||||
\subsubsection{cscnv --- Convert to a different storage format}
|
||||
%\addcontentsline{toc}{paragraph}{cscnv}
|
||||
|
||||
\begin{verbatim}
|
||||
call a%cscnv(b,info [, type, mold, dupl])
|
||||
@@ -828,8 +819,8 @@ employed to interface with special devices, such as GPUs and other
|
||||
accelerators.
|
||||
|
||||
|
||||
\subsubsection*{csclip --- Reduce to a submatrix}
|
||||
\addcontentsline{toc}{paragraph}{csclip}
|
||||
\subsubsection{csclip --- Reduce to a submatrix}
|
||||
%\addcontentsline{toc}{paragraph}{csclip}
|
||||
\begin{verbatim}
|
||||
call a%csclip(b,info[,&
|
||||
& imin,imax,jmin,jmax,rscale,cscale])
|
||||
@@ -856,8 +847,8 @@ A variable of type \verb|psb_Tspmat_type|.
|
||||
\item[info] Return code.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{clean\_zeros --- Eliminate zero coefficients}
|
||||
\addcontentsline{toc}{paragraph}{clean\_zeros}
|
||||
\subsubsection{clean\_zeros --- Eliminate zero coefficients}
|
||||
%\addcontentsline{toc}{paragraph}{clean\_zeros}
|
||||
\begin{verbatim}
|
||||
call a%clean_zeros(info)
|
||||
\end{verbatim}
|
||||
@@ -880,8 +871,8 @@ A variable of type \verb|psb_Tspmat_type|.
|
||||
\item[info] Return code.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{get\_diag --- Get main diagonal}
|
||||
\addcontentsline{toc}{paragraph}{get\_diag}
|
||||
\subsubsection{get\_diag --- Get main diagonal}
|
||||
%\addcontentsline{toc}{paragraph}{get\_diag}
|
||||
\begin{verbatim}
|
||||
call a%get_diag(d,info)
|
||||
\end{verbatim}
|
||||
@@ -902,8 +893,8 @@ A one-dimensional array of the appropriate type.
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{clip\_diag --- Cut out main diagonal}
|
||||
\addcontentsline{toc}{paragraph}{clip\_diag}
|
||||
\subsubsection{clip\_diag --- Cut out main diagonal}
|
||||
%\addcontentsline{toc}{paragraph}{clip\_diag}
|
||||
\begin{verbatim}
|
||||
call a%clip_diag(b,info)
|
||||
\end{verbatim}
|
||||
@@ -924,8 +915,8 @@ A variable of type \verb|psb_Tspmat_type|.
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{tril --- Return the lower triangle}
|
||||
\addcontentsline{toc}{paragraph}{tril}
|
||||
\subsubsection{tril --- Return the lower triangle}
|
||||
%\addcontentsline{toc}{paragraph}{tril}
|
||||
\begin{verbatim}
|
||||
call a%tril(l,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale,u])
|
||||
@@ -958,8 +949,8 @@ A variable of type \verb|psb_Tspmat_type|.
|
||||
\item[info] Return code.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{triu --- Return the upper triangle}
|
||||
\addcontentsline{toc}{paragraph}{triu}
|
||||
\subsubsection{triu --- Return the upper triangle}
|
||||
%\addcontentsline{toc}{paragraph}{triu}
|
||||
\begin{verbatim}
|
||||
call a%triu(u,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale,l])
|
||||
@@ -995,8 +986,8 @@ A variable of type \verb|psb_Tspmat_type|.
|
||||
|
||||
|
||||
|
||||
\subsubsection*{psb\_set\_mat\_default --- Set default storage format}
|
||||
\addcontentsline{toc}{paragraph}{psb\_set\_mat\_default}
|
||||
\subsubsection{psb\_set\_mat\_default --- Set default storage format}
|
||||
%\addcontentsline{toc}{paragraph}{psb\_set\_mat\_default}
|
||||
|
||||
|
||||
\begin{verbatim}
|
||||
@@ -1015,8 +1006,8 @@ Type: required.
|
||||
|
||||
|
||||
|
||||
\subsubsection*{clone --- Clone current object}
|
||||
\addcontentsline{toc}{paragraph}{clone}
|
||||
\subsubsection{clone --- Clone current object}
|
||||
%\addcontentsline{toc}{paragraph}{clone}
|
||||
|
||||
\begin{verbatim}
|
||||
call a%clone(b,info)
|
||||
@@ -1112,8 +1103,8 @@ private memory.
|
||||
\end{figure}
|
||||
|
||||
\subsubsection{Vector Methods}
|
||||
\subsubsection*{get\_nrows --- Get number of rows in a dense vector}
|
||||
\addcontentsline{toc}{paragraph}{get\_nrows}
|
||||
\subsubsection{get\_nrows --- Get number of rows in a dense vector}
|
||||
%\addcontentsline{toc}{paragraph}{get\_nrows}
|
||||
|
||||
\begin{verbatim}
|
||||
nr = v%get_nrows()
|
||||
@@ -1135,9 +1126,9 @@ Scope: {\bf local}\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{sizeof --- Get memory occupation in bytes
|
||||
\subsubsection{sizeof --- Get memory occupation in bytes
|
||||
of a dense vector}
|
||||
\addcontentsline{toc}{paragraph}{sizeof }
|
||||
%\addcontentsline{toc}{paragraph}{sizeof }
|
||||
|
||||
\begin{verbatim}
|
||||
memory_size = v%sizeof()
|
||||
@@ -1159,8 +1150,8 @@ Scope: {\bf local}\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\subsubsection*{set --- Set contents of the vector}
|
||||
\addcontentsline{toc}{paragraph}{set }
|
||||
\subsubsection{set --- Set contents of the vector}
|
||||
%\addcontentsline{toc}{paragraph}{set }
|
||||
|
||||
\begin{verbatim}
|
||||
call v%set(alpha[,first,last])
|
||||
@@ -1197,8 +1188,8 @@ constant having the appropriate type and kind.
|
||||
Scope: {\bf local}\\
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{get\_vect --- Get a copy of the vector contents}
|
||||
\addcontentsline{toc}{paragraph}{get\_vect }
|
||||
\subsubsection{get\_vect --- Get a copy of the vector contents}
|
||||
%\addcontentsline{toc}{paragraph}{get\_vect }
|
||||
|
||||
\begin{verbatim}
|
||||
extv = v%get_vect([n])
|
||||
@@ -1227,8 +1218,8 @@ Type: {\bf optional}; default: entire vector.\\
|
||||
array is the same as the internal size of the vector.
|
||||
\end{description}
|
||||
|
||||
\subsubsection*{clone --- Clone current object}
|
||||
\addcontentsline{toc}{paragraph}{clone}
|
||||
\subsubsection{clone --- Clone current object}
|
||||
%\addcontentsline{toc}{paragraph}{clone}
|
||||
\begin{verbatim}
|
||||
call x%clone(y,info)
|
||||
\end{verbatim}
|
||||
|
||||
+8
-28
@@ -119,9 +119,10 @@ Aborting...
|
||||
\end{figure}
|
||||
|
||||
|
||||
\clearpage\subroutine{psb\_errpush}{Pushes an error code onto the error
|
||||
\clearpage\subsection{psb\_errpush}{Pushes an error code onto the error
|
||||
stack}
|
||||
|
||||
|
||||
\begin{lstlisting}
|
||||
call psb_errpush(err_c, r_name, i_err, a_err)
|
||||
\end{lstlisting}
|
||||
@@ -149,7 +150,7 @@ Type: {\bf optional}\\
|
||||
Specified as: a string.\\
|
||||
\end{description}
|
||||
|
||||
\clearpage\subroutine{psb\_error}{Prints the error stack content and aborts
|
||||
\clearpage\subsection{psb\_error}{Prints the error stack content and aborts
|
||||
execution}
|
||||
|
||||
\begin{lstlisting}
|
||||
@@ -168,8 +169,9 @@ Specified as: an integer.
|
||||
|
||||
|
||||
|
||||
\clearpage\subroutine{psb\_set\_errverbosity}{Sets the verbosity of error
|
||||
messages.}
|
||||
\clearpage\subsection{psb\_set\_errverbosity}{Sets the verbosity of error
|
||||
messages}
|
||||
|
||||
|
||||
\begin{lstlisting}
|
||||
call psb_set_errverbosity(v)
|
||||
@@ -185,9 +187,8 @@ Intent: {\bf in}.\\
|
||||
Specified as: an integer.
|
||||
\end{description}
|
||||
|
||||
\clearpage\subroutine{psb\_set\_erraction}{Set the type of action to be
|
||||
taken upon error condition.}
|
||||
|
||||
\clearpage\subsection{psb\_set\_erraction}{Set the type of action to be
|
||||
taken upon error condition}
|
||||
|
||||
\begin{lstlisting}
|
||||
call psb_set_erraction(err_act)
|
||||
@@ -205,27 +206,6 @@ Specified as: an integer. Possible values: \verb|psb_act_ret|,
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
%% \clearpage\subroutine{psb\_errcomm}{Error communication routine}
|
||||
|
||||
%% \begin{lstlisting}
|
||||
%% call psb_errcomm(icontxt, err)
|
||||
%% \end{lstlisting}
|
||||
|
||||
%% \begin{description}
|
||||
%% \item[\bf On Entry]
|
||||
%% \item[icontxt] the communication context.\\
|
||||
%% Scope: {\bf global} \\
|
||||
%% Type: {\bf required}\\
|
||||
%% Intent: {\bf in}.\\
|
||||
%% Specified as: an integer.
|
||||
%% \item[err] the error code to be communicated\\
|
||||
%% Scope: {\bf global} \\
|
||||
%% Type: {\bf required}\\
|
||||
%% Intent: {\bf inout}.\\
|
||||
%% Specified as: an integer.\\
|
||||
%% \end{description}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "userguide"
|
||||
|
||||
+2
-2
@@ -101,7 +101,7 @@ further details on our communication layer see Sec.~\ref{sec:parenv}.
|
||||
\begin{figure}[h]
|
||||
\begin{center}
|
||||
\ifcase\pdfoutput
|
||||
\includegraphics[scale=0.65]{figures/psblas.eps}
|
||||
\includegraphics[scale=0.65]{figures/psblas.png}
|
||||
\or
|
||||
\includegraphics[scale=0.65]{figures/psblas}
|
||||
\fi
|
||||
@@ -218,7 +218,7 @@ local rows) is $|{\cal I}_i| + |{\cal B}_i| +|{\cal H}_i|$.
|
||||
\begin{center}
|
||||
\ifcase\pdfoutput
|
||||
%\rotatebox{-90}{
|
||||
\includegraphics[scale=0.65]{figures/points.eps}%}
|
||||
\includegraphics[scale=0.65]{figures/points.png}%}
|
||||
\or
|
||||
\rotatebox{-90}{\includegraphics[scale=0.65]{figures/points}}
|
||||
\fi
|
||||
|
||||
@@ -11,9 +11,8 @@ the module \verb|psb_krylov_mod|.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\clearpage\subsection*{psb\_krylov \label{krylov} --- Krylov Methods Driver
|
||||
\clearpage\subsection{psb\_krylov \label{krylov} --- Krylov Methods Driver
|
||||
Routine}
|
||||
\addcontentsline{toc}{subsection}{psb\_krylov}
|
||||
|
||||
This subroutine is a driver that provides a general interface for all
|
||||
the Krylov-Subspace family methods implemented in PSBLAS version 2.
|
||||
|
||||
+17
-34
@@ -3,9 +3,8 @@
|
||||
\section{Parallel environment routines}
|
||||
\label{sec:parenv}
|
||||
|
||||
\clearpage\subsection*{psb\_init --- Initializes PSBLAS parallel
|
||||
\clearpage\subsection{psb\_init --- Initializes PSBLAS parallel
|
||||
environment}
|
||||
\addcontentsline{toc}{subsection}{psb\_init}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_init(icontxt, np, basectxt, ids)
|
||||
@@ -62,9 +61,8 @@ Specified as: an integer variable.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_info --- Return information about PSBLAS parallel
|
||||
\clearpage\subsection{psb\_info --- Return information about PSBLAS parallel
|
||||
environment}
|
||||
\addcontentsline{toc}{subsection}{psb\_info}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_info(icontxt, iam, np)
|
||||
@@ -110,9 +108,8 @@ Specified as: an integer variable. \
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_exit --- Exit from PSBLAS parallel
|
||||
\clearpage\subsection{psb\_exit --- Exit from PSBLAS parallel
|
||||
environment}
|
||||
\addcontentsline{toc}{subsection}{psb\_exit}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_exit(icontxt)
|
||||
@@ -154,8 +151,7 @@ Specified as: a logical variable, default value: true.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_get\_mpi\_comm --- Get the MPI communicator}
|
||||
\addcontentsline{toc}{subsection}{psb\_get\_mpi\_comm}
|
||||
\clearpage\subsection{psb\_get\_mpi\_comm --- Get the MPI communicator}
|
||||
|
||||
\begin{verbatim}
|
||||
icomm = psb_get_mpi_comm(icontxt)
|
||||
@@ -185,8 +181,7 @@ Intent: {\bf out}.\\
|
||||
The subroutine version \verb|psb_get_mpicomm| is still available but
|
||||
is deprecated.
|
||||
|
||||
\clearpage\subsection*{psb\_get\_mpi\_rank --- Get the MPI rank}
|
||||
\addcontentsline{toc}{subsection}{psb\_get\_mpi\_rank}
|
||||
\clearpage\subsection{psb\_get\_mpi\_rank --- Get the MPI rank}
|
||||
|
||||
\begin{verbatim}
|
||||
rank = psb_get_mpi_rank(icontxt, id)
|
||||
@@ -223,8 +218,7 @@ deprecated.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_wtime --- Wall clock timing}
|
||||
\addcontentsline{toc}{subsection}{psb\_wtime}
|
||||
\clearpage\subsection{psb\_wtime --- Wall clock timing}
|
||||
|
||||
\begin{verbatim}
|
||||
time = psb_wtime()
|
||||
@@ -240,9 +234,8 @@ Returned as: a \verb|real(psb_dpk_)| variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_barrier --- Sinchronization point parallel
|
||||
\clearpage\subsection{psb\_barrier --- Sinchronization point parallel
|
||||
environment}
|
||||
\addcontentsline{toc}{subsection}{psb\_barrier}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_barrier(icontxt)
|
||||
@@ -262,8 +255,7 @@ Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_abort --- Abort a computation}
|
||||
\addcontentsline{toc}{subsection}{psb\_abort}
|
||||
\clearpage\subsection{psb\_abort --- Abort a computation}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_abort(icontxt)
|
||||
@@ -285,8 +277,7 @@ Specified as: an integer variable.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_bcast --- Broadcast data}
|
||||
\addcontentsline{toc}{subsection}{psb\_bcast}
|
||||
\clearpage\subsection{psb\_bcast --- Broadcast data}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_bcast(icontxt, dat, root)
|
||||
@@ -331,8 +322,7 @@ Type, kind, rank and size must agree on all processes.
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_sum --- Global sum}
|
||||
\addcontentsline{toc}{subsection}{psb\_sum}
|
||||
\clearpage\subsection{psb\_sum --- Global sum}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_sum(icontxt, dat, root)
|
||||
@@ -386,8 +376,7 @@ Type, kind, rank and size must agree on all processes.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_max --- Global maximum}
|
||||
\addcontentsline{toc}{subsection}{psb\_max}
|
||||
\clearpage\subsection{psb\_max --- Global maximum}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_max(icontxt, dat, root)
|
||||
@@ -440,8 +429,7 @@ Type, kind, rank and size must agree on all processes.
|
||||
\item The \verb|dat| argument may also be a long integer scalar.
|
||||
\end{enumerate}
|
||||
|
||||
\clearpage\subsection*{psb\_min --- Global minimum}
|
||||
\addcontentsline{toc}{subsection}{psb\_min}
|
||||
\clearpage\subsection{psb\_min --- Global minimum}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_min(icontxt, dat, root)
|
||||
@@ -494,8 +482,7 @@ Type, kind, rank and size must agree on all processes.
|
||||
\item The \verb|dat| argument may also be a long integer scalar.
|
||||
\end{enumerate}
|
||||
|
||||
\clearpage\subsection*{psb\_amx --- Global maximum absolute value}
|
||||
\addcontentsline{toc}{subsection}{psb\_amx}
|
||||
\clearpage\subsection{psb\_amx --- Global maximum absolute value}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_amx(icontxt, dat, root)
|
||||
@@ -548,8 +535,7 @@ Type, kind, rank and size must agree on all processes.
|
||||
\item The \verb|dat| argument may also be a long integer scalar.
|
||||
\end{enumerate}
|
||||
|
||||
\clearpage\subsection*{psb\_amn --- Global minimum absolute value}
|
||||
\addcontentsline{toc}{subsection}{psb\_amn}
|
||||
\clearpage\subsection{psb\_amn --- Global minimum absolute value}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_amn(icontxt, dat, root)
|
||||
@@ -602,8 +588,7 @@ Type, kind, rank and size must agree on all processes.
|
||||
\item The \verb|dat| argument may also be a long integer scalar.
|
||||
\end{enumerate}
|
||||
|
||||
\clearpage\subsection*{psb\_nrm2 --- Global 2-norm reduction}
|
||||
\addcontentsline{toc}{subsection}{psb\_nrm2}
|
||||
\clearpage\subsection{psb\_nrm2 --- Global 2-norm reduction}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_nrm2(icontxt, dat, root)
|
||||
@@ -663,8 +648,7 @@ Kind, rank and size must agree on all processes.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_snd --- Send data}
|
||||
\addcontentsline{toc}{subsection}{psb\_snd}
|
||||
\clearpage\subsection{psb\_snd --- Send data}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_snd(icontxt, dat, dst, m)
|
||||
@@ -715,8 +699,7 @@ same value on sending and receiving processes.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_rcv --- Receive data}
|
||||
\addcontentsline{toc}{subsection}{psb\_rcv}
|
||||
\clearpage\subsection{psb\_rcv --- Receive data}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_rcv(icontxt, dat, src, m)
|
||||
|
||||
+6
-13
@@ -23,9 +23,7 @@ backward compatibility
|
||||
%% package, which will characterize release 2.1 of our library.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{init --- Initialize a preconditioner}
|
||||
\addcontentsline{toc}{subsection}{prec\%init}
|
||||
\clearpage\subsection{init --- Initialize a preconditioner}
|
||||
|
||||
\begin{verbatim}
|
||||
call prec%init(icontxt,ptype, info)
|
||||
@@ -86,8 +84,7 @@ $ptype$ string as follows\footnote{The string is case-insensitive}:
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{build --- Builds a preconditioner}
|
||||
\addcontentsline{toc}{subsection}{prec\%build}
|
||||
\clearpage\subsection{build --- Builds a preconditioner}
|
||||
|
||||
\begin{verbatim}
|
||||
call prec%build(a, desc_a, info[,amold,vmold,imold])
|
||||
@@ -152,9 +149,8 @@ accelerators.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{apply --- Preconditioner application
|
||||
\clearpage\subsection{apply --- Preconditioner application
|
||||
routine}
|
||||
\addcontentsline{toc}{subsection}{prec\%apply}
|
||||
|
||||
\begin{verbatim}
|
||||
call prec%apply(x,y,desc_a,info,trans,work)
|
||||
@@ -207,9 +203,8 @@ An integer value; 0 means no error has been detected.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{descr --- Prints a description of current
|
||||
\clearpage\subsection{descr --- Prints a description of current
|
||||
preconditioner}
|
||||
\addcontentsline{toc}{subsection}{prec\%descr}
|
||||
|
||||
\begin{verbatim}
|
||||
call prec%descr()
|
||||
@@ -240,9 +235,8 @@ all processes will print. Default: 0.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{clone --- clone current
|
||||
\clearpage\subsection{clone --- clone current
|
||||
preconditioner}
|
||||
\addcontentsline{toc}{subsection}{clone}
|
||||
\begin{verbatim}
|
||||
call prec%clone(precout,info)
|
||||
\end{verbatim}
|
||||
@@ -264,8 +258,7 @@ Scope: {\bf local}.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{free --- Free a preconditioner}
|
||||
\addcontentsline{toc}{subsection}{prec\%free}
|
||||
\clearpage\subsection{free --- Free a preconditioner}
|
||||
|
||||
\begin{verbatim}
|
||||
call prec%free(info)
|
||||
|
||||
+221
-26
@@ -5,8 +5,7 @@
|
||||
% DENSE MATRIX SUM
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
\clearpage\subsection*{psb\_geaxpby --- General Dense Matrix Sum}
|
||||
\addcontentsline{toc}{subsection}{psb\_geaxpby}
|
||||
\clearpage\subsection{psb\_geaxpby --- General Dense Matrix Sum}
|
||||
|
||||
This subroutine is an interface to the computational kernel for
|
||||
dense matrix sum:
|
||||
@@ -111,8 +110,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\clearpage\subsection*{psb\_gedot --- Dot Product}
|
||||
\addcontentsline{toc}{subsection}{psb\_gedot}
|
||||
\clearpage\subsection{psb\_gedot --- Dot Product}
|
||||
|
||||
This function computes dot product between two vectors $x$ and
|
||||
$y$.\\
|
||||
@@ -229,8 +227,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\clearpage\subsection*{psb\_gedots --- Generalized Dot Product}
|
||||
\addcontentsline{toc}{subsection}{psb\_gedots}
|
||||
\clearpage\subsection{psb\_gedots --- Generalized Dot Product}
|
||||
|
||||
This subroutine computes a series of dot products among the columns of
|
||||
two dense matrices $x$ and $y$:
|
||||
@@ -303,8 +300,7 @@ An integer value; 0 means no error has been detected.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_normi --- Infinity-Norm of Vector}
|
||||
\addcontentsline{toc}{subsection}{psb\_normi}
|
||||
\clearpage\subsection{psb\_normi --- Infinity-Norm of Vector}
|
||||
|
||||
This function computes
|
||||
the infinity-norm of a vector $x$.\\
|
||||
@@ -407,8 +403,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
\clearpage\subsection*{psb\_geamaxs --- Generalized Infinity Norm}
|
||||
\addcontentsline{toc}{subsection}{psb\_geamaxs}
|
||||
\clearpage\subsection{psb\_geamaxs --- Generalized Infinity Norm}
|
||||
|
||||
This subroutine computes a series of infinity norms on the columns of
|
||||
a dense matrix $x$:
|
||||
@@ -469,8 +464,7 @@ An integer value; 0 means no error has been detected.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_norm1 --- 1-Norm of Vector}
|
||||
\addcontentsline{toc}{subsection}{psb\_norm1}
|
||||
\clearpage\subsection{psb\_norm1 --- 1-Norm of Vector}
|
||||
|
||||
This function computes the 1-norm of a vector $x$.\\
|
||||
If $x$ is a real vector
|
||||
@@ -557,8 +551,7 @@ An integer value; 0 means no error has been detected.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_geasums --- Generalized 1-Norm of Vector}
|
||||
\addcontentsline{toc}{subsection}{psb\_geasums}
|
||||
\clearpage\subsection{psb\_geasums --- Generalized 1-Norm of Vector}
|
||||
|
||||
This subroutine computes a series of 1-norms on the columns of
|
||||
a dense matrix $x$:
|
||||
@@ -631,8 +624,7 @@ An integer value; 0 means no error has been detected.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_norm2 --- 2-Norm of Vector}
|
||||
\addcontentsline{toc}{subsection}{psb\_norm2}
|
||||
\clearpage\subsection{psb\_norm2 --- 2-Norm of Vector}
|
||||
|
||||
This function computes the 2-norm of a vector $x$.\\
|
||||
If $x$ is a real vector
|
||||
@@ -730,8 +722,7 @@ An integer value; 0 means no error has been detected.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_genrm2s --- Generalized 2-Norm of Vector}
|
||||
\addcontentsline{toc}{subsection}{psb\_genrm2s}
|
||||
\clearpage\subsection{psb\_genrm2s --- Generalized 2-Norm of Vector}
|
||||
|
||||
This subroutine computes a series of 2-norms on the columns of
|
||||
a dense matrix $x$:
|
||||
@@ -798,8 +789,7 @@ An integer value; 0 means no error has been detected.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_norm1 --- 1-Norm of Sparse Matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_norm1}
|
||||
\clearpage\subsection{psb\_norm1 --- 1-Norm of Sparse Matrix}
|
||||
|
||||
This function computes the 1-norm of a matrix $A$:\\
|
||||
|
||||
@@ -863,8 +853,7 @@ An integer value; 0 means no error has been detected.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_normi --- Infinity Norm of Sparse Matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_normi}
|
||||
\clearpage\subsection{psb\_normi --- Infinity Norm of Sparse Matrix}
|
||||
|
||||
This function computes the infinity-norm of a matrix $A$:\\
|
||||
|
||||
@@ -928,9 +917,8 @@ An integer value; 0 means no error has been detected.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_spmm --- Sparse Matrix by Dense Matrix
|
||||
\clearpage\subsection{psb\_spmm --- Sparse Matrix by Dense Matrix
|
||||
Product}
|
||||
\addcontentsline{toc}{subsection}{psb\_spmm}
|
||||
|
||||
This subroutine computes the Sparse Matrix by Dense Matrix Product:
|
||||
|
||||
@@ -1081,8 +1069,7 @@ An integer value; 0 means no error has been detected.
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_spsm --- Triangular System Solve}
|
||||
\addcontentsline{toc}{subsection}{psb\_spsm}
|
||||
\clearpage\subsection{psb\_spsm --- Triangular System Solve}
|
||||
|
||||
This subroutine computes the Triangular System Solve:
|
||||
|
||||
@@ -1244,8 +1231,216 @@ Intent: {\bf out}.\\
|
||||
An integer value; 0 means no error has been detected.
|
||||
\end{description}
|
||||
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
%
|
||||
% VECTOR VECTOR OPERATIONS
|
||||
%
|
||||
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
|
||||
\clearpage\subsection{psb\_gemlt --- Entrywise Product}
|
||||
|
||||
This function computes the entrywise product between two vectors $x$ and
|
||||
$y$
|
||||
\[dot \leftarrow x(i) y(i).\]
|
||||
|
||||
\begin{verbatim}
|
||||
psb_gemlt(x, y, desc_a, info)
|
||||
\end{verbatim}
|
||||
%% \syntax*{psb\_gedot}{x, y, desc\_a, info, jx, jy}
|
||||
\begin{table}[h]
|
||||
\begin{center}
|
||||
\begin{tabular}{ll}
|
||||
\hline
|
||||
$dot$, $x$, $y$ & {\bf Function}\\
|
||||
\hline
|
||||
Short Precision Real & psb\_gemlt \\
|
||||
Long Precision Real & psb\_gemlt \\
|
||||
Short Precision Complex & psb\_gemlt \\
|
||||
Long Precision Complex & psb\_gemlt \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Data types\label{tab:f90mlt}}
|
||||
\end{table}
|
||||
|
||||
\begin{description}
|
||||
\item[Type:] Synchronous.
|
||||
\item[\bf On Entry]
|
||||
\item[x] the local portion of global dense vector
|
||||
$x$.\\
|
||||
%% This function computes the location of the first element of
|
||||
%% local subarray used, based on $jx$ and the field $matrix\_data$ of $desc\_a$ . \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \vdata\
|
||||
containing numbers of type specified in
|
||||
Table~\ref{tab:f90dot}.
|
||||
\item[y] the local portion of global dense vector
|
||||
$y$. \\
|
||||
%% This function computes the location of the first element of
|
||||
%% local subarray used, based on $iy, jy$ and the field $matrix\_data$ of $desc\_a$ . \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \vdata\
|
||||
containing numbers of type specified in
|
||||
Table~\ref{tab:f90dot}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \descdata.
|
||||
\item[\bf On Return]
|
||||
\item[y] the local portion of result submatrix $y$.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf inout}.\\
|
||||
Specified as: an object of type \vdata\ containing numbers of the type
|
||||
indicated in Table~\ref{tab:f90mlt}.
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf out}.\\
|
||||
An integer value; 0 means no error has been detected.
|
||||
\end{description}
|
||||
|
||||
\clearpage\subsection{psb\_gediv --- Entrywise Division}
|
||||
|
||||
This function computes the entrywise division between two vectors $x$ and
|
||||
$y$
|
||||
\[/ \leftarrow x(i)/y(i).\]
|
||||
|
||||
\begin{verbatim}
|
||||
psb_gediv(x, y, desc_a, info, [flag)
|
||||
\end{verbatim}
|
||||
%% \syntax*{psb\_gedot}{x, y, desc\_a, info, jx, jy}
|
||||
\begin{table}[h]
|
||||
\begin{center}
|
||||
\begin{tabular}{ll}
|
||||
\hline
|
||||
$/$, $x$, $y$ & {\bf Function}\\
|
||||
\hline
|
||||
Short Precision Real & psb\_gediv \\
|
||||
Long Precision Real & psb\_gediv \\
|
||||
Short Precision Complex & psb\_gediv \\
|
||||
Long Precision Complex & psb\_gediv \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Data types\label{tab:f90div}}
|
||||
\end{table}
|
||||
|
||||
\begin{description}
|
||||
\item[Type:] Synchronous.
|
||||
\item[\bf On Entry]
|
||||
\item[x] the local portion of global dense vector
|
||||
$x$.\\
|
||||
%% This function computes the location of the first element of
|
||||
%% local subarray used, based on $jx$ and the field $matrix\_data$ of $desc\_a$ . \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \vdata\
|
||||
containing numbers of type specified in
|
||||
Table~\ref{tab:f90dot}.
|
||||
\item[y] the local portion of global dense vector
|
||||
$y$. \\
|
||||
%% This function computes the location of the first element of
|
||||
%% local subarray used, based on $iy, jy$ and the field $matrix\_data$ of $desc\_a$ . \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \vdata\
|
||||
containing numbers of type specified in
|
||||
Table~\ref{tab:f90dot}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \descdata.
|
||||
\item[flag] check if any of the $y(i) = 0$, and in case returns error halting the computation.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf optional}
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: the logical value \verb|flag=.true.|
|
||||
\item[\bf On Return]
|
||||
\item[x] the local portion of result submatrix $x$.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf inout}.\\
|
||||
Specified as: an object of type \vdata\ containing numbers of the type
|
||||
indicated in Table~\ref{tab:f90mlt}.
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf out}.\\
|
||||
An integer value; 0 means no error has been detected.
|
||||
\end{description}
|
||||
|
||||
\clearpage\subsection{psb\_geinv --- Entrywise Inversion}
|
||||
|
||||
This function computes the entrywise inverse of a vector $x$ and puts it into
|
||||
$y$
|
||||
\[/ \leftarrow 1/x(i).\]
|
||||
|
||||
\begin{verbatim}
|
||||
psb_geinv(x, y, desc_a, info, [flag)
|
||||
\end{verbatim}
|
||||
%% \syntax*{psb\_gedot}{x, y, desc\_a, info, jx, jy}
|
||||
\begin{table}[h]
|
||||
\begin{center}
|
||||
\begin{tabular}{ll}
|
||||
\hline
|
||||
$/$, $x$, $y$ & {\bf Function}\\
|
||||
\hline
|
||||
Short Precision Real & psb\_geinv \\
|
||||
Long Precision Real & psb\_geinv \\
|
||||
Short Precision Complex & psb\_geinv \\
|
||||
Long Precision Complex & psb\_geinv \\
|
||||
\hline
|
||||
\end{tabular}
|
||||
\end{center}
|
||||
\caption{Data types\label{tab:f90inv}}
|
||||
\end{table}
|
||||
|
||||
\begin{description}
|
||||
\item[Type:] Synchronous.
|
||||
\item[\bf On Entry]
|
||||
\item[x] the local portion of global dense vector
|
||||
$x$.\\
|
||||
%% This function computes the location of the first element of
|
||||
%% local subarray used, based on $jx$ and the field $matrix\_data$ of $desc\_a$ . \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \vdata\
|
||||
containing numbers of type specified in
|
||||
Table~\ref{tab:f90dot}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: an object of type \descdata.
|
||||
\item[flag] check if any of the $x(i) = 0$, and in case returns error halting the computation.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf optional}
|
||||
Intent: {\bf in}.\\
|
||||
Specified as: the logical value \verb|flag=.true.|
|
||||
\item[\bf On Return]
|
||||
\item[y] the local portion of result submatrix $x$.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf out}.\\
|
||||
Specified as: an object of type \vdata\ containing numbers of the type
|
||||
indicated in Table~\ref{tab:f90inv}.
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required} \\
|
||||
Intent: {\bf out}.\\
|
||||
An integer value; 0 means no error has been detected.
|
||||
\end{description}
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
|
||||
+49
-64
@@ -5,8 +5,7 @@
|
||||
%
|
||||
%% psb_cdall %%
|
||||
%
|
||||
\subsection*{psb\_cdall --- Allocates a communication descriptor}
|
||||
\addcontentsline{toc}{subsection}{psb\_cdall}
|
||||
\subsection{psb\_cdall --- Allocates a communication descriptor}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
|
||||
@@ -196,9 +195,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_cdins %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_cdins --- Communication descriptor insert
|
||||
\clearpage\subsection{psb\_cdins --- Communication descriptor insert
|
||||
routine}
|
||||
\addcontentsline{toc}{subsection}{psb\_cdins}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_cdins(nz, ia, ja, desc_a, info [,ila,jla])
|
||||
@@ -292,9 +290,8 @@ nor the end vertex belong to the current process.
|
||||
%
|
||||
%% psb_cdasb %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_cdasb --- Communication descriptor assembly
|
||||
\clearpage\subsection{psb\_cdasb --- Communication descriptor assembly
|
||||
routine}
|
||||
\addcontentsline{toc}{subsection}{psb\_cdasb}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_cdasb(desc_a, info [, mold])
|
||||
@@ -347,8 +344,7 @@ speed up the subsequent call to \verb|psb_cdasb|.
|
||||
%
|
||||
%% psb_cdcpy %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_cdcpy --- Copies a communication descriptor}
|
||||
\addcontentsline{toc}{subsection}{psb\_cdcpy}
|
||||
\clearpage\subsection{psb\_cdcpy --- Copies a communication descriptor}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_cdcpy(desc_in, desc_out, info)
|
||||
@@ -383,8 +379,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_cdfree %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_cdfree --- Frees a communication descriptor}
|
||||
\addcontentsline{toc}{subsection}{psb\_cdfree}
|
||||
\clearpage\subsection{psb\_cdfree --- Frees a communication descriptor}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_cdfree(desc_a, info)
|
||||
@@ -414,9 +409,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_cdcpy %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_cdbldext --- Build an extended communication
|
||||
\clearpage\subsection{psb\_cdbldext --- Build an extended communication
|
||||
descriptor}
|
||||
\addcontentsline{toc}{subsection}{psb\_cdbldext}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_cdbldext(a,desc_a,nl,desc_out, info, extype)
|
||||
@@ -484,9 +478,9 @@ An integer value; 0 means no error has been detected.
|
||||
%% %
|
||||
%% %% psb_cdren %%
|
||||
%% %
|
||||
%% \subsection*{psb\_cdren --- Applies a renumeration to a
|
||||
%% \subsection{psb\_cdren --- Applies a renumeration to a
|
||||
%% communication descriptor}
|
||||
%% \addcontentsline{toc}{subsection}{psb\_cdren}
|
||||
%%% \addcontentsline{toc}{subsection}{psb\_cdren}
|
||||
|
||||
%% \syntax{call psb\_cdren}{trans, iperm, desc\_a, info}
|
||||
|
||||
@@ -521,8 +515,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_descprt %%
|
||||
%
|
||||
%% \subsection*{psb\_cdprt --- Prints a descriptor}
|
||||
%%\addcontentsline{toc}{subsection}{psb\_cdprt}
|
||||
%% \subsection{psb\_cdprt --- Prints a descriptor}
|
||||
|
||||
%% \syntax{call psb\_cdprt}{iout, desc\_a, glob, short}
|
||||
|
||||
@@ -551,8 +544,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_spalloc %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_spall --- Allocates a sparse matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_spall}
|
||||
\clearpage\subsection{psb\_spall --- Allocates a sparse matrix}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_spall(a, desc_a, info, nnz)
|
||||
@@ -603,9 +595,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_spins %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_spins --- Insert a set of coefficients into a sparse
|
||||
\clearpage\subsection{psb\_spins --- Insert a set of coefficients into a sparse
|
||||
matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_spins}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_spins(nz, ia, ja, val, a, desc_a, info [,local])
|
||||
@@ -730,8 +721,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_spasb %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_spasb --- Sparse matrix assembly routine}
|
||||
\addcontentsline{toc}{subsection}{psb\_spasb}
|
||||
\clearpage\subsection{psb\_spasb --- Sparse matrix assembly routine}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
|
||||
@@ -805,9 +795,8 @@ An integer value; 0 means no error has been detected.
|
||||
%% %
|
||||
%% %% psb_spcnv %%
|
||||
%% %
|
||||
%% \subsection*{psb\_spcnv --- Converts a sparse matrix storage
|
||||
%% \subsection{psb\_spcnv --- Converts a sparse matrix storage
|
||||
%% format}
|
||||
%%\addcontentsline{toc}{subsection}{psb\_spcnv}
|
||||
|
||||
%% \syntax{call psb\_spcnv}{a, b, desc\_a, info}
|
||||
|
||||
@@ -840,8 +829,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_spfree %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_spfree --- Frees a sparse matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_spfree}
|
||||
\clearpage\subsection{psb\_spfree --- Frees a sparse matrix}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_spfree(a, desc_a, info)
|
||||
@@ -877,9 +865,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_sprn %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_sprn --- Reinit sparse matrix structure for psblas
|
||||
\clearpage\subsection{psb\_sprn --- Reinit sparse matrix structure for psblas
|
||||
routines.}
|
||||
\addcontentsline{toc}{subsection}{psb\_sprn}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_sprn(a, decsc_a, info, clear)
|
||||
@@ -921,8 +908,7 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_spupdate %%
|
||||
%
|
||||
%% \subsection*{psb\_spupdate --- Updates a sparse matrix.}
|
||||
%%\addcontentsline{toc}{subsection}{psb\_spupdate}
|
||||
%% \subsection{psb\_spupdate --- Updates a sparse matrix.}
|
||||
|
||||
%% \syntax{call psb\_spupdate}{a, ia, ja, blck, desc\_a, info, ix, jx, updflag}
|
||||
|
||||
@@ -936,9 +922,8 @@ An integer value; 0 means no error has been detected.
|
||||
%% %
|
||||
%% %% psb_csrp %%
|
||||
%% %
|
||||
%% \subsection*{psb\_csrp --- Applies a right permutation to a sparse
|
||||
%% \subsection{psb\_csrp --- Applies a right permutation to a sparse
|
||||
%% matrix}
|
||||
%%\addcontentsline{toc}{subsection}{psb\_csrp}
|
||||
|
||||
%% \syntax{call psb\_csrp}{trans, iperm, a, info}
|
||||
|
||||
@@ -968,8 +953,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_alloc %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_geall --- Allocates a dense matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_geall}
|
||||
\clearpage\subsection{psb\_geall --- Allocates a dense matrix}
|
||||
%\addcontentsline{toc}{subsection}{psb\_geall}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_geall(x, desc_a, info, n, lb)
|
||||
@@ -1016,8 +1001,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_ins %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_geins --- Dense matrix insertion routine}
|
||||
\addcontentsline{toc}{subsection}{psb\_geins}
|
||||
\clearpage\subsection{psb\_geins --- Dense matrix insertion routine}
|
||||
%\addcontentsline{toc}{subsection}{psb\_geins}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_geins(m, irw, val, x, desc_a, info [,dupl,local])
|
||||
@@ -1089,8 +1074,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_asb %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_geasb --- Assembly a dense matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_geasb}
|
||||
\clearpage\subsection{psb\_geasb --- Assembly a dense matrix}
|
||||
%\addcontentsline{toc}{subsection}{psb\_geasb}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_geasb(x, desc_a, info, mold)
|
||||
@@ -1129,8 +1114,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_free %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_gefree --- Frees a dense matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_gefree}
|
||||
\clearpage\subsection{psb\_gefree --- Frees a dense matrix}
|
||||
%\addcontentsline{toc}{subsection}{psb\_gefree}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_gefree(x, desc_a, info)
|
||||
@@ -1167,9 +1152,9 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_gelp %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_gelp --- Applies a left permutation to a dense
|
||||
\clearpage\subsection{psb\_gelp --- Applies a left permutation to a dense
|
||||
matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_gelp}
|
||||
%\addcontentsline{toc}{subsection}{psb\_gelp}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_gelp(trans, iperm, x, info)
|
||||
@@ -1208,9 +1193,9 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_glob_to_loc %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_glob\_to\_loc --- Global to local indices
|
||||
\clearpage\subsection{psb\_glob\_to\_loc --- Global to local indices
|
||||
convertion}
|
||||
\addcontentsline{toc}{subsection}{psb\_glob\_to\_loc}
|
||||
%\addcontentsline{toc}{subsection}{psb\_glob\_to\_loc}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_glob_to_loc(x, y, desc_a, info, iact,owned)
|
||||
@@ -1276,9 +1261,9 @@ An integer value; 0 means no error has been detected.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_loc\_to\_glob --- Local to global indices
|
||||
\clearpage\subsection{psb\_loc\_to\_glob --- Local to global indices
|
||||
conversion}
|
||||
\addcontentsline{toc}{subsection}{psb\_loc\_to\_glob}
|
||||
%\addcontentsline{toc}{subsection}{psb\_loc\_to\_glob}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_loc_to_glob(x, y, desc_a, info, iact)
|
||||
@@ -1333,8 +1318,8 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_loc_to_glob %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_is\_owned --- }
|
||||
\addcontentsline{toc}{subsection}{psb\_is\_owned }
|
||||
\clearpage\subsection{psb\_is\_owned --- }
|
||||
%\addcontentsline{toc}{subsection}{psb\_is\_owned }
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_is_owned(x, desc_a)
|
||||
@@ -1373,8 +1358,8 @@ Intent: {\bf out}.\\
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_owned\_index --- }
|
||||
\addcontentsline{toc}{subsection}{psb\_owned\_index }
|
||||
\clearpage\subsection{psb\_owned\_index --- }
|
||||
%\addcontentsline{toc}{subsection}{psb\_owned\_index }
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_owned_index(y, x, desc_a, info)
|
||||
@@ -1425,8 +1410,8 @@ An integer value; 0 means no error has been detected.
|
||||
\end{enumerate}
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_is\_local --- }
|
||||
\addcontentsline{toc}{subsection}{psb\_is\_local }
|
||||
\clearpage\subsection{psb\_is\_local --- }
|
||||
%\addcontentsline{toc}{subsection}{psb\_is\_local }
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_is_local(x, desc_a)
|
||||
@@ -1464,8 +1449,8 @@ Intent: {\bf out}.\\
|
||||
indices
|
||||
\end{enumerate}
|
||||
|
||||
\clearpage\subsection*{psb\_local\_index --- }
|
||||
\addcontentsline{toc}{subsection}{psb\_local\_index }
|
||||
\clearpage\subsection{psb\_local\_index --- }
|
||||
%\addcontentsline{toc}{subsection}{psb\_local\_index }
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_local_index(y, x, desc_a, info)
|
||||
@@ -1520,9 +1505,9 @@ An integer value; 0 means no error has been detected.
|
||||
%
|
||||
%% psb_ins %%
|
||||
%
|
||||
\clearpage\subsection*{psb\_get\_boundary --- Extract list of boundary
|
||||
\clearpage\subsection{psb\_get\_boundary --- Extract list of boundary
|
||||
elements}
|
||||
\addcontentsline{toc}{subsection}{psb\_get\_boundary}
|
||||
%\addcontentsline{toc}{subsection}{psb\_get\_boundary}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_get_boundary(bndel, desc, info)
|
||||
@@ -1563,9 +1548,9 @@ An integer value; 0 means no error has been detected.
|
||||
number of boundary elements.
|
||||
\end{enumerate}
|
||||
|
||||
\clearpage\subsection*{psb\_get\_overlap --- Extract list of overlap
|
||||
\clearpage\subsection{psb\_get\_overlap --- Extract list of overlap
|
||||
elements}
|
||||
\addcontentsline{toc}{subsection}{psb\_get\_overlap}
|
||||
%\addcontentsline{toc}{subsection}{psb\_get\_overlap}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_get_overlap(ovrel, desc, info)
|
||||
@@ -1607,9 +1592,9 @@ An integer value; 0 means no error has been detected.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_sp\_getrow --- Extract row(s) from a sparse
|
||||
\clearpage\subsection{psb\_sp\_getrow --- Extract row(s) from a sparse
|
||||
matrix}
|
||||
\addcontentsline{toc}{subsection}{psb\_sp\_getrow}
|
||||
%\addcontentsline{toc}{subsection}{psb\_sp\_getrow}
|
||||
|
||||
\begin{verbatim}
|
||||
call psb_sp_getrow(row, a, nz, ia, ja, val, info, &
|
||||
@@ -1701,8 +1686,8 @@ An integer value; 0 means no error has been detected.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{psb\_sizeof --- Memory occupation}
|
||||
\addcontentsline{toc}{subsection}{psb\_sizeof}
|
||||
\clearpage\subsection{psb\_sizeof --- Memory occupation}
|
||||
%\addcontentsline{toc}{subsection}{psb\_sizeof}
|
||||
|
||||
This function computes the memory occupation of a PSBLAS object.
|
||||
|
||||
@@ -1740,8 +1725,8 @@ Returned as: an \verb|integer(psb_long_int_k_)| number.
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{Sorting utilities --- }
|
||||
\addcontentsline{toc}{subsection}{Sorting utilities}
|
||||
\clearpage\subsection{Sorting utilities --- }
|
||||
%\addcontentsline{toc}{subsection}{Sorting utilities}
|
||||
|
||||
{\par\noindent\large\bfseries psb\_msort --- Sorting by the Merge-sort
|
||||
algorithm}
|
||||
|
||||
@@ -8,7 +8,6 @@
|
||||
bookmarksnumbered=true,
|
||||
bookmarksopen=false,
|
||||
plainpages=false,
|
||||
pdfpagelabels,
|
||||
colorlinks,
|
||||
linkcolor=blue]{hyperref}
|
||||
\usepackage{ifthen}
|
||||
@@ -21,18 +20,6 @@
|
||||
%\setboolean{mtc}{true}
|
||||
|
||||
\pdfoutput=0
|
||||
% \relax
|
||||
% \pdfcompresslevel=0 %-- 0 = none, 9 = best
|
||||
% \pdfinfo{ %-- Info dictionary of PDF output /Author (Alfredo Buttari)
|
||||
% /Title (Parallel Sparse BLAS V. 3.7.0)
|
||||
% /Subject (Parallel Sparse Basic Linear Algebra Subroutines)
|
||||
% /Keywords (Computer Science Linear Algebra Fluid Dynamics Parallel Linux MPI PSBLAS Iterative Solvers Preconditioners)
|
||||
% /Creator (pdfLaTeX)
|
||||
% /Producer ($Id: userguide.tex 1978 2007-10-19 14:51:12Z sfilippo $)
|
||||
% }
|
||||
% \pdfcatalog{ %-- Catalog dictionary of PDF output.
|
||||
% /URI (http://ce.uniroma2.it/psblas)
|
||||
% }
|
||||
|
||||
\newcounter{subroutine}[subsection]
|
||||
\newcounter{example}[subroutine]
|
||||
|
||||
+6
-12
@@ -9,9 +9,8 @@ module \verb|psb_util_mod|.
|
||||
|
||||
%\subroutine{PSB\_HBIO\_MOD}{Input/Output in Harwell-Boeing format}
|
||||
|
||||
\clearpage\subsection*{ hb\_read --- Read a sparse matrix from a file in the
|
||||
\clearpage\subsection{ hb\_read --- Read a sparse matrix from a file in the
|
||||
Harwell--Boeing format}
|
||||
\addcontentsline{toc}{subsection}{hb\_read}
|
||||
|
||||
|
||||
\begin{lstlisting}
|
||||
@@ -53,9 +52,8 @@ An integer value; 0 means no error has been detected.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{hb\_write --- Write a sparse matrix to a file
|
||||
\clearpage\subsection{hb\_write --- Write a sparse matrix to a file
|
||||
in the Harwell--Boeing format}
|
||||
\addcontentsline{toc}{subsection}{hb\_write}
|
||||
|
||||
|
||||
\begin{lstlisting}
|
||||
@@ -107,9 +105,8 @@ An integer value; 0 means no error has been detected.
|
||||
|
||||
%\subroutine{PSB\_MMIO\_MOD}{Input/Output in MatrixMarket format}
|
||||
|
||||
\clearpage\subsection*{mm\_mat\_read --- Read a sparse matrix from a
|
||||
\clearpage\subsection{mm\_mat\_read --- Read a sparse matrix from a
|
||||
file in the MatrixMarket format}
|
||||
\addcontentsline{toc}{subsection}{mm\_mat\_read}
|
||||
|
||||
\begin{lstlisting}
|
||||
call mm_mat_read(a, iret, iunit, filename)
|
||||
@@ -139,9 +136,8 @@ An integer value; 0 means no error has been detected.
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{mm\_array\_read --- Read a dense array from a
|
||||
\clearpage\subsection{mm\_array\_read --- Read a dense array from a
|
||||
file in the MatrixMarket format}
|
||||
\addcontentsline{toc}{subsection}{mm\_array\_read}
|
||||
|
||||
\begin{lstlisting}
|
||||
call mm_array_read(b, iret, iunit, filename)
|
||||
@@ -174,9 +170,8 @@ An integer value; 0 means no error has been detected.
|
||||
|
||||
|
||||
|
||||
\clearpage\subsection*{mm\_mat\_write --- Write a sparse matrix to a
|
||||
\clearpage\subsection{mm\_mat\_write --- Write a sparse matrix to a
|
||||
file in the MatrixMarket format}
|
||||
\addcontentsline{toc}{subsection}{mm\_mat\_write}
|
||||
|
||||
|
||||
\begin{lstlisting}
|
||||
@@ -210,9 +205,8 @@ An integer value; 0 means no error has been detected.
|
||||
\end{description}
|
||||
|
||||
|
||||
\clearpage\subsection*{mm\_array\_write --- Write a dense array from a
|
||||
\clearpage\subsection{mm\_array\_write --- Write a dense array from a
|
||||
file in the MatrixMarket format}
|
||||
\addcontentsline{toc}{subsection}{mm\_array\_write}
|
||||
|
||||
\begin{lstlisting}
|
||||
call mm_array_write(b, iret, iunit, filename)
|
||||
|
||||
Reference in New Issue
Block a user