base/tools/psb_cdins.f90
 docs/html/footnode.html
 docs/html/img100.png
 docs/html/img101.png
 docs/html/img102.png
 docs/html/img103.png
 docs/html/img104.png
 docs/html/img105.png
 docs/html/img106.png
 docs/html/img107.png
 docs/html/img108.png
 docs/html/img109.png
 docs/html/img110.png
 docs/html/img111.png
 docs/html/img112.png
 docs/html/img113.png
 docs/html/img114.png
 docs/html/img115.png
 docs/html/img116.png
 docs/html/img117.png
 docs/html/img118.png
 docs/html/img119.png
 docs/html/img120.png
 docs/html/img121.png
 docs/html/img122.png
 docs/html/img123.png
 docs/html/img124.png
 docs/html/img125.png
 docs/html/img126.png
 docs/html/img127.png
 docs/html/img128.png
 docs/html/img129.png
 docs/html/img130.png
 docs/html/img131.png
 docs/html/img132.png
 docs/html/img134.png
 docs/html/img135.png
 docs/html/img136.png
 docs/html/img137.png
 docs/html/img138.png
 docs/html/img139.png
 docs/html/img140.png
 docs/html/img141.png
 docs/html/img142.png
 docs/html/img143.png
 docs/html/img144.png
 docs/html/img145.png
 docs/html/img146.png
 docs/html/img85.png
 docs/html/img86.png
 docs/html/img87.png
 docs/html/img88.png
 docs/html/img89.png
 docs/html/img90.png
 docs/html/img91.png
 docs/html/img92.png
 docs/html/img93.png
 docs/html/img94.png
 docs/html/img95.png
 docs/html/img96.png
 docs/html/img97.png
 docs/html/img98.png
 docs/html/img99.png
 docs/html/index.html
 docs/html/node100.html
 docs/html/node112.html
 docs/html/node117.html
 docs/html/node119.html
 docs/html/node56.html
 docs/html/node57.html
 docs/html/node61.html
 docs/html/node62.html
 docs/html/node63.html
 docs/html/node67.html
 docs/html/node68.html
 docs/html/node71.html
 docs/html/node80.html
 docs/html/node82.html
 docs/html/node84.html
 docs/html/node85.html
 docs/html/node86.html
 docs/html/node88.html
 docs/html/node92.html
 docs/html/node93.html
 docs/html/node94.html
 docs/html/node95.html
 docs/html/node96.html
 docs/html/node97.html
 docs/html/node98.html
 docs/html/node99.html
 docs/html/userhtml.html
 docs/psblas-3.0.pdf
 docs/src/toolsrout.tex
 docs/src/userguide.tex
 docs/src/userhtml.tex
 test/pargen/runs/ppde.inp
 util/psb_d_genpde_impl.f90

New docs for LIDX in CDALL.
psblas-3.0-maint
Salvatore Filippone 13 years ago
parent 4afc6f1f41
commit 4accecb0c9

@ -104,7 +104,7 @@ sample scatter/gather routines.
. .
</PRE> </PRE>
</DD> </DD>
<DT><A NAME="foot7055">... follows</A><A <DT><A NAME="foot7086">... follows</A><A
HREF="node112.html#tex2html30"><SUP>3</SUP></A></DT> HREF="node112.html#tex2html30"><SUP>3</SUP></A></DT>
<DD>The string is case-insensitive <DD>The string is case-insensitive

Binary file not shown.

Before

Width:  |  Height:  |  Size: 263 B

After

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 244 B

After

Width:  |  Height:  |  Size: 387 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 B

After

Width:  |  Height:  |  Size: 244 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 222 B

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

After

Width:  |  Height:  |  Size: 374 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 804 B

After

Width:  |  Height:  |  Size: 222 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 408 B

After

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

After

Width:  |  Height:  |  Size: 804 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 B

After

Width:  |  Height:  |  Size: 408 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 310 B

After

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 835 B

After

Width:  |  Height:  |  Size: 354 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 335 B

After

Width:  |  Height:  |  Size: 310 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 497 B

After

Width:  |  Height:  |  Size: 835 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 403 B

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 266 B

After

Width:  |  Height:  |  Size: 497 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 533 B

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 544 B

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 334 B

After

Width:  |  Height:  |  Size: 533 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 231 B

After

Width:  |  Height:  |  Size: 544 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 519 B

After

Width:  |  Height:  |  Size: 334 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 604 B

After

Width:  |  Height:  |  Size: 231 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 577 B

After

Width:  |  Height:  |  Size: 519 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 210 B

After

Width:  |  Height:  |  Size: 604 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 568 B

After

Width:  |  Height:  |  Size: 577 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 743 B

After

Width:  |  Height:  |  Size: 210 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 276 B

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 521 B

After

Width:  |  Height:  |  Size: 743 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 267 B

After

Width:  |  Height:  |  Size: 276 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 570 B

After

Width:  |  Height:  |  Size: 521 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 239 B

After

Width:  |  Height:  |  Size: 267 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 0 B

After

Width:  |  Height:  |  Size: 570 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 239 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 371 B

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 431 B

After

Width:  |  Height:  |  Size: 0 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 916 B

After

Width:  |  Height:  |  Size: 371 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 677 B

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 430 B

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 500 B

After

Width:  |  Height:  |  Size: 234 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 412 B

After

Width:  |  Height:  |  Size: 430 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 356 B

After

Width:  |  Height:  |  Size: 500 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 379 B

After

Width:  |  Height:  |  Size: 412 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 573 B

After

Width:  |  Height:  |  Size: 508 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 318 B

After

Width:  |  Height:  |  Size: 212 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 459 B

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 395 B

After

Width:  |  Height:  |  Size: 318 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 286 B

After

Width:  |  Height:  |  Size: 459 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 415 B

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 186 B

After

Width:  |  Height:  |  Size: 286 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 375 B

After

Width:  |  Height:  |  Size: 415 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 227 B

After

Width:  |  Height:  |  Size: 186 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 341 B

After

Width:  |  Height:  |  Size: 375 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 258 B

After

Width:  |  Height:  |  Size: 227 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 193 B

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 134 B

After

Width:  |  Height:  |  Size: 258 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

After

