Fixes to user's guide.
This commit is contained in:
Salvatore Filippone
2012-02-24 17:30:40 +00:00
parent 9d5dcc5259
commit 4da9bf0d01
189 changed files with 5280 additions and 4595 deletions
+3 -4
View File
@@ -49,7 +49,7 @@ call psb_halo(x, desc_a, info, alpha, work, data)
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf inout}.\\
Specified as: a rank one or two array with the TARGET attribute
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90halo}.
\item[desc\_a] contains data structures for communications.\\
@@ -67,8 +67,7 @@ Specified as: a number of the data type indicated in Table~\ref{tab:f90halo}.
Scope: {\bf local} \\
Type: {\bf optional}\\
Intent: {\bf inout}.\\
Specified as: a rank one array of the same type of $x$ with the
POINTER attribute.
Specified as: a rank one array of the same type of $x$.
\item[data] index list selector.\\
Scope: {\bf global} \\
Type: {\bf optional} \\
@@ -209,7 +208,7 @@ call psb_ovrl(x, desc_a, info, update=update_type, work=work)
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf inout}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90ovrl}.
\item[desc\_a] contains data structures for communications.\\
+38 -30
View File
@@ -14,17 +14,22 @@ the module \verb|psb_base_mod|; this will have to be included by every
user subroutine that makes use of the library. The preconditioners are
defined in the module \verb|psb_prec_mod|
Real and complex data types are parametrized with a kind type defined
in the library as follows:
Integer, real and complex data types are parametrized with a kind type
defined in the library as follows:
\begin{description}
\item[psb\_spk\_] Kind parameter for short precision real and complex
data; corresponds to a \verb|REAL| declaration and is
normally 4 bytes.
normally 4 bytes;
\item[psb\_dpk\_] Kind parameter for long precision real and complex
data; corresponds to a \verb|DOUBLE PRECISION| declaration and is
normally 8 bytes.
\item[psb\_long\_int\_k\_] Kind parameter for long integers, used by
the \verb|psb_sizeof| utility.
normally 8 bytes;
\item[psb\_ipk\_] Kind parameter for integer data;
with default build options this is a 4 bytes integer, but there is
(highly) experimental support for 8-bytes integers;
\item[psb\_mpik\_] Kind parameter for 4-bytes integer data, as is
always used by MPI;
\item[psb\_long\_int\_k\_] Kind parameter for long (8 bytes) integers,
which are always used by the \verb|sizeof| methods.
\end{description}
Together with the classes attributes we also discuss their
methods. Most methods detailed here only act on the local variable,
@@ -184,7 +189,7 @@ nr = desc%get_local_rows()
Scope: {\bf local}.\\
% Type: {\bf required}.\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \descdata.
% Specified as: a object of type \descdata.
\end{description}
\begin{description}
@@ -210,7 +215,7 @@ nc = desc%get_local_cols()
Scope: {\bf local}.\\
% Type: {\bf required}.\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \descdata.
% Specified as: a object of type \descdata.
\end{description}
\begin{description}
@@ -237,7 +242,7 @@ nr = desc%get_global_rows()
Scope: {\bf local}.\\
% Type: {\bf required}.\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \descdata.
% Specified as: a object of type \descdata.
\end{description}
\begin{description}
@@ -260,7 +265,7 @@ nr = desc%get_global_cols()
Scope: {\bf local}.\\
% Type: {\bf required}.\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \descdata.
% Specified as: a object of type \descdata.
\end{description}
\begin{description}
@@ -282,7 +287,7 @@ ictxt = desc%get_context()
Scope: {\bf local}.\\
% Type: {\bf required}.\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \descdata.
% Specified as: a object of type \descdata.
\end{description}
\begin{description}
@@ -365,7 +370,7 @@ processes.
\subsection{Sparse Matrix class}
\label{sec:spmat}
The \hypertarget{spdata}{{\tt psb\_spmat\_type}} class
The \hypertarget{spdata}{{\tt psb\_Tspmat\_type}} class
contains all information about the local portion of the sparse matrix and
its storage mode. Its design is
based on the STATE design pattern~\cite{DesignPatterns} as detailed
@@ -378,7 +383,8 @@ data type and precision variants
\item[C] Single precision complex;
\item[Z] Double precision complex.
\end{description}
The actual data is contained in the polymorphic component \verb|a%a|; its
The actual data is contained in the polymorphic component \verb|a%a|
of type \hypertarget{spbasedata}{{\tt psb\_T\_base\_sparse\_mat}}; its
specific layout can be chosen dynamically among the predefined types,
or an entirely new storage layout can be implemented and passed to the
library at runtime via the \verb|psb_spasb| routine.
@@ -442,7 +448,7 @@ nr = a%get_nrows()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -465,7 +471,7 @@ nc = a%get_ncols()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -489,7 +495,7 @@ nz = a%get_nnzeros()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -519,7 +525,7 @@ maxnz = a%get_size()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -543,7 +549,7 @@ memory_size = a%sizeof()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -566,7 +572,7 @@ write(*,*) a%get_fmt()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -592,7 +598,7 @@ if (a%is_asb()) then
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -621,8 +627,8 @@ Scope: {\bf local}\\
\subsection{Dense Vector Data Structure}
\label{sec:spmat}
The \hypertarget{vdata}{{\tt psb\_vect\_type}} data structure
\label{sec:vecttype}
The \hypertarget{vdata}{{\tt psb\_T\_vect\_type}} data structure
encapsulates the dense vectors in a way similar to sparse matrices.
The user will not, in general, access the vector components directly,
but rather via the routines of sec.~\ref{sec:toolsrout}. Among other
@@ -640,10 +646,12 @@ data type and precision variants
\item[C] Single precision complex;
\item[Z] Double precision complex.
\end{description}
The actual data is contained in the polymorphic component \verb|a%a|; its
specific layout can be chosen dynamically among the predefined types,
or an entirely new storage layout can be implemented and passed to the
library at runtime via the \verb|psb_spasb| routine.
The actual data is contained in the polymorphic component \verb|v%v|;
the separation between the application and the actual data is
essential for cases where it is necessary to link to data storage made
available elsewhere outside the direct control of the
compiler/application, e.g. data stored in a graphics accelerator's
private memory.
\begin{figure}[h!]
\begin{Sbox}
\begin{minipage}[tl]{0.85\textwidth}
@@ -665,7 +673,7 @@ library at runtime via the \verb|psb_spasb| routine.
\end{center}
\caption{\label{fig:vectype}
The PSBLAS defined data type that
contains a dense vector..}
contains a dense vector.}
\end{figure}
\subsubsection{Methods}
@@ -683,7 +691,7 @@ nr = v%get_nrows()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -709,7 +717,7 @@ memory_size = v%sizeof()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
@@ -732,7 +740,7 @@ extv = v%get_vect()
Scope: {\bf local}\\
% Type: {\bf required}\\
% Intent: {\bf in}.\\
% Specified as: a structured data of type \spdata.
% Specified as: a object of type \spdata.
\end{description}
\begin{description}
+55 -57
View File
@@ -52,7 +52,7 @@ $x$.\\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type
specified in Table~\ref{tab:f90axpby}. The rank of $x$ must be the same of $y$.
\item[beta] the scalar $\beta$.\\
@@ -65,13 +65,13 @@ $y$. \\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf inout}.\\
Specified as: a rank one or two array containing numbers of the type
Specified as: a rank one or two array or an object of type \vdata\ containing numbers of the type
indicated in Table~\ref{tab:f90axpby}. The rank of $y$ must be the same of $x$.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
%% \item[n] number of columns in dense submatrices $x$ and $y$.\\
%% Scope: {\bf global} \\
%% Type: {\bf optional}; can only be present if $x$ and $y$ are of rank 2.\\
@@ -98,7 +98,7 @@ Specified as: a structured data of type \descdata.
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf inout}.\\
Specified as: a rank one or two array containing numbers of the type
Specified as: a rank one or two array or an object of type \vdata\ containing numbers of the type
indicated in Table~\ref{tab:f90axpby}.
\item[info] Error code.\\
Scope: {\bf local} \\
@@ -160,7 +160,7 @@ $x$.\\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: an array of rank one or two
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90dot}. The rank of $x$ must be the same of $y$.
\item[y] the local portion of global dense matrix
@@ -170,14 +170,14 @@ $y$. \\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: an array of rank one or two
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90dot}. The rank of $y$ must be the same of $x$.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
%% \item[jx] the column index of global dense matrix $x$,
%% identifying the column of subvector $x$.\\
%% Scope: {\bf global} \\
@@ -244,7 +244,7 @@ $x$. \\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: an array of rank one or two
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90mdot}. The rank of $x$ must be the same of $y$.
\item[y] the local portion of global dense matrix
@@ -252,14 +252,14 @@ $y$. \\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: an array of rank one or two
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90mdot}. The rank of $y$ must be the same of $x$.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
\item[\bf On Return]
\item[res] is the dot product of subvectors $x$ and $y$.\\
Scope: {\bf global} \\
@@ -288,7 +288,7 @@ This function computes
If $x$ is a real vector
it computes infinity norm as:
\[ amax \leftarrow \max_i |x_i|\]
else if $x$ is a complex vector then it computes infinity-norm as:
else if $x$ is a complex vector then it computes the infinity-norm as:
\[ amax \leftarrow \max_i {(|re(x_i)| + |im(x_i)|)}\]
%% where:
%% \begin{description}
@@ -327,14 +327,14 @@ $x$. %% This function computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90amax}.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
%% \item[jx] the column index of global dense matrix $x$,
%% identifying the column of subvector $x$.\\
%% Scope: {\bf global} \\
@@ -393,14 +393,14 @@ $x$. \\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90mamax}.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
\item[\bf On Return]
\item[res] is the infinity norm of the columns of $x$.\\
Scope: {\bf global} \\
@@ -427,7 +427,7 @@ This function computes the 1-norm of a vector $x$.\\
If $x$ is a real vector
it computes 1-norm as:
\[ asum \leftarrow \|x_i\|\]
else if $x$ is a vector then it computes 1-norm as:
else if $x$ is a complex vector then it computes 1-norm as:
\[ asum \leftarrow \|re(x)\|_1 + \|im(x)\|_1\]
@@ -461,14 +461,14 @@ $x$. %% This function computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90asum}.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
\item[\bf On Return]
\item[Function value] is the 1-norm of vector $x$.\\
@@ -526,14 +526,14 @@ $x$. %% This function computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90asums}.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
\item[\bf On Return]
\item[res] contains the 1-norm of (the columns of) $x$.\\
@@ -560,10 +560,10 @@ An integer value; 0 means no error has been detected.
\addcontentsline{toc}{subsection}{psb\_geasums}
This function computes the 2-norm of a vector $x$.\\
If $x$ is a double precision real vector
If $x$ is a real vector
it computes 2-norm as:
\[ nrm2 \leftarrow \sqrt{x^T x}\]
else if $x$ is double precision complex vector then it computes 2-norm as:
else if $x$ is a complex vector then it computes 2-norm as:
\[ nrm2 \leftarrow \sqrt{x^H x}\]
%% where:
%% \begin{description}
@@ -601,14 +601,14 @@ $x$.%% This function computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90nrm2}.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
%% \item[jx] the column index of global dense matrix $x$,
%% identifying the column of subvector $x$.\\
%% Scope: {\bf global} \\
@@ -668,14 +668,14 @@ $x$. %% This function computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90nrm2s}.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
\item[\bf On Return]
\item[res] contains the 1-norm of (the columns of) $x$.\\
@@ -737,12 +737,12 @@ $A$. \\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \spdata.
Specified as: an object of type \spdata.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
\item[\bf On Return]
\item[Function value] is the infinity-norm of sparse submatrix $A$.\\
Scope: {\bf global} \\
@@ -768,24 +768,23 @@ An integer value; 0 means no error has been detected.
This subroutine computes the Sparse Matrix by Dense Matrix Product:
\begin{equation}
y \leftarrow \alpha P_r A P_c x + \beta y
y \leftarrow \alpha A x + \beta y
\label{eq:f90spmm_no_tra}
\end{equation}
\begin{equation}
y \leftarrow \alpha P_r A^T P_c x + \beta y
y \leftarrow \alpha A^T x + \beta y
\label{eq:f90spmm_tra}
\end{equation}
\begin{equation}
y \leftarrow \alpha P_r A^H P_c x + \beta y
y \leftarrow \alpha A^H x + \beta y
\label{eq:f90spmm_con}
\end{equation}
where:
\begin{description}
\item[$x$] is the global dense submatrix $x_{:, :}$
\item[$y$] is the global dense submatrix $y_{:, :}$
\item[$A$] is the global sparse submatrix $A$
\item[$P_r, P_c$] are the permutation matrices.
\item[$x$] is the global dense matrix $x_{:, :}$
\item[$y$] is the global dense matrix $y_{:, :}$
\item[$A$] is the global sparse matrix $A$
\end{description}
\begin{table}[h]
@@ -824,7 +823,7 @@ $A$. \\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \spdata.
Specified as: an object of type \spdata.
\item[x] the local portion of global dense matrix
$x$. %% This subroutine computes the location of the first element of
%% local subarray used, based on $jx$ and the field $matrix\_data$ of $desc\_a$ .
@@ -832,7 +831,7 @@ $x$. %% This subroutine computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90spmm}. The rank of $x$ must be the same of $y$.
\item[beta] the scalar $\beta$.\\
@@ -847,15 +846,15 @@ $y$. %% This subroutine computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf inout}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90spmm}. The rank of $y$ must be the same of $x$.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
\item[trans] indicate what kind of operation to perform.
Specified as: an object of type \descdata.
\item[trans] indicates what kind of operation to perform.
\begin{description}
\item[trans = N] the operation is specified by equation \ref{eq:f90spmm_no_tra}
\item[trans = T] the operation is specified by equation
@@ -894,7 +893,7 @@ Specified as: a rank one array of the same type of $x$ and $y$ with
the TARGET attribute.
\item[\bf On Return]
\item[y] the local portion of result submatrix $y$.\\
\item[y] the local portion of result matrix $y$.\\
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf inout}.\\
@@ -921,25 +920,24 @@ An integer value; 0 means no error has been detected.
This subroutine computes the Triangular System Solve:
\begin{eqnarray*}
y &\leftarrow& \alpha P_r T^{-1} P_c x + \beta y\\
y &\leftarrow& \alpha D P_r T^{-1} P_c x + \beta y\\
y &\leftarrow& \alpha P_r T^{-1} P_c D x + \beta y\\
y &\leftarrow& \alpha P_r T^{-T} P_c x + \beta y\\
y &\leftarrow& \alpha D P_r T^{-T} P_c x + \beta y\\
y &\leftarrow& \alpha P_r T^{-T} P_c D x + \beta y\\
y &\leftarrow& \alpha P_r T^{-H} P_c x + \beta y\\
y &\leftarrow& \alpha D P_r T^{-H} P_c x + \beta y\\
y &\leftarrow& \alpha P_r T^{-H} P_c D x + \beta y\\
y &\leftarrow& \alpha T^{-1} x + \beta y\\
y &\leftarrow& \alpha D T^{-1} x + \beta y\\
y &\leftarrow& \alpha T^{-1} D x + \beta y\\
y &\leftarrow& \alpha T^{-T} x + \beta y\\
y &\leftarrow& \alpha D T^{-T} x + \beta y\\
y &\leftarrow& \alpha T^{-T} D x + \beta y\\
y &\leftarrow& \alpha T^{-H} x + \beta y\\
y &\leftarrow& \alpha D T^{-H} x + \beta y\\
y &\leftarrow& \alpha T^{-H} D x + \beta y\\
\end{eqnarray*}
where:
\begin{description}
\item[$x$] is the global dense submatrix $x_{:, :}$
\item[$y$] is the global dense submatrix $y_{:, :}$
\item[$x$] is the global dense matrix $x_{:, :}$
\item[$y$] is the global dense matrix $y_{:, :}$
\item[$T$] is the global sparse block triangular submatrix $T$
\item[$D$] is the scaling diagonal matrix.
\item[$P_r, P_c$] are the permutation matrices.
\end{description}
\begin{verbatim}
@@ -980,7 +978,7 @@ $T$. \\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data type specified in
Specified as: an object type specified in
\S~\ref{sec:datastruct}.
\item[x] the local portion of global dense matrix
$x$. %% This subroutine computes the location of the first element of
@@ -989,7 +987,7 @@ $x$. %% This subroutine computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf in}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90spsm}. The rank of $x$ must be the same of $y$.
\item[beta] the scalar $\beta$.\\
@@ -1004,14 +1002,14 @@ $y$. %% This subroutine computes the location of the first element of
Scope: {\bf local} \\
Type: {\bf required} \\
Intent: {\bf inout}.\\
Specified as: a rank one or two array
Specified as: a rank one or two array or an object of type \vdata\
containing numbers of type specified in
Table~\ref{tab:f90spsm}. The rank of $y$ must be the same of $x$.
\item[desc\_a] contains data structures for communications.\\
Scope: {\bf local} \\
Type: {\bf required}\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
Specified as: an object of type \descdata.
\item[trans] specify with {\em unitd} the operation to perform.
\begin{description}
\item[trans = 'N'] the operation is with no transposed matrix
+9 -2
View File
@@ -641,7 +641,7 @@ An integer value; 0 means no error has been detected.
\addcontentsline{toc}{subsection}{psb\_spasb}
\begin{verbatim}
call psb_spasb(a, desc_a, info, afmt, upd, dupl)
call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
\end{verbatim}
\begin{description}
@@ -653,7 +653,7 @@ Type:{\bf required}.\\
Intent: {\bf in}.\\
Specified as: a structured data of type \descdata.
\item[afmt] the storage format for the sparse matrix.\\
Scope: {\bf global}.\\
Scope: {\bf local}.\\
Type: {\bf optional}.\\
Intent: {\bf in}.\\
Specified as: an array of characters. Defalt: 'CSR'.
@@ -668,6 +668,11 @@ Type: {\bf optional}.\\
Intent: {\bf in}.\\
Specified as: integer, possible values: \verb|psb_dupl_ovwrt_|,
\verb|psb_dupl_add_|, \verb|psb_dupl_err_|.
\item[mold] The desired dynamic type for the internal matrix storage.\\
Scope: {\bf local}.\\
Type: {\bf optional}.\\
Intent: {\bf in}.\\
Specified as: an object of a class derived from \spbasedata.
\end{description}
\begin{description}
@@ -696,6 +701,8 @@ An integer value; 0 means no error has been detected.
calls to \verb|psb_spins| to update the matrix must be arranged in
such a way as to produce exactly the same sequence of coefficient
values as encountered at the first assembly;
\item The output storage format need not be the same on all
processes;
\item On exit from this routine the matrix is in the assembled state,
and thus is suitable for the computational routines.
\end{enumerate}
+3 -1
View File
@@ -73,7 +73,9 @@
\newcommand{\precdata}{\hyperlink{precdata}{{\tt psb\_prec\_type}}}
\newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}
\newcommand{\spdata}{\hyperlink{spdata}{{\tt psb\_spmat\_type}}}
\newcommand{\spdata}{\hyperlink{spdata}{{\tt psb\_Tspmat\_type}}}
\newcommand{\vdata}{\hyperlink{vdata}{{\tt psb\_T\_vect\_type}}}
\newcommand{\spbasedata}{\hypertarget{spbasedata}{{\tt psb\_T\_base\_sparse\_mat}}}
\begin{document}
+3 -2
View File
@@ -72,8 +72,9 @@
\newcommand{\precdata}{\hyperlink{precdata}{{\tt psb\_prec\_type}}}
\newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_type}}}
\newcommand{\spdata}{\hyperlink{spdata}{{\tt psb\_spmat\_type}}}
\newcommand{\spdata}{\hyperlink{spdata}{{\tt psb\_Tspmat\_type}}}
\newcommand{\vdata}{\hyperlink{vdata}{{\tt psb\_T\_vect\_type}}}
\newcommand{\spbasedata}{\hypertarget{spbasedata}{{\tt psb\_T\_base\_sparse\_mat}}}
\begin{document}
{\LARGE\bfseries PSBLAS\\[.8ex] User's and Reference
Guide}\\[\baselineskip]