Added entrywise inversion and documentation for vec-vec operation

This commit is contained in:
cirdans-home
2019-11-21 13:56:22 +01:00
parent db7b882e9c
commit b3c4971146
340 changed files with 24932 additions and 20314 deletions
+119 -61
View File
@@ -3,8 +3,8 @@
<!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) -->
<HTML>
<HEAD>
<TITLE>psb_geall -- Allocates a dense matrix</TITLE>
<META NAME="description" CONTENT="psb_geall -- Allocates a dense matrix">
<TITLE>psb_spasb -- Sparse matrix assembly routine</TITLE>
<META NAME="description" CONTENT="psb_spasb -- Sparse matrix assembly routine">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
@@ -16,45 +16,45 @@
<LINK REL="next" HREF="node84.html">
<LINK REL="previous" HREF="node82.html">
<LINK REL="up" HREF="node71.html">
<LINK REL="up" HREF="node74.html">
<LINK REL="next" HREF="node84.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html1298"
<A NAME="tex2html1307"
HREF="node84.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1294"
HREF="node71.html">
<A NAME="tex2html1303"
HREF="node74.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1288"
<A NAME="tex2html1297"
HREF="node82.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1296"
<A NAME="tex2html1305"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1299"
HREF="node84.html">psb_geins Dense</A>
<B> Up:</B> <A NAME="tex2html1295"
HREF="node71.html">Data management routines</A>
<B> Previous:</B> <A NAME="tex2html1289"
HREF="node82.html">psb_sprn Reinit</A>
&nbsp; <B> <A NAME="tex2html1297"
<B> Next:</B> <A NAME="tex2html1308"
HREF="node84.html">psb_spfree Frees</A>
<B> Up:</B> <A NAME="tex2html1304"
HREF="node74.html">Data management routines</A>
<B> Previous:</B> <A NAME="tex2html1298"
HREF="node82.html">psb_spins Insert</A>
&nbsp; <B> <A NAME="tex2html1306"
HREF="node1.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION000712000000000000000">
psb_geall -- Allocates a dense matrix</A>
<H2><A NAME="SECTION00079000000000000000">
psb_spasb -- Sparse matrix assembly routine</A>
</H2>
<P>
<PRE>
call psb_geall(x, desc_a, info, n, lb)
call psb_spasb(a, desc_a, info, afmt, upd, dupl, mold)
</PRE>
<P>
@@ -66,51 +66,60 @@ call psb_geall(x, desc_a, info, n, lb)
<DD>
</DD>
<DT><STRONG>desc_a</STRONG></DT>
<DD>The communication descriptor.
<DD>the communication descriptor.
<BR>
Scope: <B>local</B>
Scope:<B>local</B>.
<BR>
Type: <B>required</B>
Type:<B>required</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: a variable of type descdata<TT>psb_desc_type</TT>.
<BR></DD>
<DT><STRONG>n</STRONG></DT>
<DD>The number of columns of the dense matrix to be allocated.
<BR>
Scope: <B>local</B>
<BR>
Type: <B>optional</B>
<BR>
Intent: <B>in</B>.
<BR>
Specified as: Integer scalar, default <SPAN CLASS="MATH"><IMG
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img116.png"
ALT="$1$"></SPAN>. It is not a valid argument if <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$"></SPAN> is a
rank-1 array.
Specified as: a structured data of type descdata<TT>psb_desc_type</TT>.
</DD>
<DT><STRONG>lb</STRONG></DT>
<DD>The lower bound for the column index range of the dense matrix to be allocated.
<DT><STRONG>afmt</STRONG></DT>
<DD>the storage format for the sparse matrix.
<BR>
Scope: <B>local</B>
Scope: <B>local</B>.
<BR>
Type: <B>optional</B>
Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: Integer scalar, default <SPAN CLASS="MATH"><IMG
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img116.png"
ALT="$1$"></SPAN>. It is not a valid argument if <SPAN CLASS="MATH"><IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png"
ALT="$x$"></SPAN> is a
rank-1 array.
Specified as: an array of characters. Defalt: 'CSR'.
</DD>
<DT><STRONG>upd</STRONG></DT>
<DD>Provide for updates to the matrix coefficients.
<BR>
Scope: <B>global</B>.
<BR>
Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: integer, possible values: <code>psb_upd_srch_</code>, <code>psb_upd_perm_</code>
</DD>
<DT><STRONG>dupl</STRONG></DT>
<DD>How to handle duplicate coefficients.
<BR>
Scope: <B>global</B>.
<BR>
Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: integer, possible values: <code>psb_dupl_ovwrt_</code>,
<code>psb_dupl_add_</code>, <code>psb_dupl_err_</code>.
</DD>
<DT><STRONG>mold</STRONG></DT>
<DD>The desired dynamic type for the internal matrix storage.
<BR>
Scope: <B>local</B>.
<BR>
Type: <B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: an object of a class derived from spbasedata<TT>psb_T_base_sparse_mat</TT>.
</DD>
</DL>
@@ -119,18 +128,17 @@ rank-1 array.
<DT><STRONG><B>On Return</B></STRONG></DT>
<DD>
</DD>
<DT><STRONG>x</STRONG></DT>
<DD>The dense matrix to be allocated.
<DT><STRONG>a</STRONG></DT>
<DD>the matrix to be assembled.
<BR>
Scope: <B>local</B>
Scope:<B>local</B>
<BR>
Type: <B>required</B>
Type:<B>required</B>
<BR>
Intent: <B>out</B>.
Intent: <B>inout</B>.
<BR>
Specified as: a rank one or two array with the ALLOCATABLE attribute
or an object of type vdata<TT>psb_T_vect_type</TT>, of type real, complex or integer.
<BR></DD>
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
</DD>
<DT><STRONG>info</STRONG></DT>
<DD>Error code.
<BR>
@@ -145,7 +153,57 @@ An integer value; 0 means no error has been detected.
</DL>
<P>
<BR><HR>
<BIG CLASS="LARGE"><B>Notes</B></BIG>
<OL>
<LI>On entry to this routine the descriptor must be in the
assembled state, i.e. <code>psb_cdasb</code> must already have been called.
</LI>
<LI>The sparse matrix may be in either the build or update state;
</LI>
<LI>Duplicate entries are detected and handled in both build and
update state, with the exception of the error action that is only
taken in the build state, i.e. on the first assembly;
</LI>
<LI>If the update choice is <code>psb_upd_perm_</code>, then subsequent
calls to <code>psb_spins</code> 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;
</LI>
<LI>The output storage format need not be the same on all
processes;
</LI>
<LI>On exit from this routine the matrix is in the assembled state,
and thus is suitable for the computational routines.
</LI>
</OL>
<P>
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html1307"
HREF="node84.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<A NAME="tex2html1303"
HREF="node74.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
<A NAME="tex2html1297"
HREF="node82.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
<A NAME="tex2html1305"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html1308"
HREF="node84.html">psb_spfree Frees</A>
<B> Up:</B> <A NAME="tex2html1304"
HREF="node74.html">Data management routines</A>
<B> Previous:</B> <A NAME="tex2html1298"
HREF="node82.html">psb_spins Insert</A>
&nbsp; <B> <A NAME="tex2html1306"
HREF="node1.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
</BODY>
</HTML>