Width:  |  Height:  |  Size: 193 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 387 B

After

Width:  |  Height:  |  Size: 134 B

@ -58,7 +58,7 @@ University of Rome ``Tor Vergata'', Italy
<BR> <BR>
Software version: 3.0-beta Software version: 3.0-beta
<BR> <BR>
March 1, 2012. April 16, 2012.
<BR><HR> <BR><HR>
<!--Table of Child-Links--> <!--Table of Child-Links-->

@ -94,7 +94,7 @@ explicitly.
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="6722"></A> <DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="6753"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG>
The layout of a generic <TT>psb_foo</TT> The layout of a generic <TT>psb_foo</TT>
@ -108,7 +108,7 @@ The layout of a generic <TT>psb_foo</TT>
--> -->
<IMG <IMG
WIDTH="508" HEIGHT="142" ALIGN="MIDDLE" BORDER="0" WIDTH="508" HEIGHT="142" ALIGN="MIDDLE" BORDER="0"
SRC="img132.png" SRC="img134.png"
ALT="\fbox{\TheSbox}"> ALT="\fbox{\TheSbox}">
</DIV></TD></TR> </DIV></TD></TR>
</TABLE> </TABLE>
@ -124,7 +124,7 @@ called by <code>psb_spasb</code> ... by process 0 (i.e. the root process).
<P> <P>
<DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="6723"></A> <DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="6754"></A>
<TABLE> <TABLE>
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG> <CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG>
A sample PSBLAS-2.0 error A sample PSBLAS-2.0 error
@ -138,7 +138,7 @@ A sample PSBLAS-2.0 error
--> -->
<IMG <IMG
WIDTH="508" HEIGHT="142" ALIGN="MIDDLE" BORDER="0" WIDTH="508" HEIGHT="142" ALIGN="MIDDLE" BORDER="0"
SRC="img132.png" SRC="img134.png"
ALT="\fbox{\TheSbox}"> ALT="\fbox{\TheSbox}">
</DIV></TD></TR> </DIV></TD></TR>
</TABLE> </TABLE>

@ -104,9 +104,9 @@ Error code: if no error, 0 is returned.
Legal inputs to this subroutine are interpreted depending on the Legal inputs to this subroutine are interpreted depending on the
<IMG <IMG
WIDTH="42" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="42" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img134.png" SRC="img136.png"
ALT="$ptype$"> string as follows<A NAME="tex2html30" ALT="$ptype$"> string as follows<A NAME="tex2html30"
HREF="footnode.html#foot7055"><SUP>3</SUP></A>: HREF="footnode.html#foot7086"><SUP>3</SUP></A>:
<DL> <DL>
<DT><STRONG>NONE</STRONG></DT> <DT><STRONG>NONE</STRONG></DT>
<DD>No preconditioning, i.e. the preconditioner is just a copy <DD>No preconditioning, i.e. the preconditioner is just a copy
@ -129,7 +129,7 @@ Legal inputs to this subroutine are interpreted depending on the
by the data allocation boundaries for each process; requires no by the data allocation boundaries for each process; requires no
communication. Only the incomplete factorization <IMG communication. Only the incomplete factorization <IMG
WIDTH="56" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="56" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img135.png" SRC="img137.png"
ALT="$ILU(0)$"> is ALT="$ILU(0)$"> is
currently implemented. currently implemented.
</DD> </DD>

@ -73,7 +73,7 @@ err = \frac{\|r_i\|}{(\|A\|\|x_i\|+\|b\|)} < eps
<IMG <IMG
WIDTH="204" HEIGHT="44" BORDER="0" WIDTH="204" HEIGHT="44" BORDER="0"
SRC="img136.png" SRC="img138.png"
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} &lt; eps \end{displaymath}"> ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} &lt; eps \end{displaymath}">
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
@ -89,7 +89,7 @@ err = \frac{\|r_i\|}{\|b\|_2} < eps
<IMG <IMG
WIDTH="121" HEIGHT="44" BORDER="0" WIDTH="121" HEIGHT="44" BORDER="0"
SRC="img137.png" SRC="img139.png"
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} &lt; eps \end{displaymath}"> ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} &lt; eps \end{displaymath}">
</DIV> </DIV>
<BR CLEAR="ALL"> <BR CLEAR="ALL">
@ -97,11 +97,11 @@ err = \frac{\|r_i\|}{\|b\|_2} < eps
according to the value passed through the istop argument (see according to the value passed through the istop argument (see
later). In the above formulae, <IMG later). In the above formulae, <IMG
WIDTH="19" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="19" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img138.png" SRC="img140.png"
ALT="$x_i$"> is the tentative solution and ALT="$x_i$"> is the tentative solution and
<IMG <IMG
WIDTH="90" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="90" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img139.png" SRC="img141.png"
ALT="$r_i=b-Ax_i$"> the corresponding residual at the <IMG ALT="$r_i=b-Ax_i$"> the corresponding residual at the <IMG
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0" WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img4.png" SRC="img4.png"
@ -233,22 +233,22 @@ Intent: <B>in</B>.
<BR> <BR>
Default: <IMG Default: <IMG
WIDTH="100" HEIGHT="17" ALIGN="BOTTOM" BORDER="0" WIDTH="100" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img140.png" SRC="img142.png"
ALT="$itmax = 1000$">. ALT="$itmax = 1000$">.
<BR> <BR>
Specified as: an integer variable <IMG Specified as: an integer variable <IMG
WIDTH="75" HEIGHT="29" ALIGN="MIDDLE" BORDER="0" WIDTH="75" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img141.png" SRC="img143.png"
ALT="$itmax \ge 1$">. ALT="$itmax \ge 1$">.
</DD> </DD>
<DT><STRONG>itrace</STRONG></DT> <DT><STRONG>itrace</STRONG></DT>
<DD>If <IMG <DD>If <IMG
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png" SRC="img103.png"
ALT="$&gt;0$"> print out an informational message about ALT="$&gt;0$"> print out an informational message about
convergence every <IMG convergence every <IMG
WIDTH="46" HEIGHT="17" ALIGN="BOTTOM" BORDER="0" WIDTH="46" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
SRC="img142.png" SRC="img144.png"
ALT="$itrace$"> iterations. ALT="$itrace$"> iterations.
<BR> <BR>
Scope: <B>global</B> Scope: <B>global</B>
@ -268,7 +268,7 @@ Intent: <B>in</B>.
<BR> <BR>
Values: <IMG Values: <IMG
WIDTH="59" HEIGHT="29" ALIGN="MIDDLE" BORDER="0" WIDTH="59" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img143.png" SRC="img145.png"
ALT="$irst&gt;0$">. This is employed for the BiCGSTABL or RGMRES ALT="$irst&gt;0$">. This is employed for the BiCGSTABL or RGMRES
methods, otherwise it is ignored. methods, otherwise it is ignored.
@ -329,7 +329,7 @@ Returned as: a real number.
ALT="$A$">; only ALT="$A$">; only
available with the <IMG available with the <IMG
WIDTH="29" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="29" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img144.png" SRC="img146.png"
ALT="$CG$"> method. ALT="$CG$"> method.
<BR> <BR>
Scope: <B>global</B> Scope: <B>global</B>

