mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-25 15:30:31 +00:00
*** empty log message ***
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
include Make.inc
|
||||
|
||||
library:
|
||||
lib:
|
||||
( [ -d lib ] || mkdir lib)
|
||||
(cd src; make lib)
|
||||
@echo "====================================="
|
||||
@@ -14,3 +14,4 @@ veryclean:
|
||||
(cd src; make veryclean)
|
||||
(cd lib; /bin/rm -f *.a *$(.mod) *$(.fh))
|
||||
|
||||
.PHONY: lib
|
||||
|
||||
@@ -46,8 +46,7 @@ Table~\ref{tab:f90halo}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[alpha] the scalar $\alpha$.\\
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional} \\
|
||||
@@ -121,9 +120,8 @@ Table~\ref{tab:f90ovrl}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
item[choice] specify if exchange overlap elements.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[choice] specify if exchange overlap elements.
|
||||
\begin{description}
|
||||
\item[choice = .true.] exchange overlap elements, i.e. apply operator
|
||||
$P^{T}$;
|
||||
@@ -232,7 +230,7 @@ indicated in Table~\ref{tab:gather}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[root] The process that holds the global copy. If $root=-1$ all
|
||||
the processes will have a copy of the global vector.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -322,7 +320,7 @@ Specified as: a rank one or two array.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[root] The process that holds the global copy. If $root=-1$ all
|
||||
the processes have a copy of the global vector.\\
|
||||
Scope: {\bf global} \\
|
||||
|
||||
@@ -11,7 +11,8 @@ the modules \verb|psb_spmat_type|, \verb|psb_descriptor_type| and \verb|psb_prec
|
||||
|
||||
\subsection{Sparse Matrix data structure}
|
||||
\label{sec:spmat}
|
||||
Contains all information about local portion of the sparse matrix and
|
||||
The \hypertarget{spdata}{{\tt psb\_spmat\_type}} data structure
|
||||
contains all information about local portion of the sparse matrix and
|
||||
its storage mode. Many of this fields are set in fully-transparent
|
||||
mode by PSBLAS-TOOLS routines when inserting a new sparse matrix, user
|
||||
must set only fields which describe matrix storage mode (see
|
||||
@@ -95,7 +96,8 @@ column index are stored into \verb|apsk(j)|, \verb|ia1(j)| and
|
||||
\subsection{Descriptor data structure}
|
||||
\label{sec:desc}
|
||||
All the general matrix informations and elements to be
|
||||
exchanged among processes are stored within a data structure of the type $psb_desc_type$.
|
||||
exchanged among processes are stored within a data structure of the
|
||||
type \hypertarget{descdata}{{\tt psb\_desc\_type}}.
|
||||
Every structure of this type is associated to a sparse matrix, it
|
||||
contains data about general matrix informations and elements to be
|
||||
exchanged among processes. \\
|
||||
@@ -180,7 +182,7 @@ as follows:
|
||||
|
||||
\subsection{Preconditioner data structure}
|
||||
\label{sec:prec}
|
||||
\hypertarget{precdata}{ciao finocchio}
|
||||
\hypertarget{precdata}{}
|
||||
|
||||
|
||||
|
||||
|
||||
+18
-18
@@ -31,11 +31,11 @@ according to the value passed through the istop argument (see later).
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[prec] The data structure containing the preconditioner.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \precdata.
|
||||
\item[b] The RHS vector. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
@@ -51,7 +51,7 @@ Specified as: a real number.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[itmax] The maximum number of iterations to perform.\\
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
@@ -107,11 +107,11 @@ according to the value passed through the istop argument (see later).
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[prec] The data structure containing the preconditioner.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \precdata.
|
||||
\item[b] The RHS vector. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
@@ -127,7 +127,7 @@ Specified as: a real number.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[itmax] The maximum number of iterations to perform.\\
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
@@ -183,11 +183,11 @@ according to the value passed through the istop argument (see later).
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[prec] The data structure containing the preconditioner.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \precdata.
|
||||
\item[b] The RHS vector. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
@@ -203,7 +203,7 @@ Specified as: a real number.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[itmax] The maximum number of iterations to perform.\\
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
@@ -260,11 +260,11 @@ according to the value passed through the istop argument (see later).
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[prec] The data structure containing the preconditioner.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \precdata.
|
||||
\item[b] The RHS vector. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
@@ -280,7 +280,7 @@ Specified as: a real number.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[itmax] The maximum number of iterations to perform.\\
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
@@ -337,11 +337,11 @@ according to the value passed through the istop argument (see later).
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[prec] The data structure containing the preconditioner.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \precdata.
|
||||
\item[b] The RHS vector. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
@@ -357,7 +357,7 @@ Specified as: a real number.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[itmax] The maximum number of iterations to perform.\\
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
@@ -417,11 +417,11 @@ according to the value passed through the istop argument (see later).
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[prec] The data structure containing the preconditioner.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \precdata.
|
||||
\item[b] The RHS vector. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
@@ -437,7 +437,7 @@ Specified as: a real number.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[itmax] The maximum number of iterations to perform.\\
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
|
||||
+12
-21
@@ -62,7 +62,7 @@ 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}\\
|
||||
Specified as: a structured data type specified in \S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data 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.\\
|
||||
@@ -156,8 +156,7 @@ 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}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[jx] the column index of global dense matrix $x$,
|
||||
identifying the column of subvector $x$.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -230,7 +229,7 @@ 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}\\
|
||||
Specified as: a structured data type specified in Sec.~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[\bf On Return]
|
||||
\item[res] is the dot product of subvectors $x$ and $y$.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -295,8 +294,7 @@ Table~\ref{tab:f90amax}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[jx] the column index of global dense matrix $x$,
|
||||
identifying the column of subvector $x$.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -353,7 +351,7 @@ Table~\ref{tab:f90mamax}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in Sec.~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[\bf On Return]
|
||||
\item[res] is the infinity norm of the columns of $x$.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -416,8 +414,7 @@ Table~\ref{tab:f90asum}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[jx] the column index of global dense matrix $x$,
|
||||
identifying the column of subvector $x$.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -486,8 +483,7 @@ Table~\ref{tab:f90nrm2}.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[jx] the column index of global dense matrix $x$,
|
||||
identifying the column of subvector $x$.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -546,13 +542,11 @@ Long Precision Complex & psb\_nrmi \\
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[desc\_a] contains data structures for communications.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[\bf On Return]
|
||||
\item[Function value] is the infinity-norm of sparse submatrix $A$.\\
|
||||
Scope: {\bf global} \\
|
||||
@@ -626,8 +620,7 @@ Table~\ref{tab:f90spmm}.
|
||||
$A$. \\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data 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$ . \\
|
||||
@@ -651,8 +644,7 @@ 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}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[trans] indicate what kind of operation to perform.
|
||||
\begin{description}
|
||||
\item[trans = N] the operation is specified by equation \ref{eq:f90spmm_no_tra}
|
||||
@@ -791,8 +783,7 @@ 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}\\
|
||||
Specified as: a structured data type specified in
|
||||
\S~\ref{sec:datastruct}.
|
||||
Specified as: a structured data 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
|
||||
|
||||
+406
-84
@@ -5,32 +5,37 @@
|
||||
\subroutine{psb\_alloc}{Allocates a dense matrix}
|
||||
|
||||
\syntax{call psb\_alloc}{m, n, x, desc\_a, info, js}
|
||||
\syntax*{call psb\_alloc}{m, n, x, desc\_a, info}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[m] The number of rows of the dense matrix to be allocated.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.
|
||||
\item[n] The number of columns of the dense matrix to be allocated.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.
|
||||
\item[desc\_a] The communication descriptor.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a variable of type \descdata.\\
|
||||
\item[js] The starting column.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf optional}\\
|
||||
Specified as: Integer scalar.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[x] The dense matrix to be allocated.
|
||||
\item[x] The dense matrix to be allocated.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a one or two dimensional array.\\
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.
|
||||
\end{description}
|
||||
|
||||
%
|
||||
@@ -45,16 +50,19 @@ Type: {\bf required}\\
|
||||
\item[desc\_a] The communication descriptor.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a variable of type \descdata.\\
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[x] The dense matrix to be assembled.
|
||||
\item[x] The dense matrix to be assembled.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
\item[info] Error code.
|
||||
Specified as: a one or two dimensional array.\\
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -67,12 +75,30 @@ Type: {\bf required}\\
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[trans] A character that specifies whether to permute $A$ or $A^T$.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a single character with value 'N' for $A$ or 'T' for $A^T$.\\
|
||||
\item[iperm] An integer array containing permutation information.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer one-dimensional array.\\
|
||||
\item[a] The sparse matrix to be permuted.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a \spdata variable.\\
|
||||
\item[desc\_a] The communication descriptor of type \descdata.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a variable of type \descdata.\\
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -81,16 +107,25 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_descprt}{Prints a descriptor}
|
||||
|
||||
\syntax{call psb\_descprt}{iout, desc\_p, glob, short}
|
||||
\syntax{call psb\_descprt}{iout, desc\_a, glob, short}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[iout] An integer that defines the output unit.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.\\
|
||||
\item[desc\_a] The communication descriptor of type \descdata that
|
||||
must be printed.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a variable of type \descdata.\\
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[glob] ??????
|
||||
\item[short] ??????
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -103,12 +138,23 @@ Type: {\bf required}\\
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[x] The dense matrix to
|
||||
be freed.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a one or two dimensional array.
|
||||
\item[desc\_a] The communication descriptor.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a variable of type \descdata.\\
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -121,31 +167,80 @@ Type: {\bf required}\\
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[trans] A character that specifies whether to permute $A$ or $A^T$.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a single character with value 'N' for $A$ or 'T' for $A^T$.\\
|
||||
\item[iperm] An integer array containing permutation information.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer one-dimensional array.\\
|
||||
\item[x] The dense matrix to be permuted.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a one or two dimensional array.\\
|
||||
\item[desc\_a] The communication descriptor.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a variable of type \descdata.\\
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: Integer scalar.\\
|
||||
\end{description}
|
||||
|
||||
%
|
||||
%% psb_ins %%
|
||||
%% psb_spins %%
|
||||
%
|
||||
\subroutine{psb\_ins}{Insert a submatrix into a dense matrix}
|
||||
\subroutine{psb\_spins}{Insert a cloud of elements into a sparse matrix}
|
||||
|
||||
\syntax{call psb\_ins}{m, n, x, ix, jx, blck, desc\_a, info, iblck, jblck}
|
||||
\syntax*{call psb\_ins}{m, x, ix, jx, blck, desc\_a, info, iblck}
|
||||
\syntax*{call psb\_ins}{m, x, ix, jx, blck, desc\_a, info, iblck, insflag}
|
||||
\syntax{call psb\_spins}{nz, ia, ja, val, a, desc\_a, info, is, js}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[nz] the number of elements to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer scalar.
|
||||
\item[ia] the row indices of the elements to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer array of size $nz$.
|
||||
\item[ja] the column indices of the elements to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer array of size $nz$.
|
||||
\item[val] the elements to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an array of size $nz$.
|
||||
\item[desc\_a] The communication descriptor.\\
|
||||
Scope: {\bf local}. \\
|
||||
Type: {\bf required}.\\
|
||||
Specified as: a variable of type \descdata.\\
|
||||
\item[is] the starting row on matrix $a$.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf optional}.\\
|
||||
Specified as: an integer vaule.
|
||||
\item[js] the starting column on matrix $a$.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf optional}\\
|
||||
Specified as: an integer value
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[a] the matrix into which elements will be inserted.\\
|
||||
Scope:{\bf local}\\
|
||||
Type:{\bf required}\\
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[info] Error code.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -154,17 +249,39 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_dscall}{Allocates a communication descriptor}
|
||||
|
||||
\syntax{call psb\_dscall}{m, n, parts, icontxt, desc\_a, info, flag}
|
||||
\syntax{call psb\_dscall}{m, n, parts, icontxt, desc\_a, info}
|
||||
\syntax*{call psb\_dscall}{m, v, icontxt, desc\_a, info, flag}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[m] the number of rows of the problem.\\
|
||||
Scope:{\bf global}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[n] the number of columns of the problem.\\
|
||||
Scope:{\bf global}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[parts] the subroutine that defines the partitioning scheme.\\
|
||||
Scope:{\bf global}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a subroutine as described in ???
|
||||
\item[icontxt] the communication context.\\
|
||||
Scope:{\bf global}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -177,11 +294,18 @@ Type: {\bf required}\\
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\item[arg]
|
||||
\end{description}
|
||||
|
||||
@@ -192,17 +316,27 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_dsccpy}{Copies a communication descriptor}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_dsccpy}{desc\_out, desc\_a, info}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[desc\_out] the communication descriptor copy.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.\\
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -211,37 +345,66 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_dscfree}{Frees a communication descriptor}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_dscfree}{desc\_a, info}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[desc\_a] the communication descriptor to be freed.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
%
|
||||
%% psb_dscins %%
|
||||
%
|
||||
\subroutine{psb\_dscins}{Comunnication descriptor insert routine}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_dscins}{nz, ia, ja, desc\_a, info, is, js}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[nz] the number of points being inserted.\\
|
||||
Scope: {\bf local}.\\
|
||||
Type: {\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[ia] the row indices of the points being inserted.\\
|
||||
Scope: {\bf local}.\\
|
||||
Type: {\bf required}.\\
|
||||
Specified as: an integer array of length $nz$.
|
||||
\item[ja] the column indices of the points being inserted.\\
|
||||
Scope: {\bf local}.\\
|
||||
Type: {\bf required}.\\
|
||||
Specified as: an integer array of length $nz$.
|
||||
\item[is] the row offset.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf optional}.\\
|
||||
Specified as: an integer value.
|
||||
\item[js] the column offset.\\
|
||||
Scope: {\bf local}.\\
|
||||
Type: {\bf optional}.\\
|
||||
Specified as: an integer value.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[desc\_a] the communication descriptor to be freed.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -251,17 +414,30 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_dscren}{Applies a renumeration to a communication descriptor}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_dscren}{trans, iperm, desc\_a, info}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[trans] A character that specifies whether to permute $A$ or $A^T$.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a single character with value 'N' for $A$ or 'T' for $A^T$.\\
|
||||
\item[iperm] An integer array containing permutation information.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer one-dimensional array.\\
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -271,17 +447,30 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_spalloc}{Allocates a sparse matrix}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_spalloc}{a, desc\_a, info, nnz}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[nnz] the number of nonzeroes in the matrix.\\
|
||||
Scope: {\bf global}.\\
|
||||
Type: {\bf optional}.\\
|
||||
Specified as: an integer value.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[a] the matrix to be allocated.\\
|
||||
Scope:{\bf local}\\
|
||||
Type:{\bf required}\\
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -291,17 +480,38 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_spasb}{Sparse matrix assembly routine}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_spasb}{a, desc\_a, info, afmt, up, dup}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[afmt] the storage format for the sparse matrix.\\
|
||||
Scope: {\bf global}.\\
|
||||
Type: {\bf optional}.\\
|
||||
Specified as: an array of characters. If not specified 'CSR' will be assumed.
|
||||
\item[up] ???.\\
|
||||
Scope: {\bf global}.\\
|
||||
Type: {\bf optional}.\\
|
||||
Specified as: .
|
||||
\item[dup] ???.\\
|
||||
Scope: {\bf global}.\\
|
||||
Type: {\bf optional}.\\
|
||||
Specified as:
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[a] the matrix to be assembled.\\
|
||||
Scope:{\bf local}\\
|
||||
Type:{\bf required}\\
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -311,17 +521,30 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_spcnv}{Converts a sparse matrix storage format}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_spcnv}{a, b, desc\_a, info}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[a] the matrix to be converted.\\
|
||||
Scope:{\bf local}\\
|
||||
Type:{\bf required}\\
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[b] the converted matrix.\\
|
||||
Scope:{\bf local}\\
|
||||
Type:{\bf required}\\
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -331,37 +554,83 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_spfree}{Frees a sparse matrix}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_spfree}{a, desc\_a, info}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[a] the matrix to be freed.\\
|
||||
Scope:{\bf local}\\
|
||||
Type:{\bf required}\\
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
%
|
||||
%% psb_spins %%
|
||||
%% psb_ins %%
|
||||
%
|
||||
\subroutine{psb\_spins}{Sparse matrix insertion routine}
|
||||
\subroutine{psb\_ins}{Sparse matrix insertion routine}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_ins}{m, n, x, ix, jx, blck, desc\_a, info, iblck, jblck}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[m] rows number of submatrix belonging to blck to be inserted..\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[n] columns number of submatrix belonging to blck to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[ix] x global-row corresponding to position at which blck submatrix must be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[jx] x global-col corresponding to position at which blck submatrix must be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[blck] the dense submatrix to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a one or two dimensional array.
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[iblck] first row of submatrix belonging to blck to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\item[jblck] first column of submatrix belonging to blck to be inserted.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: an integer value.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[x] the output dense matrix.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a one or two dimensional array.\\
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -369,39 +638,43 @@ Type: {\bf required}\\
|
||||
%
|
||||
%% psb_sprn %%
|
||||
%
|
||||
\subroutine{psb\_sprn}{???}
|
||||
\subroutine{psb\_sprn}{Reinit sparse matrix structure for psblas routines.}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_sprn}{a, decsc\_a, info}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[a] the matrix to be reinitialized.\\
|
||||
Scope:{\bf local}\\
|
||||
Type:{\bf required}\\
|
||||
Specified as: a structured data of type \spdata.
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
|
||||
%
|
||||
%% psb_spupdate %%
|
||||
%
|
||||
\subroutine{psb\_spupdate}{???}
|
||||
\subroutine{psb\_spupdate}{Updates a sparse matrix.}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_spupdate}{a, ia, ja, blck, desc\_a, info, ix, jx, updflag}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -411,17 +684,42 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_glob\_to\_loc}{Global to local indices convertion}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_glob\_to\_loc}{x, y, desc\_a, info, iact}
|
||||
\syntax*{call psb\_glob\_to\_loc}{x, desc\_a, info, iact}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[x] An integer vector of indices to be converted.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a rank one integer array.\\
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[iact] specifies action to be taken in case of range errors.
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
Specified as: a character variable \verb|E|, \verb|W| or \verb|A|.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[x] If $y$ is not present,
|
||||
then $x$ is overwritten with the translated integer indices.
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a rank one integer array.
|
||||
\item[y] If $y$ is not present,
|
||||
then $y$ is overwritten with the translated integer indices, and $x$
|
||||
is left unchanged.
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
Specified as: a rank one integer array.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
@@ -431,20 +729,44 @@ Type: {\bf required}\\
|
||||
%
|
||||
\subroutine{psb\_loc\_to\_glob}{Local to global indices conversion}
|
||||
|
||||
\syntax{call }{}
|
||||
\syntax*{call }{}
|
||||
\syntax{call psb\_loc\_to\_glob}{x, y, desc\_a, info, iact}
|
||||
\syntax*{call psb\_loc\_to\_glob}{x, desc\_a, info, iact}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Entry]
|
||||
\item[arg]
|
||||
\item[x] An integer vector of indices to be converted.\\
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a rank one integer array.\\
|
||||
\item[desc\_a] the communication descriptor.\\
|
||||
Scope:{\bf local}.\\
|
||||
Type:{\bf required}.\\
|
||||
Specified as: a structured data of type \descdata.
|
||||
\item[iact] specifies action to be taken in case of range errors.
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
Specified as: a character variable \verb|E|, \verb|W| or \verb|A|.
|
||||
\end{description}
|
||||
|
||||
\begin{description}
|
||||
\item[\bf On Return]
|
||||
\item[arg]
|
||||
\item[x] If $y$ is not present,
|
||||
then $x$ is overwritten with the translated integer indices.
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: a rank one integer array.
|
||||
\item[y] If $y$ is not present,
|
||||
then $y$ is overwritten with the translated integer indices, and $x$
|
||||
is left unchanged.
|
||||
Scope: {\bf global} \\
|
||||
Type: {\bf optional}\\
|
||||
Specified as: a rank one integer array.
|
||||
\item[info] Error code.
|
||||
Scope: {\bf local} \\
|
||||
Type: {\bf required}\\
|
||||
Specified as: an integer variable.
|
||||
\end{description}
|
||||
|
||||
|
||||
%%% Local Variables:
|
||||
%%% mode: latex
|
||||
%%% TeX-master: "userguide"
|
||||
|
||||
@@ -63,7 +63,9 @@
|
||||
\newcommand{\example}{\stepcounter{example}%
|
||||
\section*{\examplename~\theexample}}
|
||||
|
||||
\newcommand{\precdata}{\hyperlink{precdata}{\tt psb\_prec\_data}}
|
||||
\newcommand{\precdata}{\hyperlink{precdata}{{\tt psb\_prec\_data}}}
|
||||
\newcommand{\descdata}{\hyperlink{descdata}{{\tt psb\_desc\_data}}}
|
||||
\newcommand{\spdata}{\hyperlink{spdata}{{\tt psb\_spmat\_data}}}
|
||||
|
||||
\begin{document}
|
||||
\include{title}
|
||||
|
||||
@@ -186,23 +186,6 @@ Subroutine psb_dcg(a,prec,b,x,eps,desc_a,info,&
|
||||
it = it + 1
|
||||
itx = itx + 1
|
||||
|
||||
!!$
|
||||
!!$ solve mz = r
|
||||
!!$ Note: the overlapped preconditioner (if overlap is non empty)
|
||||
!!$ is non-symmetric: M^{-1} = \Lambda P^T K^{-1} P
|
||||
!!$ For CG we use instead
|
||||
!!$ M^{-1} = \sqrt{\Lambda} P^T K^{-1} P \sqrt{\Lambda}
|
||||
!!$ Keep track of the old symmetrized stuf, might come in useful.
|
||||
!!$ CALL F90_PSAXPBY(ONE,R,ZERO,Z,DECOMP_DATA)
|
||||
!!$ CALL F90_PSOVRL(Z,DECOMP_DATA,&
|
||||
!!$ & UPDATE_TYPE=SQUARE_ROOT_,CHOICE=NOEXCHANGE)
|
||||
!!$ CALL F90_PSSPSM(ONE,L,Z,ZERO,W,DECOMP_DATA,&
|
||||
!!$ & TRANS='N',UNIT=DIAGL,CHOICE=NONE_,WORK=AUX)
|
||||
!!$ CALL F90_PSSPSM(ONE,U,W,ZERO,Z,DECOMP_DATA,&
|
||||
!!$ & TRANS='N',UNIT=DIAGU,CHOICE=NONE_,DIAG=VDIAG,WORK=AUX)
|
||||
!!$ CALL F90_PSOVRL(Z,DECOMP_DATA,&
|
||||
!!$ & UPDATE_TYPE=SQUARE_ROOT_)
|
||||
!!$ CALL F90_PSHALO(Z,DECOMP_DATA)
|
||||
Call psb_prcaply(prec,r,z,desc_a,info,work=aux)
|
||||
rho_old = rho
|
||||
rho = psb_dot(r,z,desc_a,info)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
!
|
||||
! Parameters:
|
||||
! x - integer, dimension(:). Array containing the indices to be translated.
|
||||
! y - integer, dimension(:). Array containing the indices to be translated.
|
||||
! y - integer, dimension(:). Array containing the translated indices.
|
||||
! desc_a - type(<psb_desc_type>). The communication descriptor.
|
||||
! info - integer. Eventually returns an error code.
|
||||
! iact - integer(optional). A character defining the behaviour of this subroutine when is found an index not belonging to the calling process
|
||||
|
||||
@@ -81,7 +81,7 @@ program df_sample
|
||||
amroot = (myprow==0).and.(mypcol==0)
|
||||
|
||||
name='df_sample'
|
||||
if(psb_get_errstatus().ne.0) return
|
||||
if(psb_get_errstatus().ne.0) goto 9999
|
||||
info=0
|
||||
call psb_set_errverbosity(2)
|
||||
call psb_set_erraction(0)
|
||||
|
||||
Reference in New Issue
Block a user