@ -63,7 +63,7 @@ Mathematics Department, Macquarie University, Sydney.
The command line arguments were: <BR> The command line arguments were: <BR>
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT> <STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
<P> <P>
The translation was initiated by Salvatore Filippone on 2012-03-26 The translation was initiated by Salvatore Filippone on 2012-04-16
<BR><HR> <BR><HR>
</BODY> </BODY>

@ -59,7 +59,7 @@ psb_cdall -- Allocates a communication descriptor</A>
<PRE> <PRE>
call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts) call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag]) call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.]) call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.,lidx=lidx])
call psb_cdall(icontxt, desc_a, info,nl=nl) call psb_cdall(icontxt, desc_a, info,nl=nl)
call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.) call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
</PRE> </PRE>
@ -181,8 +181,8 @@ Specified as: an integer value. May be specified together with
<code>vl</code>. <code>vl</code>.
</DD> </DD>
<DT><STRONG>repl</STRONG></DT> <DT><STRONG>repl</STRONG></DT>
<DD>Data allocation: build a replicated index space (i.e. all <DD>Data allocation: build a replicated index space
processes own all indices). (i.e. all processes own all indices).
<BR> <BR>
Scope:<B>global</B>. Scope:<B>global</B>.
<BR> <BR>
@ -204,6 +204,24 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: a logical value, default: <code>.true.</code> Specified as: a logical value, default: <code>.true.</code>
</DD> </DD>
<DT><STRONG>lidx</STRONG></DT>
<DD>Data allocation: the set of local indices
<IMG
WIDTH="81" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img85.png"
ALT="$lidx(1:nl)$"> to be assigned to the global indices <IMG
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img86.png"
ALT="$vl$">.
<BR>
Scope:<B>local</B>.
<BR>
Type:<B>optional</B>.
<BR>
Intent: <B>in</B>.
<BR>
Specified as: an integer array.
</DD>
</DL> </DL>
<P> <P>
@ -286,10 +304,10 @@ An integer value; 0 means no error has been detected.
--> -->
<IMG <IMG
WIDTH="107" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="107" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img85.png" SRC="img87.png"
ALT="$0\le pv(i) &lt; np$">; if <IMG ALT="$0\le pv(i) &lt; np$">; if <IMG
WIDTH="51" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="51" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img86.png" SRC="img88.png"
ALT="$nv&gt;1$"> we have an index assigned to multiple ALT="$nv&gt;1$"> we have an index assigned to multiple
processes, i.e. we have an overlap among the subdomains. processes, i.e. we have an overlap among the subdomains.
@ -312,15 +330,15 @@ An integer value; 0 means no error has been detected.
The vector <code>vg</code> must be identical on all The vector <code>vg</code> must be identical on all
calling processes; its entries may have the ranges <IMG calling processes; its entries may have the ranges <IMG
WIDTH="94" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="94" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img87.png" SRC="img89.png"
ALT="$(0\dots np-1)$"> ALT="$(0\dots np-1)$">
or <IMG or <IMG
WIDTH="65" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="65" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img88.png" SRC="img90.png"
ALT="$(1\dots np)$"> according to the value of <code>flag</code>. ALT="$(1\dots np)$"> according to the value of <code>flag</code>.
The size <IMG The size <IMG
WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img89.png" SRC="img91.png"
ALT="$mg$"> may be specified via the optional argument <code>mg</code>; ALT="$mg$"> may be specified via the optional argument <code>mg</code>;
the default is to use the entire vector <code>vg</code>, thus having the default is to use the entire vector <code>vg</code>, thus having
<code>mg=size(vg)</code>. <code>mg=size(vg)</code>.
@ -330,33 +348,37 @@ An integer value; 0 means no error has been detected.
<code>vl(1:nl)</code> assigned to the current process; thus, the global <code>vl(1:nl)</code> assigned to the current process; thus, the global
problem size <IMG problem size <IMG
WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="27" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img89.png" SRC="img91.png"
ALT="$mg$"> is given by ALT="$mg$"> is given by
the range of the aggregate of the individual vectors <code>vl</code> specified the range of the aggregate of the individual vectors <code>vl</code> specified
in the calling processes. The size may be specified via the optional in the calling processes. The size may be specified via the optional
argument <code>nl</code>; the default is to use the entire vector <code>vl</code>, thus having argument <code>nl</code>; the default is to use the entire vector
<code>nl=size(vl)</code>. <code>vl</code>, thus having <code>nl=size(vl)</code>.
If <code>globalcheck=.true.</code> the subroutine will check how many If <code>globalcheck=.true.</code> the subroutine will check how many
times each entry in the global index space <IMG times each entry in the global index space <IMG
WIDTH="70" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="70" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img90.png" SRC="img92.png"
ALT="$(1\dots mg)$"> is ALT="$(1\dots mg)$"> is
specified in the input lists <code>vl</code>, thus allowing for the specified in the input lists <code>vl</code>, thus allowing for the
presence of overlap in the input, and checking for ``orphan'' presence of overlap in the input, and checking for ``orphan''
indices. If <code>globalcheck=.false.</code>, the subroutine will not indices. If <code>globalcheck=.false.</code>, the subroutine will not
check for overlap, and may be significantly faster, but the user check for overlap, and may be significantly faster, but the user
is implicitly guaranteeing that there are neither orphan nor is implicitly guaranteeing that there are neither orphan nor
overlap indices. overlap indices. The optional argument <code>lidx</code> is available for
those cases in which the user has already established a
global-to-local mapping; if it is specified, each index in
<code>vl(i)</code> will be mapped to the corresponding local index
<code>lidx(i)</code>.
</DD> </DD>
<DT><STRONG>nl</STRONG></DT> <DT><STRONG>nl</STRONG></DT>
<DD>If this argument is specified alone (i.e. without <code>vl</code>) <DD>If this argument is specified alone (i.e. without <code>vl</code>)
the result is a generalized row-block distribution in which each the result is a generalized row-block distribution in which each
process <IMG process <IMG
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img91.png" SRC="img93.png"
ALT="$I$"> gets assigned a consecutive chunk of <IMG ALT="$I$"> gets assigned a consecutive chunk of <IMG
WIDTH="60" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="60" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img92.png" SRC="img94.png"
ALT="$N_I=nl$"> global ALT="$N_I=nl$"> global
indices. indices.
</DD> </DD>

@ -96,7 +96,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer array of length <IMG Specified as: an integer array of length <IMG
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img93.png" SRC="img95.png"
ALT="$nz$">. ALT="$nz$">.
</DD> </DD>
<DT><STRONG>ja</STRONG></DT> <DT><STRONG>ja</STRONG></DT>
@ -110,7 +110,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer array of length <IMG Specified as: an integer array of length <IMG
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img93.png" SRC="img95.png"
ALT="$nz$">. ALT="$nz$">.
</DD> </DD>
</DL> </DL>
@ -153,6 +153,13 @@ An integer value; 0 means no error has been detected.
insist on the current process, i.e. edges for which neither the starting insist on the current process, i.e. edges for which neither the starting
nor the end vertex belong to the current process. nor the end vertex belong to the current process.
</LI> </LI>
<LI>There exists another interface for this routine
<PRE>
call psb_cdins(nz, ja, desc_a, info)
</PRE>
which will digest all entries in <code>ja</code> and add them to the
communication requirements.
</LI>
</OL> </OL>
<P> <P>

@ -104,7 +104,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer value <IMG Specified as: an integer value <IMG
WIDTH="47" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="47" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img94.png" SRC="img96.png"
ALT="$nl\ge 0$">. ALT="$nl\ge 0$">.
</DD> </DD>
<DT><STRONG>extype</STRONG></DT> <DT><STRONG>extype</STRONG></DT>

@ -131,7 +131,7 @@ An integer value; 0 means no error has been detected.
</LI> </LI>
<LI>Providing a good estimate for the number of nonzeroes <IMG <LI>Providing a good estimate for the number of nonzeroes <IMG
WIDTH="32" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="32" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img95.png" SRC="img97.png"
ALT="$nnz$"> in ALT="$nnz$"> in
the assembled matrix may substantially improve performance in the the assembled matrix may substantially improve performance in the
matrix build phase, as it will reduce or eliminate the need for matrix build phase, as it will reduce or eliminate the need for

@ -58,7 +58,7 @@ psb_spins -- Insert a cloud of elements into a sparse
<P> <P>
<PRE> <PRE>
call psb_spins(nz, ia, ja, val, a, desc_a, info) call psb_spins(nz, ia, ja, val, a, desc_a, info [,local])
</PRE> </PRE>
<P> <P>
@ -91,7 +91,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer array of size <IMG Specified as: an integer array of size <IMG
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img93.png" SRC="img95.png"
ALT="$nz$">. ALT="$nz$">.
</DD> </DD>
<DT><STRONG>ja</STRONG></DT> <DT><STRONG>ja</STRONG></DT>
@ -105,7 +105,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer array of size <IMG Specified as: an integer array of size <IMG
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img93.png" SRC="img95.png"
ALT="$nz$">. ALT="$nz$">.
</DD> </DD>
<DT><STRONG>val</STRONG></DT> <DT><STRONG>val</STRONG></DT>
@ -119,11 +119,11 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an array of size <IMG Specified as: an array of size <IMG
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img93.png" SRC="img95.png"
ALT="$nz$">. Must be of the same type and kind ALT="$nz$">. Must be of the same type and kind
of the <code>aspk</code> component of the sparse matrix <IMG of the <code>aspk</code> component of the sparse matrix <IMG
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img96.png" SRC="img98.png"
ALT="$a$">. ALT="$a$">.
</DD> </DD>
<DT><STRONG>desc_a</STRONG></DT> <DT><STRONG>desc_a</STRONG></DT>
@ -137,6 +137,18 @@ Intent: <B>inout</B>.
<BR> <BR>
Specified as: a variable of type descdata<TT>psb_desc_type</TT>. Specified as: a variable of type descdata<TT>psb_desc_type</TT>.
<BR></DD> <BR></DD>
<DT><STRONG>local</STRONG></DT>
<DD>Whether the entries in the indices vectors <code>ia</code>,
<code>ja</code> are already in local numbering.
<BR>
Scope:<B>local</B>.
<BR>
Type:<B>optional</B>.
<BR>
Specified as: a logical value; default: <code>.false.</code>.
<P>
</DD>
</DL> </DL>
<P> <P>

@ -90,7 +90,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: Integer scalar, default <IMG Specified as: Integer scalar, default <IMG
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img97.png" SRC="img99.png"
ALT="$1$">. It is not a valid argument if <IMG ALT="$1$">. It is not a valid argument if <IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png" SRC="img20.png"
@ -108,7 +108,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: Integer scalar, default <IMG Specified as: Integer scalar, default <IMG
WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="12" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img97.png" SRC="img99.png"
ALT="$1$">. It is not a valid argument if <IMG ALT="$1$">. It is not a valid argument if <IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img20.png" SRC="img20.png"

@ -57,7 +57,7 @@ psb_geins -- Dense matrix insertion routine</A>
<P> <P>
<PRE> <PRE>
call psb_geins(m, irw, val, x, desc_a, info,dupl) call psb_geins(m, irw, val, x, desc_a, info [,dupl,local])
</PRE> </PRE>
<P> <P>
@ -71,7 +71,7 @@ call psb_geins(m, irw, val, x, desc_a, info,dupl)
<DT><STRONG>m</STRONG></DT> <DT><STRONG>m</STRONG></DT>
<DD>Number of rows in <IMG <DD>Number of rows in <IMG
WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img98.png" SRC="img100.png"
ALT="$val$"> to be inserted. ALT="$val$"> to be inserted.
<BR> <BR>
Scope:<B>local</B>. Scope:<B>local</B>.
@ -89,11 +89,11 @@ Specified as: an integer value.
ALT="$i$"> ALT="$i$">
of <IMG of <IMG
WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img98.png" SRC="img100.png"
ALT="$val$"> will be inserted into the local row corresponding to the ALT="$val$"> will be inserted into the local row corresponding to the
global row index <IMG global row index <IMG
WIDTH="47" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="47" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img99.png" SRC="img101.png"
ALT="$irw(i)$">. ALT="$irw(i)$">.
Scope:<B>local</B>. Scope:<B>local</B>.
<BR> <BR>
@ -138,6 +138,18 @@ Intent: <B>in</B>.
Specified as: integer, possible values: <code>psb_dupl_ovwrt_</code>, Specified as: integer, possible values: <code>psb_dupl_ovwrt_</code>,
<code>psb_dupl_add_</code>. <code>psb_dupl_add_</code>.
</DD> </DD>
<DT><STRONG>local</STRONG></DT>
<DD>Whether the entries in the index vector <code>irw</code>,
are already in local numbering.
<BR>
Scope:<B>local</B>.
<BR>
Type:<B>optional</B>.
<BR>
Specified as: a logical value; default: <code>.false.</code>.
<P>
</DD>
</DL> </DL>
<P> <P>

@ -75,7 +75,7 @@ call psb_gelp(trans, iperm, x, info)
SRC="img1.png" SRC="img1.png"
ALT="$A$"> or <IMG ALT="$A$"> or <IMG
WIDTH="26" HEIGHT="20" ALIGN="BOTTOM" BORDER="0" WIDTH="26" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
SRC="img100.png" SRC="img102.png"
ALT="$A^T$">. ALT="$A^T$">.
<BR> <BR>
Scope: <B>local</B> Scope: <B>local</B>
@ -89,7 +89,7 @@ Specified as: a single character with value 'N' for <IMG
SRC="img1.png" SRC="img1.png"
ALT="$A$"> or 'T' for <IMG ALT="$A$"> or 'T' for <IMG
WIDTH="26" HEIGHT="20" ALIGN="BOTTOM" BORDER="0" WIDTH="26" HEIGHT="20" ALIGN="BOTTOM" BORDER="0"
SRC="img100.png" SRC="img102.png"
ALT="$A^T$">. ALT="$A^T$">.
<BR></DD> <BR></DD>
<DT><STRONG>iperm</STRONG></DT> <DT><STRONG>iperm</STRONG></DT>

@ -80,7 +80,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer <IMG Specified as: an integer <IMG
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png" SRC="img103.png"
ALT="$&gt;0$">. ALT="$&gt;0$">.
</DD> </DD>
<DT><STRONG>a</STRONG></DT> <DT><STRONG>a</STRONG></DT>
@ -116,7 +116,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer <IMG Specified as: an integer <IMG
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png" SRC="img103.png"
ALT="$&gt;0$">. When append is true, specifies how many ALT="$&gt;0$">. When append is true, specifies how many
entries in the output vectors are already filled. entries in the output vectors are already filled.
</DD> </DD>
@ -131,10 +131,10 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer <IMG Specified as: an integer <IMG
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img101.png" SRC="img103.png"
ALT="$&gt;0$">, default: <IMG ALT="$&gt;0$">, default: <IMG
WIDTH="31" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="31" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img102.png" SRC="img104.png"
ALT="$row$">. ALT="$row$">.
<P> <P>
@ -209,12 +209,12 @@ An integer value; 0 means no error has been detected.
<OL> <OL>
<LI>The output <IMG <LI>The output <IMG
WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="22" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img93.png" SRC="img95.png"
ALT="$nz$"> is always the size of the output generated by ALT="$nz$"> is always the size of the output generated by
the current call; thus, if <code>append=.true.</code>, the total output the current call; thus, if <code>append=.true.</code>, the total output
size will be <IMG size will be <IMG
WIDTH="74" HEIGHT="29" ALIGN="MIDDLE" BORDER="0" WIDTH="74" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img103.png" SRC="img105.png"
ALT="$nzin+nz$">, with the newly extracted coefficients stored in ALT="$nzin+nz$">, with the newly extracted coefficients stored in
entries <code>nzin+1:nzin+nz</code> of the array arguments; entries <code>nzin+1:nzin+nz</code> of the array arguments;
</LI> </LI>

@ -73,7 +73,7 @@ call psb_hsort(x,ix,dir,flag)
<P> <P>
These serial routines sort a sequence <IMG These serial routines sort a sequence <IMG
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img104.png" SRC="img106.png"
ALT="$X$"> into ascending or ALT="$X$"> into ascending or
descending order. The argument meaning is identical for the three descending order. The argument meaning is identical for the three
calls; the only difference is the algorithm used to accomplish the calls; the only difference is the algorithm used to accomplish the
@ -99,7 +99,7 @@ Type:<B>optional</B>.
<BR> <BR>
Specified as: an integer array of (at least) the same size as <IMG Specified as: an integer array of (at least) the same size as <IMG
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img104.png" SRC="img106.png"
ALT="$X$">. ALT="$X$">.
</DD> </DD>
<DT><STRONG>dir</STRONG></DT> <DT><STRONG>dir</STRONG></DT>
@ -123,7 +123,7 @@ default <code>psb_lsort_up_</code>.
<DT><STRONG>flag</STRONG></DT> <DT><STRONG>flag</STRONG></DT>
<DD>Whether to keep the original values in <IMG <DD>Whether to keep the original values in <IMG
WIDTH="27" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="27" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img105.png" SRC="img107.png"
ALT="$IX$">. ALT="$IX$">.
<BR> <BR>
Type:<B>optional</B>. Type:<B>optional</B>.
@ -185,10 +185,10 @@ position as the corresponding entries in <IMG
--> -->
<IMG <IMG
WIDTH="180" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="180" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img106.png" SRC="img108.png"
ALT="$flag = psb\_sort\_ovw\_idx\_$"> then the entries in <IMG ALT="$flag = psb\_sort\_ovw\_idx\_$"> then the entries in <IMG
WIDTH="62" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="62" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img107.png" SRC="img109.png"
ALT="$ix(1:n)$"> ALT="$ix(1:n)$">
where <IMG where <IMG
WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="13" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
@ -202,7 +202,7 @@ position as the corresponding entries in <IMG
--> -->
<IMG <IMG
WIDTH="66" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="66" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img108.png" SRC="img110.png"
ALT="$ix(i) \leftarrow ALT="$ix(i) \leftarrow
i$">; thus, upon return from the subroutine, for each i$">; thus, upon return from the subroutine, for each
index <IMG index <IMG
@ -210,10 +210,10 @@ i$">; thus, upon return from the subroutine, for each
SRC="img4.png" SRC="img4.png"
ALT="$i$"> we have in <IMG ALT="$i$"> we have in <IMG
WIDTH="37" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="37" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img109.png" SRC="img111.png"
ALT="$ix(i)$"> the position that the item <IMG ALT="$ix(i)$"> the position that the item <IMG
WIDTH="31" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="31" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img110.png" SRC="img112.png"
ALT="$x(i)$"> ALT="$x(i)$">
occupied in the original data sequence; occupied in the original data sequence;
</LI> </LI>
@ -222,16 +222,16 @@ i$">; thus, upon return from the subroutine, for each
--> -->
<IMG <IMG
WIDTH="185" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="185" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img111.png" SRC="img113.png"
ALT="$flag = psb\_sort\_keep\_idx\_$"> the routine will assume that ALT="$flag = psb\_sort\_keep\_idx\_$"> the routine will assume that
the entries in <IMG the entries in <IMG
WIDTH="35" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="35" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img112.png" SRC="img114.png"
ALT="$ix(:)$"> have already been initialized by the user; ALT="$ix(:)$"> have already been initialized by the user;
</LI> </LI>
<LI>The three sorting algorithms have a similar <IMG <LI>The three sorting algorithms have a similar <IMG
WIDTH="74" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="74" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img113.png" SRC="img115.png"
ALT="$O(n \log n)$"> expected ALT="$O(n \log n)$"> expected
running time; in the average case quicksort will be the running time; in the average case quicksort will be the
fastest and merge-sort the slowest. However note that: fastest and merge-sort the slowest. However note that:
@ -239,7 +239,7 @@ i$">; thus, upon return from the subroutine, for each
<OL> <OL>
<LI>The worst case running time for quicksort is <IMG <LI>The worst case running time for quicksort is <IMG
WIDTH="45" HEIGHT="34" ALIGN="MIDDLE" BORDER="0" WIDTH="45" HEIGHT="34" ALIGN="MIDDLE" BORDER="0"
SRC="img114.png" SRC="img116.png"
ALT="$O(n^2)$">; the algorithm ALT="$O(n^2)$">; the algorithm
implemented here follows the well-known median-of-three heuristics, implemented here follows the well-known median-of-three heuristics,
but the worst case may still apply; but the worst case may still apply;
@ -247,7 +247,7 @@ i$">; thus, upon return from the subroutine, for each
<LI>The worst case running time for merge-sort and heap-sort is <LI>The worst case running time for merge-sort and heap-sort is
<IMG <IMG
WIDTH="74" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="74" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img113.png" SRC="img115.png"
ALT="$O(n \log n)$"> as the average case; ALT="$O(n \log n)$"> as the average case;
</LI> </LI>
<LI>The merge-sort algorithm is implemented to take advantage of <LI>The merge-sort algorithm is implemented to take advantage of

@ -107,7 +107,7 @@ Intent: <B>in</B>.
<BR> <BR>
Specified as: an integer array. Default: use the indices <IMG Specified as: an integer array. Default: use the indices <IMG
WIDTH="94" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="94" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img87.png" SRC="img89.png"
ALT="$(0\dots np-1)$">. ALT="$(0\dots np-1)$">.
</DD> </DD>
</DL> </DL>
@ -141,7 +141,7 @@ Specified as: an integer variable.
</LI> </LI>
<LI>It is an error to specify a value for <IMG <LI>It is an error to specify a value for <IMG
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img115.png" SRC="img117.png"
ALT="$np$"> greater than the ALT="$np$"> greater than the
number of processes available in the underlying base parallel number of processes available in the underlying base parallel
environment. environment.

@ -104,7 +104,7 @@ Specified as: an integer value. <!-- MATH
--> -->
<IMG <IMG
WIDTH="139" HEIGHT="29" ALIGN="MIDDLE" BORDER="0" WIDTH="139" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img116.png" SRC="img118.png"
ALT="$-1 \le iam \le np-1$"> </DD> ALT="$-1 \le iam \le np-1$"> </DD>
<DT><STRONG>np</STRONG></DT> <DT><STRONG>np</STRONG></DT>
<DD>Number of processes in the PSBLAS virtual parallel machine. <DD>Number of processes in the PSBLAS virtual parallel machine.
@ -128,14 +128,14 @@ Specified as: an integer variable. </DD>
--> -->
<IMG <IMG
WIDTH="128" HEIGHT="29" ALIGN="MIDDLE" BORDER="0" WIDTH="128" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img117.png" SRC="img119.png"
ALT="$0 \le iam \le np-1$">; ALT="$0 \le iam \le np-1$">;
</LI> </LI>
<LI>If the user has requested on <code>psb_init</code> a number of <LI>If the user has requested on <code>psb_init</code> a number of
processes less than the total available in the parallel execution processes less than the total available in the parallel execution
environment, the remaining processes will have on return <IMG environment, the remaining processes will have on return <IMG
WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0" WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img118.png" SRC="img120.png"
ALT="$iam=-1$">; ALT="$iam=-1$">;
the only call involving <code>icontxt</code> that any such process may the only call involving <code>icontxt</code> that any such process may
execute is to <code>psb_exit</code>. execute is to <code>psb_exit</code>.

@ -103,7 +103,7 @@ Specified as: a logical variable, default value: true.
<LI>This routine may be called even if a previous call to <LI>This routine may be called even if a previous call to
<code>psb_info</code> has returned with <IMG <code>psb_info</code> has returned with <IMG
WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0" WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
SRC="img118.png" SRC="img120.png"
ALT="$iam=-1$">; indeed, it it is the only ALT="$iam=-1$">; indeed, it it is the only
routine that may be called with argument <code>icontxt</code> in this routine that may be called with argument <code>icontxt</code> in this
situation. situation.

@ -63,7 +63,7 @@ call psb_get_rank(rank, icontxt, id)
<P> <P>
This subroutine returns the MPI rank of the PSBLAS process <IMG This subroutine returns the MPI rank of the PSBLAS process <IMG
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img119.png" SRC="img121.png"
ALT="$id$"> ALT="$id$">
<DL> <DL>
<DT><STRONG>Type:</STRONG></DT> <DT><STRONG>Type:</STRONG></DT>
@ -98,7 +98,7 @@ Specified as: an integer value. <!-- MATH
--> -->
<IMG <IMG
WIDTH="113" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="113" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img120.png" SRC="img122.png"
ALT="$0 \le id \le np-1$"> </DD> ALT="$0 \le id \le np-1$"> </DD>
</DL> </DL>
@ -110,7 +110,7 @@ Specified as: an integer value. <!-- MATH
<DT><STRONG>rank</STRONG></DT> <DT><STRONG>rank</STRONG></DT>
<DD>The MPI rank associated with the PSBLAS process <IMG <DD>The MPI rank associated with the PSBLAS process <IMG
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img119.png" SRC="img121.png"
ALT="$id$">. ALT="$id$">.
<BR> <BR>
Scope: <B>local</B>. Scope: <B>local</B>.

@ -109,7 +109,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="153" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="153" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img121.png" SRC="img123.png"
ALT="$0&lt;= root &lt;= np-1$">, default 0 </DD> ALT="$0&lt;= root &lt;= np-1$">, default 0 </DD>
</DL> </DL>

@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img122.png" SRC="img124.png"
ALT="$-1&lt;= root &lt;= np-1$">, default -1. </DD> ALT="$-1&lt;= root &lt;= np-1$">, default -1. </DD>
</DL> </DL>

@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img122.png" SRC="img124.png"
ALT="$-1&lt;= root &lt;= np-1$">, default -1. ALT="$-1&lt;= root &lt;= np-1$">, default -1.
<BR></DD> <BR></DD>
</DL> </DL>

@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img122.png" SRC="img124.png"
ALT="$-1&lt;= root &lt;= np-1$">, default -1. ALT="$-1&lt;= root &lt;= np-1$">, default -1.
<BR></DD> <BR></DD>
</DL> </DL>

@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img122.png" SRC="img124.png"
ALT="$-1&lt;= root &lt;= np-1$">, default -1. ALT="$-1&lt;= root &lt;= np-1$">, default -1.
<BR></DD> <BR></DD>
</DL> </DL>

@ -112,7 +112,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img122.png" SRC="img124.png"
ALT="$-1&lt;= root &lt;= np-1$">, default -1. ALT="$-1&lt;= root &lt;= np-1$">, default -1.
<BR></DD> <BR></DD>
</DL> </DL>

@ -93,7 +93,7 @@ Intent: <B>in</B>.
Specified as: an integer, real or complex variable, which may be a Specified as: an integer, real or complex variable, which may be a
scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if <IMG scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if <IMG
WIDTH="18" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img123.png" SRC="img125.png"
ALT="$m$"> is ALT="$m$"> is
not specified, size must agree as well. not specified, size must agree as well.
</DD> </DD>
@ -111,7 +111,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="145" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="145" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img124.png" SRC="img126.png"
ALT="$0&lt;= dst &lt;= np-1$">. ALT="$0&lt;= dst &lt;= np-1$">.
<BR></DD> <BR></DD>
<DT><STRONG>m</STRONG></DT> <DT><STRONG>m</STRONG></DT>
@ -128,16 +128,16 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img125.png" SRC="img127.png"
ALT="$0&lt;= m &lt;= size(dat,1)$">. ALT="$0&lt;= m &lt;= size(dat,1)$">.
<BR> <BR>
When <IMG When <IMG
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img126.png" SRC="img128.png"
ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent
independently of the leading dimension <IMG independently of the leading dimension <IMG
WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img127.png" SRC="img129.png"
ALT="$size(dat,1)$">; must have the ALT="$size(dat,1)$">; must have the
same value on sending and receiving processes. same value on sending and receiving processes.
</DD> </DD>
@ -157,7 +157,7 @@ same value on sending and receiving processes.
<LI>This subroutine implies a synchronization, but only between the <LI>This subroutine implies a synchronization, but only between the
calling process and the destination process <IMG calling process and the destination process <IMG
WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="25" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img128.png" SRC="img130.png"
ALT="$dst$">. ALT="$dst$">.
</LI> </LI>
</OL> </OL>

@ -94,7 +94,7 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="147" HEIGHT="30" ALIGN="MIDDLE" BORDER="0" WIDTH="147" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
SRC="img129.png" SRC="img131.png"
ALT="$0&lt;= src &lt;= np-1$">. ALT="$0&lt;= src &lt;= np-1$">.
<BR></DD> <BR></DD>
<DT><STRONG>m</STRONG></DT> <DT><STRONG>m</STRONG></DT>
@ -111,16 +111,16 @@ Specified as: an integer value <!-- MATH
--> -->
<IMG <IMG
WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img125.png" SRC="img127.png"
ALT="$0&lt;= m &lt;= size(dat,1)$">. ALT="$0&lt;= m &lt;= size(dat,1)$">.
<BR> <BR>
When <IMG When <IMG
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0" WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
SRC="img126.png" SRC="img128.png"
ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent
independently of the leading dimension <IMG independently of the leading dimension <IMG
WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0" WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
SRC="img127.png" SRC="img129.png"
ALT="$size(dat,1)$">; must have the ALT="$size(dat,1)$">; must have the
same value on sending and receiving processes. same value on sending and receiving processes.
</DD> </DD>
@ -143,7 +143,7 @@ Intent: <B>inout</B>.
Specified as: an integer, real or complex variable, which may be a Specified as: an integer, real or complex variable, which may be a
scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if <IMG scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind and rank must agree on sender and receiver process; if <IMG
WIDTH="18" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="18" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img123.png" SRC="img125.png"
ALT="$m$"> is ALT="$m$"> is
not specified, size must agree as well. not specified, size must agree as well.
</DD> </DD>
@ -156,7 +156,7 @@ not specified, size must agree as well.
<LI>This subroutine implies a synchronization, but only between the <LI>This subroutine implies a synchronization, but only between the
calling process and the source process <IMG calling process and the source process <IMG
WIDTH="26" HEIGHT="13" ALIGN="BOTTOM" BORDER="0" WIDTH="26" HEIGHT="13" ALIGN="BOTTOM" BORDER="0"
SRC="img130.png" SRC="img132.png"
ALT="$src$">. ALT="$src$">.
</LI> </LI>
</OL> </OL>

@ -58,7 +58,7 @@ University of Rome ``Tor Vergata'', Italy
<BR> <BR>
Software version: 3.0-beta Software version: 3.0-beta
<BR> <BR>
March 1, 2012. April 16, 2012.
<BR><HR> <BR><HR>
<!--Table of Child-Links--> <!--Table of Child-Links-->

File diff suppressed because it is too large Load Diff

@ -11,7 +11,7 @@
\begin{verbatim} \begin{verbatim}
call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts) call psb_cdall(icontxt, desc_a, info,mg=mg,parts=parts)
call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag]) call psb_cdall(icontxt, desc_a, info,vg=vg,[mg=mg,flag=flag])
call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.]) call psb_cdall(icontxt, desc_a, info,vl=vl,[nl=nl,globalcheck=.true.,lidx=lidx])
call psb_cdall(icontxt, desc_a, info,nl=nl) call psb_cdall(icontxt, desc_a, info,nl=nl)
call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.) call psb_cdall(icontxt, desc_a, info,mg=mg,repl=.true.)
\end{verbatim} \end{verbatim}
@ -76,6 +76,12 @@ Scope:{\bf global}.\\
Type:{\bf optional}.\\ Type:{\bf optional}.\\
Intent: {\bf in}.\\ Intent: {\bf in}.\\
Specified as: a logical value, default: \verb|.true.| Specified as: a logical value, default: \verb|.true.|
\item[lidx] Data allocation: the set of local indices
$lidx(1:nl)$ to be assigned to the global indices $vl$. \\
Scope:{\bf local}.\\
Type:{\bf optional}.\\
Intent: {\bf in}.\\
Specified as: an integer array.
\end{description} \end{description}
\begin{description} \begin{description}
@ -139,8 +145,8 @@ An integer value; 0 means no error has been detected.
problem size $mg$ is given by problem size $mg$ is given by
the range of the aggregate of the individual vectors \verb|vl| specified the range of the aggregate of the individual vectors \verb|vl| specified
in the calling processes. The size may be specified via the optional in the calling processes. The size may be specified via the optional
argument \verb|nl|; the default is to use the entire vector \verb|vl|, thus having argument \verb|nl|; the default is to use the entire vector
\verb|nl=size(vl)|. \verb|vl|, thus having \verb|nl=size(vl)|.
If \verb|globalcheck=.true.| the subroutine will check how many If \verb|globalcheck=.true.| the subroutine will check how many
times each entry in the global index space $(1\dots mg)$ is times each entry in the global index space $(1\dots mg)$ is
specified in the input lists \verb|vl|, thus allowing for the specified in the input lists \verb|vl|, thus allowing for the
@ -148,7 +154,11 @@ An integer value; 0 means no error has been detected.
indices. If \verb|globalcheck=.false.|, the subroutine will not indices. If \verb|globalcheck=.false.|, the subroutine will not
check for overlap, and may be significantly faster, but the user check for overlap, and may be significantly faster, but the user
is implicitly guaranteeing that there are neither orphan nor is implicitly guaranteeing that there are neither orphan nor
overlap indices. overlap indices. The optional argument \verb|lidx| is available for
those cases in which the user has already established a
global-to-local mapping; if it is specified, each index in
\verb|vl(i)| will be mapped to the corresponding local index
\verb|lidx(i)|.
\item[nl] If this argument is specified alone (i.e. without \verb|vl|) \item[nl] If this argument is specified alone (i.e. without \verb|vl|)
the result is a generalized row-block distribution in which each the result is a generalized row-block distribution in which each
process $I$ gets assigned a consecutive chunk of $N_I=nl$ global process $I$ gets assigned a consecutive chunk of $N_I=nl$ global

@ -103,7 +103,7 @@
by Salvatore Filippone\\ by Salvatore Filippone\\
and Alfredo Buttari}\\ and Alfredo Buttari}\\
University of Rome ``Tor Vergata''.\\[3ex] University of Rome ``Tor Vergata''.\\[3ex]
March 1, 2012 April 16, 2012
\end{minipage}} \end{minipage}}
%\addtolength{\textwidth}{\centeroffset} %\addtolength{\textwidth}{\centeroffset}

@ -88,7 +88,7 @@
%\today %\today
Software version: 3.0-beta\\ Software version: 3.0-beta\\
%\today %\today
March 1, 2012. April 16, 2012.
\cleardoublepage \cleardoublepage
\begingroup \begingroup
\renewcommand*{\thepage}{toc} \renewcommand*{\thepage}{toc}

@ -2,7 +2,7 @@
BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES BICGSTAB Iterative method BICGSTAB CGS BICG BICGSTABL RGMRES
BJAC Preconditioner NONE DIAG BJAC BJAC Preconditioner NONE DIAG BJAC
CSR Storage format for matrix A: CSR COO JAD CSR Storage format for matrix A: CSR COO JAD
060 Domain size (acutal system is this**3) 008 Domain size (acutal system is this**3)
2 Stopping criterion 2 Stopping criterion
1000 MAXIT 1000 MAXIT
-2 ITRACE -2 ITRACE

Loading…
Cancel
Save