mirror of
https://github.com/sfilippone/psblas3.git
synced 2026-10-07 07:04:57 +00:00
Document DESC%CNV method and MOLD arguments to CDASB and PREC%BUILD
This commit is contained in:
+13
-17
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Footnotes</TITLE>
|
||||
@@ -13,12 +9,12 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node132.html">
|
||||
<LINK REL="previous" HREF="node133.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
</HEAD>
|
||||
|
||||
@@ -27,7 +23,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<DL>
|
||||
<DT><A NAME="foot201">...
|
||||
explicitly</A><A
|
||||
HREF="node3.html#tex2html2"><SUP>1</SUP></A></DT>
|
||||
HREF="node3.html#tex2html2"><SUP><SPAN CLASS="arabic">1</SPAN></SUP></A></DT>
|
||||
<DD>In our prototype implementation we provide
|
||||
sample scatter/gather routines.
|
||||
|
||||
@@ -64,7 +60,7 @@ sample scatter/gather routines.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot210">... domain</A><A
|
||||
HREF="node4.html#tex2html3"><SUP>2</SUP></A></DT>
|
||||
HREF="node4.html#tex2html3"><SUP><SPAN CLASS="arabic">2</SPAN></SUP></A></DT>
|
||||
<DD>This is
|
||||
the normal situation when the pattern of the sparse matrix is
|
||||
symmetric, which is equivalent to say that the interaction between
|
||||
@@ -105,7 +101,7 @@ sample scatter/gather routines.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot278">... <code>prec%build</code></A><A
|
||||
HREF="node6.html#tex2html5"><SUP>3</SUP></A></DT>
|
||||
HREF="node6.html#tex2html5"><SUP><SPAN CLASS="arabic">3</SPAN></SUP></A></DT>
|
||||
<DD>The subroutine style <TT>psb_precinit</TT> and <TT>psb_precbl</TT> are still supported for
|
||||
backward compatibility
|
||||
|
||||
@@ -141,8 +137,8 @@ sample scatter/gather routines.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot7601">... follows</A><A
|
||||
HREF="node124.html#tex2html31"><SUP>4</SUP></A></DT>
|
||||
<DT><A NAME="foot7644">... follows</A><A
|
||||
HREF="node125.html#tex2html31"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A></DT>
|
||||
<DD>The string is case-insensitive
|
||||
|
||||
<PRE>.
|
||||
@@ -177,13 +173,13 @@ sample scatter/gather routines.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot8038">... method</A><A
|
||||
HREF="node131.html#tex2html32"><SUP>5</SUP></A></DT>
|
||||
<DT><A NAME="foot8093">... method</A><A
|
||||
HREF="node132.html#tex2html32"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A></DT>
|
||||
<DD>Note:
|
||||
the implementation is for <IMG
|
||||
the implementation is for <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="62" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img163.png"
|
||||
ALT="$FCG(1)$">.
|
||||
ALT="$FCG(1)$"></SPAN>.
|
||||
|
||||
<PRE>.
|
||||
.
|
||||
|
||||
+184
-185
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>userhtml</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -22,7 +18,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html35"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
@@ -37,17 +34,17 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<B> <A NAME="tex2html34"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
language=Fortran
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+2"><B>PSBLAS
|
||||
<BIG CLASS="XXLARGE"><B>PSBLAS
|
||||
<BR>
|
||||
<BR>
|
||||
User's and Reference
|
||||
Guide</B></FONT>
|
||||
<BR><I><FONT SIZE="+1">A reference guide for the Parallel Sparse BLAS library</FONT></I>
|
||||
Guide</B></BIG>
|
||||
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A reference guide for the Parallel Sparse BLAS library</BIG></SPAN>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -55,7 +52,7 @@ User's and Reference
|
||||
<BR>
|
||||
Alfredo Buttari </B>
|
||||
<BR>
|
||||
University of Rome ``Tor Vergata'', Italy
|
||||
University of Rome “Tor Vergata”, Italy
|
||||
<BR>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -69,7 +66,7 @@ Sep 1st, 2017
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"></A>
|
||||
|
||||
<UL>
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html37"
|
||||
HREF="node1.html">Contents</A>
|
||||
<LI><A NAME="tex2html38"
|
||||
@@ -114,297 +111,299 @@ Sep 1st, 2017
|
||||
<LI><A NAME="tex2html54"
|
||||
HREF="node18.html">Clone -- clone current object</A>
|
||||
<LI><A NAME="tex2html55"
|
||||
HREF="node19.html">psb_cd_get_large_threshold -- Get threshold for
|
||||
index mapping switch</A>
|
||||
HREF="node19.html">CNV -- convert internal storage format</A>
|
||||
<LI><A NAME="tex2html56"
|
||||
HREF="node20.html">psb_cd_set_large_threshold -- Set threshold for
|
||||
HREF="node20.html">psb_cd_get_large_threshold -- Get threshold for
|
||||
index mapping switch</A>
|
||||
<LI><A NAME="tex2html57"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
</UL>
|
||||
HREF="node21.html">psb_cd_set_large_threshold -- Set threshold for
|
||||
index mapping switch</A>
|
||||
<LI><A NAME="tex2html58"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<UL>
|
||||
HREF="node22.html">Named Constants</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html59"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html60"
|
||||
HREF="node24.html">get_nrows -- Get number of rows in a sparse matrix</A>
|
||||
HREF="node24.html">Sparse Matrix Methods</A>
|
||||
<LI><A NAME="tex2html61"
|
||||
HREF="node25.html">get_ncols -- Get number of columns in a sparse
|
||||
matrix</A>
|
||||
HREF="node25.html">get_nrows -- Get number of rows in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html62"
|
||||
HREF="node26.html">get_nnzeros -- Get number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
HREF="node26.html">get_ncols -- Get number of columns in a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html63"
|
||||
HREF="node27.html">get_size -- Get maximum number of nonzero elements
|
||||
HREF="node27.html">get_nnzeros -- Get number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html64"
|
||||
HREF="node28.html">sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</A>
|
||||
HREF="node28.html">get_size -- Get maximum number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html65"
|
||||
HREF="node29.html">get_fmt -- Short description of the dynamic type</A>
|
||||
HREF="node29.html">sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</A>
|
||||
<LI><A NAME="tex2html66"
|
||||
HREF="node30.html">is_bld, is_upd, is_asb -- Status check</A>
|
||||
HREF="node30.html">get_fmt -- Short description of the dynamic type</A>
|
||||
<LI><A NAME="tex2html67"
|
||||
HREF="node31.html">is_lower, is_upper, is_triangle, is_unit --
|
||||
Format check</A>
|
||||
HREF="node31.html">is_bld, is_upd, is_asb -- Status check</A>
|
||||
<LI><A NAME="tex2html68"
|
||||
HREF="node32.html">cscnv -- Convert to a different storage format</A>
|
||||
HREF="node32.html">is_lower, is_upper, is_triangle, is_unit --
|
||||
Format check</A>
|
||||
<LI><A NAME="tex2html69"
|
||||
HREF="node33.html">csclip -- Reduce to a submatrix</A>
|
||||
HREF="node33.html">cscnv -- Convert to a different storage format</A>
|
||||
<LI><A NAME="tex2html70"
|
||||
HREF="node34.html">clean_zeros -- Eliminate zero coefficients</A>
|
||||
HREF="node34.html">csclip -- Reduce to a submatrix</A>
|
||||
<LI><A NAME="tex2html71"
|
||||
HREF="node35.html">get_diag -- Get main diagonal</A>
|
||||
HREF="node35.html">clean_zeros -- Eliminate zero coefficients</A>
|
||||
<LI><A NAME="tex2html72"
|
||||
HREF="node36.html">clip_diag -- Cut out main diagonal</A>
|
||||
HREF="node36.html">get_diag -- Get main diagonal</A>
|
||||
<LI><A NAME="tex2html73"
|
||||
HREF="node37.html">tril -- Return the lower triangle</A>
|
||||
HREF="node37.html">clip_diag -- Cut out main diagonal</A>
|
||||
<LI><A NAME="tex2html74"
|
||||
HREF="node38.html">triu -- Return the upper triangle</A>
|
||||
HREF="node38.html">tril -- Return the lower triangle</A>
|
||||
<LI><A NAME="tex2html75"
|
||||
HREF="node39.html">psb_set_mat_default -- Set default storage format</A>
|
||||
HREF="node39.html">triu -- Return the upper triangle</A>
|
||||
<LI><A NAME="tex2html76"
|
||||
HREF="node40.html">clone -- Clone current object</A>
|
||||
HREF="node40.html">psb_set_mat_default -- Set default storage format</A>
|
||||
<LI><A NAME="tex2html77"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
</UL>
|
||||
HREF="node41.html">clone -- Clone current object</A>
|
||||
<LI><A NAME="tex2html78"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<UL>
|
||||
HREF="node42.html">Named Constants</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html79"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html80"
|
||||
HREF="node44.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
HREF="node44.html">Vector Methods</A>
|
||||
<LI><A NAME="tex2html81"
|
||||
HREF="node45.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
HREF="node45.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
<LI><A NAME="tex2html82"
|
||||
HREF="node46.html">set -- Set contents of the vector</A>
|
||||
HREF="node46.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
<LI><A NAME="tex2html83"
|
||||
HREF="node47.html">get_vect -- Get a copy of the vector contents</A>
|
||||
HREF="node47.html">set -- Set contents of the vector</A>
|
||||
<LI><A NAME="tex2html84"
|
||||
HREF="node48.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
HREF="node48.html">get_vect -- Get a copy of the vector contents</A>
|
||||
<LI><A NAME="tex2html85"
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
HREF="node49.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html86"
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
</UL>
|
||||
<BR>
|
||||
HREF="node50.html">Preconditioner data structure</A>
|
||||
<LI><A NAME="tex2html87"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<UL>
|
||||
HREF="node51.html">Heap data structure</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html88"
|
||||
HREF="node52.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html89"
|
||||
HREF="node53.html">psb_gedot -- Dot Product</A>
|
||||
HREF="node53.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
<LI><A NAME="tex2html90"
|
||||
HREF="node54.html">psb_gedots -- Generalized Dot Product</A>
|
||||
HREF="node54.html">psb_gedot -- Dot Product</A>
|
||||
<LI><A NAME="tex2html91"
|
||||
HREF="node55.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
HREF="node55.html">psb_gedots -- Generalized Dot Product</A>
|
||||
<LI><A NAME="tex2html92"
|
||||
HREF="node56.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
HREF="node56.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html93"
|
||||
HREF="node57.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
HREF="node57.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<LI><A NAME="tex2html94"
|
||||
HREF="node58.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
HREF="node58.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html95"
|
||||
HREF="node59.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
HREF="node59.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html96"
|
||||
HREF="node60.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
HREF="node60.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html97"
|
||||
HREF="node61.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
HREF="node61.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html98"
|
||||
HREF="node62.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
HREF="node62.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html99"
|
||||
HREF="node63.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
HREF="node63.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html100"
|
||||
HREF="node64.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<BR>
|
||||
HREF="node64.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<LI><A NAME="tex2html101"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html102"
|
||||
HREF="node66.html">psb_halo -- Halo Data Communication</A>
|
||||
<LI><A NAME="tex2html103"
|
||||
HREF="node67.html">psb_ovrl -- Overlap Update</A>
|
||||
<LI><A NAME="tex2html104"
|
||||
HREF="node68.html">psb_gather -- Gather Global Dense Matrix</A>
|
||||
<LI><A NAME="tex2html105"
|
||||
HREF="node69.html">psb_scatter -- Scatter Global Dense Matrix</A>
|
||||
HREF="node65.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html106"
|
||||
HREF="node70.html">Data management routines</A>
|
||||
<LI><A NAME="tex2html102"
|
||||
HREF="node66.html">Communication routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html103"
|
||||
HREF="node67.html">psb_halo -- Halo Data Communication</A>
|
||||
<LI><A NAME="tex2html104"
|
||||
HREF="node68.html">psb_ovrl -- Overlap Update</A>
|
||||
<LI><A NAME="tex2html105"
|
||||
HREF="node69.html">psb_gather -- Gather Global Dense Matrix</A>
|
||||
<LI><A NAME="tex2html106"
|
||||
HREF="node70.html">psb_scatter -- Scatter Global Dense Matrix</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html107"
|
||||
HREF="node71.html">psb_cdall -- Allocates a communication descriptor</A>
|
||||
HREF="node71.html">Data management routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html108"
|
||||
HREF="node72.html">psb_cdins -- Communication descriptor insert
|
||||
routine</A>
|
||||
HREF="node72.html">psb_cdall -- Allocates a communication descriptor</A>
|
||||
<LI><A NAME="tex2html109"
|
||||
HREF="node73.html">psb_cdasb -- Communication descriptor assembly
|
||||
HREF="node73.html">psb_cdins -- Communication descriptor insert
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html110"
|
||||
HREF="node74.html">psb_cdcpy -- Copies a communication descriptor</A>
|
||||
HREF="node74.html">psb_cdasb -- Communication descriptor assembly
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html111"
|
||||
HREF="node75.html">psb_cdfree -- Frees a communication descriptor</A>
|
||||
HREF="node75.html">psb_cdcpy -- Copies a communication descriptor</A>
|
||||
<LI><A NAME="tex2html112"
|
||||
HREF="node76.html">psb_cdbldext -- Build an extended communication
|
||||
descriptor</A>
|
||||
HREF="node76.html">psb_cdfree -- Frees a communication descriptor</A>
|
||||
<LI><A NAME="tex2html113"
|
||||
HREF="node77.html">psb_spall -- Allocates a sparse matrix</A>
|
||||
HREF="node77.html">psb_cdbldext -- Build an extended communication
|
||||
descriptor</A>
|
||||
<LI><A NAME="tex2html114"
|
||||
HREF="node78.html">psb_spins -- Insert a cloud of elements into a sparse
|
||||
matrix</A>
|
||||
HREF="node78.html">psb_spall -- Allocates a sparse matrix</A>
|
||||
<LI><A NAME="tex2html115"
|
||||
HREF="node79.html">psb_spasb -- Sparse matrix assembly routine</A>
|
||||
<LI><A NAME="tex2html116"
|
||||
HREF="node80.html">psb_spfree -- Frees a sparse matrix</A>
|
||||
<LI><A NAME="tex2html117"
|
||||
HREF="node81.html">psb_sprn -- Reinit sparse matrix structure for psblas
|
||||
routines.</A>
|
||||
<LI><A NAME="tex2html118"
|
||||
HREF="node82.html">psb_geall -- Allocates a dense matrix</A>
|
||||
<LI><A NAME="tex2html119"
|
||||
HREF="node83.html">psb_geins -- Dense matrix insertion routine</A>
|
||||
<LI><A NAME="tex2html120"
|
||||
HREF="node84.html">psb_geasb -- Assembly a dense matrix</A>
|
||||
<LI><A NAME="tex2html121"
|
||||
HREF="node85.html">psb_gefree -- Frees a dense matrix</A>
|
||||
<LI><A NAME="tex2html122"
|
||||
HREF="node86.html">psb_gelp -- Applies a left permutation to a dense
|
||||
HREF="node79.html">psb_spins -- Insert a cloud of elements into a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html116"
|
||||
HREF="node80.html">psb_spasb -- Sparse matrix assembly routine</A>
|
||||
<LI><A NAME="tex2html117"
|
||||
HREF="node81.html">psb_spfree -- Frees a sparse matrix</A>
|
||||
<LI><A NAME="tex2html118"
|
||||
HREF="node82.html">psb_sprn -- Reinit sparse matrix structure for psblas
|
||||
routines.</A>
|
||||
<LI><A NAME="tex2html119"
|
||||
HREF="node83.html">psb_geall -- Allocates a dense matrix</A>
|
||||
<LI><A NAME="tex2html120"
|
||||
HREF="node84.html">psb_geins -- Dense matrix insertion routine</A>
|
||||
<LI><A NAME="tex2html121"
|
||||
HREF="node85.html">psb_geasb -- Assembly a dense matrix</A>
|
||||
<LI><A NAME="tex2html122"
|
||||
HREF="node86.html">psb_gefree -- Frees a dense matrix</A>
|
||||
<LI><A NAME="tex2html123"
|
||||
HREF="node87.html">psb_glob_to_loc -- Global to local indices
|
||||
convertion</A>
|
||||
HREF="node87.html">psb_gelp -- Applies a left permutation to a dense
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html124"
|
||||
HREF="node88.html">psb_loc_to_glob -- Local to global indices
|
||||
conversion</A>
|
||||
HREF="node88.html">psb_glob_to_loc -- Global to local indices
|
||||
convertion</A>
|
||||
<LI><A NAME="tex2html125"
|
||||
HREF="node89.html">psb_is_owned -- </A>
|
||||
HREF="node89.html">psb_loc_to_glob -- Local to global indices
|
||||
conversion</A>
|
||||
<LI><A NAME="tex2html126"
|
||||
HREF="node90.html">psb_owned_index -- </A>
|
||||
HREF="node90.html">psb_is_owned -- </A>
|
||||
<LI><A NAME="tex2html127"
|
||||
HREF="node91.html">psb_is_local -- </A>
|
||||
HREF="node91.html">psb_owned_index -- </A>
|
||||
<LI><A NAME="tex2html128"
|
||||
HREF="node92.html">psb_local_index -- </A>
|
||||
HREF="node92.html">psb_is_local -- </A>
|
||||
<LI><A NAME="tex2html129"
|
||||
HREF="node93.html">psb_get_boundary -- Extract list of boundary
|
||||
elements</A>
|
||||
HREF="node93.html">psb_local_index -- </A>
|
||||
<LI><A NAME="tex2html130"
|
||||
HREF="node94.html">psb_get_overlap -- Extract list of overlap
|
||||
HREF="node94.html">psb_get_boundary -- Extract list of boundary
|
||||
elements</A>
|
||||
<LI><A NAME="tex2html131"
|
||||
HREF="node95.html">psb_sp_getrow -- Extract row(s) from a sparse
|
||||
matrix</A>
|
||||
HREF="node95.html">psb_get_overlap -- Extract list of overlap
|
||||
elements</A>
|
||||
<LI><A NAME="tex2html132"
|
||||
HREF="node96.html">psb_sizeof -- Memory occupation</A>
|
||||
HREF="node96.html">psb_sp_getrow -- Extract row(s) from a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html133"
|
||||
HREF="node97.html">Sorting utilities -- </A>
|
||||
HREF="node97.html">psb_sizeof -- Memory occupation</A>
|
||||
<LI><A NAME="tex2html134"
|
||||
HREF="node98.html">Sorting utilities -- </A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html134"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html135"
|
||||
HREF="node99.html">psb_init -- Initializes PSBLAS parallel
|
||||
environment</A>
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html136"
|
||||
HREF="node100.html">psb_info -- Return information about PSBLAS parallel
|
||||
HREF="node100.html">psb_init -- Initializes PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html137"
|
||||
HREF="node101.html">psb_exit -- Exit from PSBLAS parallel
|
||||
HREF="node101.html">psb_info -- Return information about PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html138"
|
||||
HREF="node102.html">psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
<LI><A NAME="tex2html139"
|
||||
HREF="node103.html">psb_get_rank -- Get the MPI rank</A>
|
||||
<LI><A NAME="tex2html140"
|
||||
HREF="node104.html">psb_wtime -- Wall clock timing</A>
|
||||
<LI><A NAME="tex2html141"
|
||||
HREF="node105.html">psb_barrier -- Sinchronization point parallel
|
||||
HREF="node102.html">psb_exit -- Exit from PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html139"
|
||||
HREF="node103.html">psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
<LI><A NAME="tex2html140"
|
||||
HREF="node104.html">psb_get_rank -- Get the MPI rank</A>
|
||||
<LI><A NAME="tex2html141"
|
||||
HREF="node105.html">psb_wtime -- Wall clock timing</A>
|
||||
<LI><A NAME="tex2html142"
|
||||
HREF="node106.html">psb_abort -- Abort a computation</A>
|
||||
HREF="node106.html">psb_barrier -- Sinchronization point parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html143"
|
||||
HREF="node107.html">psb_bcast -- Broadcast data</A>
|
||||
HREF="node107.html">psb_abort -- Abort a computation</A>
|
||||
<LI><A NAME="tex2html144"
|
||||
HREF="node108.html">psb_sum -- Global sum</A>
|
||||
HREF="node108.html">psb_bcast -- Broadcast data</A>
|
||||
<LI><A NAME="tex2html145"
|
||||
HREF="node109.html">psb_max -- Global maximum</A>
|
||||
HREF="node109.html">psb_sum -- Global sum</A>
|
||||
<LI><A NAME="tex2html146"
|
||||
HREF="node110.html">psb_min -- Global minimum</A>
|
||||
HREF="node110.html">psb_max -- Global maximum</A>
|
||||
<LI><A NAME="tex2html147"
|
||||
HREF="node111.html">psb_amx -- Global maximum absolute value</A>
|
||||
HREF="node111.html">psb_min -- Global minimum</A>
|
||||
<LI><A NAME="tex2html148"
|
||||
HREF="node112.html">psb_amn -- Global minimum absolute value</A>
|
||||
HREF="node112.html">psb_amx -- Global maximum absolute value</A>
|
||||
<LI><A NAME="tex2html149"
|
||||
HREF="node113.html">psb_snd -- Send data</A>
|
||||
HREF="node113.html">psb_amn -- Global minimum absolute value</A>
|
||||
<LI><A NAME="tex2html150"
|
||||
HREF="node114.html">psb_rcv -- Receive data</A>
|
||||
HREF="node114.html">psb_snd -- Send data</A>
|
||||
<LI><A NAME="tex2html151"
|
||||
HREF="node115.html">psb_rcv -- Receive data</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html151"
|
||||
HREF="node115.html">Error handling</A>
|
||||
<LI><A NAME="tex2html152"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<UL>
|
||||
HREF="node116.html">Error handling</A>
|
||||
<LI><A NAME="tex2html153"
|
||||
HREF="node117.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
HREF="node117.html">Utilities</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html154"
|
||||
HREF="node118.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
HREF="node118.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html155"
|
||||
HREF="node119.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
HREF="node119.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html156"
|
||||
HREF="node120.html">mm_array_read -- Read a dense array from a
|
||||
HREF="node120.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html157"
|
||||
HREF="node121.html">mm_mat_write -- Write a sparse matrix to a
|
||||
HREF="node121.html">mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html158"
|
||||
HREF="node122.html">mm_array_write -- Write a dense array from a
|
||||
HREF="node122.html">mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html159"
|
||||
HREF="node123.html">mm_array_write -- Write a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html159"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html160"
|
||||
HREF="node124.html">init -- Initialize a preconditioner</A>
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html161"
|
||||
HREF="node125.html">build -- Builds a preconditioner</A>
|
||||
HREF="node125.html">init -- Initialize a preconditioner</A>
|
||||
<LI><A NAME="tex2html162"
|
||||
HREF="node126.html">apply -- Preconditioner application
|
||||
routine</A>
|
||||
HREF="node126.html">build -- Builds a preconditioner</A>
|
||||
<LI><A NAME="tex2html163"
|
||||
HREF="node127.html">descr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
HREF="node127.html">apply -- Preconditioner application
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html164"
|
||||
HREF="node128.html">clone -- clone current
|
||||
HREF="node128.html">descr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html165"
|
||||
HREF="node129.html">free -- Free a preconditioner</A>
|
||||
HREF="node129.html">clone -- clone current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html166"
|
||||
HREF="node130.html">free -- Free a preconditioner</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html166"
|
||||
HREF="node130.html">Iterative Methods</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html167"
|
||||
HREF="node131.html">psb_krylov -- Krylov Methods Driver
|
||||
HREF="node131.html">Iterative Methods</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html168"
|
||||
HREF="node132.html">psb_krylov -- Krylov Methods Driver
|
||||
Routine</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html168"
|
||||
HREF="node132.html">Bibliography</A>
|
||||
<LI><A NAME="tex2html169"
|
||||
HREF="node133.html">About this document ...</A>
|
||||
HREF="node133.html">Bibliography</A>
|
||||
<LI><A NAME="tex2html170"
|
||||
HREF="node134.html">About this document ...</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
+36
-39
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Contents</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,25 +21,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html178"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html179"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html176"
|
||||
<A NAME="tex2html177"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html170"
|
||||
<A NAME="tex2html171"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html179"
|
||||
<B> Next:</B> <A NAME="tex2html180"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<B> Up:</B> <A NAME="tex2html177"
|
||||
<B> Up:</B> <A NAME="tex2html178"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html171"
|
||||
<B> Previous:</B> <A NAME="tex2html172"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR>
|
||||
|
||||
@@ -52,55 +49,55 @@ Contents</A>
|
||||
</H2>
|
||||
<!--Table of Contents-->
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html180"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<UL CLASS="TofC">
|
||||
<LI><A NAME="tex2html181"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<LI><A NAME="tex2html182"
|
||||
HREF="node3.html">General overview</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html182"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<LI><A NAME="tex2html183"
|
||||
HREF="node5.html">Library contents</A>
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<LI><A NAME="tex2html184"
|
||||
HREF="node6.html">Application structure</A>
|
||||
HREF="node5.html">Library contents</A>
|
||||
<LI><A NAME="tex2html185"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<LI><A NAME="tex2html186"
|
||||
HREF="node8.html">Programming model</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html186"
|
||||
<LI><A NAME="tex2html187"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html187"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<LI><A NAME="tex2html188"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<LI><A NAME="tex2html189"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<LI><A NAME="tex2html190"
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<LI><A NAME="tex2html191"
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
HREF="node50.html">Preconditioner data structure</A>
|
||||
<LI><A NAME="tex2html192"
|
||||
HREF="node51.html">Heap data structure</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html192"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<LI><A NAME="tex2html193"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<LI><A NAME="tex2html194"
|
||||
HREF="node70.html">Data management routines</A>
|
||||
HREF="node66.html">Communication routines</A>
|
||||
<LI><A NAME="tex2html195"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
HREF="node71.html">Data management routines</A>
|
||||
<LI><A NAME="tex2html196"
|
||||
HREF="node115.html">Error handling</A>
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<LI><A NAME="tex2html197"
|
||||
HREF="node116.html">Utilities</A>
|
||||
HREF="node116.html">Error handling</A>
|
||||
<LI><A NAME="tex2html198"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
HREF="node117.html">Utilities</A>
|
||||
<LI><A NAME="tex2html199"
|
||||
HREF="node130.html">Iterative Methods</A>
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<LI><A NAME="tex2html200"
|
||||
HREF="node132.html">Bibliography</A>
|
||||
HREF="node131.html">Iterative Methods</A>
|
||||
<LI><A NAME="tex2html201"
|
||||
HREF="node133.html">Bibliography</A>
|
||||
</UL>
|
||||
<!--End of Table of Contents-->
|
||||
<P>
|
||||
|
||||
+57
-63
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Descriptor data structure</TITLE>
|
||||
@@ -13,42 +9,43 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node22.html">
|
||||
<LINK REL="next" HREF="node23.html">
|
||||
<LINK REL="previous" HREF="node9.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node11.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html350"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html352"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html346"
|
||||
<A NAME="tex2html348"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html340"
|
||||
<A NAME="tex2html342"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html348"
|
||||
<A NAME="tex2html350"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html351"
|
||||
<B> Next:</B> <A NAME="tex2html353"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html347"
|
||||
<B> Up:</B> <A NAME="tex2html349"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html341"
|
||||
<B> Previous:</B> <A NAME="tex2html343"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> <A NAME="tex2html349"
|
||||
<B> <A NAME="tex2html351"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00041000000000000000"></A>
|
||||
@@ -66,7 +63,7 @@ necessary for implementing the various algorithms of interest to us.
|
||||
<P>
|
||||
The data structure itself <code>psb_desc_type</code> can be treated as an
|
||||
opaque object handled via the tools routines of
|
||||
Sec. <A HREF="node70.html#sec:toolsrout">6</A> or the query routines detailed below;
|
||||
Sec. <A HREF="node71.html#sec:toolsrout">6</A> or the query routines detailed below;
|
||||
nevertheless we include here a description for the curious
|
||||
reader.
|
||||
|
||||
@@ -117,7 +114,7 @@ All methods but the last are purely local; the last method potentially
|
||||
requires communication among processes, and thus is a synchronous
|
||||
method. The choice of a specific dynamic type for the index map is
|
||||
made at the time the descriptor is initially allocated, according to
|
||||
the mode of initialization (see also <A HREF="node70.html#sec:toolsrout">6</A>).
|
||||
the mode of initialization (see also <A HREF="node71.html#sec:toolsrout">6</A>).
|
||||
|
||||
<P>
|
||||
The descriptor contents are as follows:
|
||||
@@ -143,15 +140,14 @@ processes with which it is necessary to communicate:
|
||||
<LI>Indices of points to be sent;
|
||||
</LI>
|
||||
</OL>
|
||||
The list may contain an arbitrary number of groups; its end is marked
|
||||
by a -1.
|
||||
<BR>
|
||||
Specified as: an allocatable integer array of rank one.
|
||||
Specified as: a vector of integer type, see <A HREF="node43.html#sec:vecttype">3.3</A>.
|
||||
</DD>
|
||||
<DT><STRONG><B>ext_index</B></STRONG></DT>
|
||||
<DD>A list of element indices to be exchanged to
|
||||
implement the mapping between a base descriptor and a descriptor
|
||||
with overlap.
|
||||
<BR>
|
||||
Specified as: a vector of integer type, see <A HREF="node43.html#sec:vecttype">3.3</A>.
|
||||
</DD>
|
||||
<DT><STRONG><B>ovrlap_index</B></STRONG></DT>
|
||||
<DD>A list of the overlap elements for the
|
||||
@@ -169,16 +165,13 @@ current process, organized in groups like the previous vector:
|
||||
<LI>Indices of points to be sent;
|
||||
</LI>
|
||||
</OL>
|
||||
The list may contain an arbitrary number of groups; its end is marked
|
||||
by a -1.
|
||||
<BR>
|
||||
Specified as: an allocatable integer array of rank one.
|
||||
Specified as: a vector of integer type, see <A HREF="node43.html#sec:vecttype">3.3</A>.
|
||||
</DD>
|
||||
<DT><STRONG><B>ovr_mst_idx</B></STRONG></DT>
|
||||
<DD>A list to retrieve the value of each
|
||||
overlap element from the respective master process.
|
||||
<BR>
|
||||
Specified as: an allocatable integer array of rank one.
|
||||
Specified as: a vector of integer type, see <A HREF="node43.html#sec:vecttype">3.3</A>.
|
||||
</DD>
|
||||
<DT><STRONG><B>ovrlap_elem</B></STRONG></DT>
|
||||
<DD>For all overlap points belonging to th
|
||||
@@ -189,7 +182,7 @@ ecurrent process:
|
||||
</LI>
|
||||
<LI>Number of processes sharing that overlap points;
|
||||
</LI>
|
||||
<LI>Index of a ``master'' process:
|
||||
<LI>Index of a “master” process:
|
||||
</LI>
|
||||
</OL>
|
||||
Specified as: an allocatable integer array of rank two.
|
||||
@@ -202,7 +195,7 @@ Specified as: an allocatable integer array of rank two.
|
||||
The Fortran 2003 declaration for <code>psb_desc_type</code> structures is
|
||||
as follows:
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:desctype"></A><A NAME="917"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:desctype"></A><A NAME="931"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
|
||||
The PSBLAS defined data type that
|
||||
@@ -214,11 +207,11 @@ The PSBLAS defined data type that
|
||||
<PRE>
|
||||
type psb_desc_type
|
||||
class(psb_indx_map), allocatable :: indxmap
|
||||
integer, allocatable :: halo_index(:)
|
||||
integer, allocatable :: ext_index(:)
|
||||
integer, allocatable :: ovrlap_index(:)
|
||||
type(psb_i_vect_type) :: v_halo_index
|
||||
type(psb_i_vect_type) :: v_ext_index
|
||||
type(psb_i_vect_type) :: v_ovrlap_index
|
||||
type(psb_i_vect_type) :: v_ovr_mst_idx
|
||||
integer, allocatable :: ovrlap_elem(:,:)
|
||||
integer, allocatable :: ovr_mst_idx(:)
|
||||
integer, allocatable :: bnd_elem(:)
|
||||
end type psb_desc_type
|
||||
</PRE></TD></TR>
|
||||
@@ -227,8 +220,6 @@ end type psb_desc_type
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
A communication descriptor associated with a sparse matrix has a
|
||||
state, which can take the following values:
|
||||
<DL>
|
||||
@@ -249,56 +240,59 @@ state, which can take the following values:
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html352"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<LI><A NAME="tex2html353"
|
||||
HREF="node12.html">get_local_rows -- Get number of local rows</A>
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html354"
|
||||
HREF="node13.html">get_local_cols -- Get number of local cols</A>
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<LI><A NAME="tex2html355"
|
||||
HREF="node14.html">get_global_rows -- Get number of global rows</A>
|
||||
HREF="node12.html">get_local_rows -- Get number of local rows</A>
|
||||
<LI><A NAME="tex2html356"
|
||||
HREF="node15.html">get_global_cols -- Get number of global cols</A>
|
||||
HREF="node13.html">get_local_cols -- Get number of local cols</A>
|
||||
<LI><A NAME="tex2html357"
|
||||
HREF="node16.html">get_global_indices -- Get vector of global indices</A>
|
||||
HREF="node14.html">get_global_rows -- Get number of global rows</A>
|
||||
<LI><A NAME="tex2html358"
|
||||
HREF="node17.html">get_context -- Get communication context</A>
|
||||
HREF="node15.html">get_global_cols -- Get number of global cols</A>
|
||||
<LI><A NAME="tex2html359"
|
||||
HREF="node18.html">Clone -- clone current object</A>
|
||||
HREF="node16.html">get_global_indices -- Get vector of global indices</A>
|
||||
<LI><A NAME="tex2html360"
|
||||
HREF="node19.html">psb_cd_get_large_threshold -- Get threshold for
|
||||
index mapping switch</A>
|
||||
HREF="node17.html">get_context -- Get communication context</A>
|
||||
<LI><A NAME="tex2html361"
|
||||
HREF="node20.html">psb_cd_set_large_threshold -- Set threshold for
|
||||
index mapping switch</A>
|
||||
HREF="node18.html">Clone -- clone current object</A>
|
||||
<LI><A NAME="tex2html362"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
HREF="node19.html">CNV -- convert internal storage format</A>
|
||||
<LI><A NAME="tex2html363"
|
||||
HREF="node20.html">psb_cd_get_large_threshold -- Get threshold for
|
||||
index mapping switch</A>
|
||||
<LI><A NAME="tex2html364"
|
||||
HREF="node21.html">psb_cd_set_large_threshold -- Set threshold for
|
||||
index mapping switch</A>
|
||||
<LI><A NAME="tex2html365"
|
||||
HREF="node22.html">Named Constants</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html350"
|
||||
<A NAME="tex2html352"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html346"
|
||||
<A NAME="tex2html348"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html340"
|
||||
<A NAME="tex2html342"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html348"
|
||||
<A NAME="tex2html350"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html351"
|
||||
<B> Next:</B> <A NAME="tex2html353"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html347"
|
||||
<B> Up:</B> <A NAME="tex2html349"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html341"
|
||||
<B> Previous:</B> <A NAME="tex2html343"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> <A NAME="tex2html349"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> <A NAME="tex2html351"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+89
-84
@@ -1,87 +1,112 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_info -- Return information about PSBLAS parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_info -- Return information about PSBLAS parallel environment">
|
||||
<TITLE>psb_init -- Initializes PSBLAS parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_init -- Initializes PSBLAS parallel environment">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node101.html">
|
||||
<LINK REL="previous" HREF="node99.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node101.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1512"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1515"
|
||||
HREF="node101.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1508"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1511"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1502"
|
||||
<A NAME="tex2html1505"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1510"
|
||||
<A NAME="tex2html1513"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1513"
|
||||
HREF="node101.html">psb_exit Exit</A>
|
||||
<B> Up:</B> <A NAME="tex2html1509"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1503"
|
||||
HREF="node99.html">psb_init Initializes</A>
|
||||
<B> <A NAME="tex2html1511"
|
||||
<B> Next:</B> <A NAME="tex2html1516"
|
||||
HREF="node101.html">psb_info Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html1512"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1506"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> <A NAME="tex2html1514"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00082000000000000000">
|
||||
psb_info -- Return information about PSBLAS parallel
|
||||
<H2><A NAME="SECTION00081000000000000000">
|
||||
psb_init -- Initializes PSBLAS parallel
|
||||
environment</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_info(icontxt, iam, np)
|
||||
call psb_init(icontxt, np, basectxt, ids)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine returns information about the PSBLAS parallel environment, defining
|
||||
This subroutine initializes the PSBLAS parallel environment, defining
|
||||
a virtual parallel machine.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>icontxt</STRONG></DT>
|
||||
<DD>the communication context identifying the virtual
|
||||
parallel machine.
|
||||
<DT><STRONG>np</STRONG></DT>
|
||||
<DD>Number of processes in the PSBLAS virtual parallel machine.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
Specified as: an integer value. Default: use all available processes.
|
||||
</DD>
|
||||
<DT><STRONG>basectxt</STRONG></DT>
|
||||
<DD>the initial communication context. The new context
|
||||
will be defined from the processes participating in the initial one.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. Default: use MPI_COMM_WORLD.
|
||||
</DD>
|
||||
<DT><STRONG>ids</STRONG></DT>
|
||||
<DD>Identities of the processes to use for the new context; the
|
||||
argument is ignored when <code>np</code> is not specified. This allows the
|
||||
processes in the new environment to be in an order different from the
|
||||
original one.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer array. Default: use the indices <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="93" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img92.png"
|
||||
ALT="$(0\dots np-1)$"></SPAN>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
@@ -90,24 +115,11 @@ Specified as: an integer variable.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>iam</STRONG></DT>
|
||||
<DD>Identifier of current process in the PSBLAS virtual parallel machine.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. <!-- MATH
|
||||
$-1 \le iam \le np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="139" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img126.png"
|
||||
ALT="$-1 \le iam \le np-1$"> </DD>
|
||||
<DT><STRONG>np</STRONG></DT>
|
||||
<DD>Number of processes in the PSBLAS virtual parallel machine.
|
||||
<DT><STRONG>icontxt</STRONG></DT>
|
||||
<DD>the communication context identifying the virtual
|
||||
parallel machine. Note that this is always a duplicate of
|
||||
<code>basectxt</code>, so that library communications are completely
|
||||
separated from other communication operations.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -115,57 +127,50 @@ Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable. </DD>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>For processes in the virtual parallel machine the identifier
|
||||
will satisfy <!-- MATH
|
||||
$0 \le iam \le np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="128" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img127.png"
|
||||
ALT="$0 \le iam \le np-1$">;
|
||||
<LI>A call to this routine must precede any other PSBLAS call.
|
||||
</LI>
|
||||
<LI>If the user has requested on <code>psb_init</code> a number of
|
||||
processes less than the total available in the parallel execution
|
||||
environment, the remaining processes will have on return <IMG
|
||||
WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img128.png"
|
||||
ALT="$iam=-1$">;
|
||||
the only call involving <code>icontxt</code> that any such process may
|
||||
execute is to <code>psb_exit</code>.
|
||||
<LI>It is an error to specify a value for <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="22" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img125.png"
|
||||
ALT="$np$"></SPAN> greater than the
|
||||
number of processes available in the underlying base parallel
|
||||
environment.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1512"
|
||||
<A NAME="tex2html1515"
|
||||
HREF="node101.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1508"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1511"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1502"
|
||||
<A NAME="tex2html1505"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1510"
|
||||
<A NAME="tex2html1513"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1513"
|
||||
HREF="node101.html">psb_exit Exit</A>
|
||||
<B> Up:</B> <A NAME="tex2html1509"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1503"
|
||||
HREF="node99.html">psb_init Initializes</A>
|
||||
<B> <A NAME="tex2html1511"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1516"
|
||||
HREF="node101.html">psb_info Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html1512"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1506"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> <A NAME="tex2html1514"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+77
-82
@@ -1,72 +1,69 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_exit -- Exit from PSBLAS parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_exit -- Exit from PSBLAS parallel environment">
|
||||
<TITLE>psb_info -- Return information about PSBLAS parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_info -- Return information about PSBLAS parallel environment">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node102.html">
|
||||
<LINK REL="previous" HREF="node100.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node102.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1524"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1527"
|
||||
HREF="node102.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1520"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1523"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1514"
|
||||
<A NAME="tex2html1517"
|
||||
HREF="node100.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1522"
|
||||
<A NAME="tex2html1525"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1525"
|
||||
HREF="node102.html">psb_get_mpicomm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1521"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1515"
|
||||
HREF="node100.html">psb_info Return</A>
|
||||
<B> <A NAME="tex2html1523"
|
||||
<B> Next:</B> <A NAME="tex2html1528"
|
||||
HREF="node102.html">psb_exit Exit</A>
|
||||
<B> Up:</B> <A NAME="tex2html1524"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1518"
|
||||
HREF="node100.html">psb_init Initializes</A>
|
||||
<B> <A NAME="tex2html1526"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00083000000000000000">
|
||||
psb_exit -- Exit from PSBLAS parallel
|
||||
<H2><A NAME="SECTION00082000000000000000">
|
||||
psb_info -- Return information about PSBLAS parallel
|
||||
environment</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_exit(icontxt)
|
||||
call psb_exit(icontxt,close)
|
||||
call psb_info(icontxt, iam, np)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine exits from the PSBLAS parallel virtual machine.
|
||||
This subroutine returns information about the PSBLAS parallel environment, defining
|
||||
a virtual parallel machine.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
@@ -83,69 +80,67 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>close</STRONG></DT>
|
||||
<DD>Whether to close all data structures related to the
|
||||
virtual parallel machine, besides those associated with icontxt.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a logical variable, default value: true.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>iam</STRONG></DT>
|
||||
<DD>Identifier of current process in the PSBLAS virtual parallel machine.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. <!-- MATH
|
||||
$-1 \le iam \le np-1$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="139" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img126.png"
|
||||
ALT="$-1 \le iam \le np-1$"></SPAN> </DD>
|
||||
<DT><STRONG>np</STRONG></DT>
|
||||
<DD>Number of processes in the PSBLAS virtual parallel machine.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable. </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>This routine may be called even if a previous call to
|
||||
<code>psb_info</code> has returned with <IMG
|
||||
<LI>For processes in the virtual parallel machine the identifier
|
||||
will satisfy <!-- MATH
|
||||
$0 \le iam \le np-1$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="128" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img127.png"
|
||||
ALT="$0 \le iam \le np-1$"></SPAN>;
|
||||
</LI>
|
||||
<LI>If the user has requested on <code>psb_init</code> a number of
|
||||
processes less than the total available in the parallel execution
|
||||
environment, the remaining processes will have on return <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img128.png"
|
||||
ALT="$iam=-1$">; indeed, it it is the only
|
||||
routine that may be called with argument <code>icontxt</code> in this
|
||||
situation.
|
||||
</LI>
|
||||
<LI>A call to this routine with <code>close=.true.</code> implies a call
|
||||
to <code>MPI_Finalize</code>, after which no parallel routine may be called.
|
||||
</LI>
|
||||
<LI>If the user whishes to use multiple communication contexts in the
|
||||
same program, or to enter and exit multiple times into the parallel
|
||||
environment, this routine may be called to
|
||||
selectively close the contexts with <code>close=.false.</code>, while on
|
||||
the last call it should be called with <code>close=.true.</code> to
|
||||
shutdown in a clean way the entire parallel environment.
|
||||
ALT="$iam=-1$"></SPAN>;
|
||||
the only call involving <code>icontxt</code> that any such process may
|
||||
execute is to <code>psb_exit</code>.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1524"
|
||||
HREF="node102.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1520"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1514"
|
||||
HREF="node100.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1522"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1525"
|
||||
HREF="node102.html">psb_get_mpicomm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1521"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1515"
|
||||
HREF="node100.html">psb_info Return</A>
|
||||
<B> <A NAME="tex2html1523"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+85
-42
@@ -1,70 +1,69 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_get_mpicomm -- Get the MPI communicator</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_mpicomm -- Get the MPI communicator">
|
||||
<TITLE>psb_exit -- Exit from PSBLAS parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_exit -- Exit from PSBLAS parallel environment">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node103.html">
|
||||
<LINK REL="previous" HREF="node101.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node103.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1536"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1539"
|
||||
HREF="node103.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1532"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1535"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1526"
|
||||
<A NAME="tex2html1529"
|
||||
HREF="node101.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1534"
|
||||
<A NAME="tex2html1537"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1537"
|
||||
HREF="node103.html">psb_get_rank Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1533"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1527"
|
||||
HREF="node101.html">psb_exit Exit</A>
|
||||
<B> <A NAME="tex2html1535"
|
||||
<B> Next:</B> <A NAME="tex2html1540"
|
||||
HREF="node103.html">psb_get_mpicomm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1536"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1530"
|
||||
HREF="node101.html">psb_info Return</A>
|
||||
<B> <A NAME="tex2html1538"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00084000000000000000">
|
||||
psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
<H2><A NAME="SECTION00083000000000000000">
|
||||
psb_exit -- Exit from PSBLAS parallel
|
||||
environment</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_get_mpicomm(icontxt, icomm)
|
||||
call psb_exit(icontxt)
|
||||
call psb_exit(icontxt,close)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine returns the MPI communicator associated with a PSBLAS context
|
||||
This subroutine exits from the PSBLAS parallel virtual machine.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
@@ -81,26 +80,70 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>icomm</STRONG></DT>
|
||||
<DD>The MPI communicator associated with the PSBLAS virtual parallel machine.
|
||||
<DT><STRONG>close</STRONG></DT>
|
||||
<DD>Whether to close all data structures related to the
|
||||
virtual parallel machine, besides those associated with icontxt.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a logical variable, default value: true.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>This routine may be called even if a previous call to
|
||||
<code>psb_info</code> has returned with <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="73" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img128.png"
|
||||
ALT="$iam=-1$"></SPAN>; indeed, it it is the only
|
||||
routine that may be called with argument <code>icontxt</code> in this
|
||||
situation.
|
||||
</LI>
|
||||
<LI>A call to this routine with <code>close=.true.</code> implies a call
|
||||
to <code>MPI_Finalize</code>, after which no parallel routine may be called.
|
||||
</LI>
|
||||
<LI>If the user whishes to use multiple communication contexts in the
|
||||
same program, or to enter and exit multiple times into the parallel
|
||||
environment, this routine may be called to
|
||||
selectively close the contexts with <code>close=.false.</code>, while on
|
||||
the last call it should be called with <code>close=.true.</code> to
|
||||
shutdown in a clean way the entire parallel environment.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1539"
|
||||
HREF="node103.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1535"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1529"
|
||||
HREF="node101.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1537"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1540"
|
||||
HREF="node103.html">psb_get_mpicomm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1536"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1530"
|
||||
HREF="node101.html">psb_info Return</A>
|
||||
<B> <A NAME="tex2html1538"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+28
-53
@@ -1,70 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_get_rank -- Get the MPI rank</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_rank -- Get the MPI rank">
|
||||
<TITLE>psb_get_mpicomm -- Get the MPI communicator</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_mpicomm -- Get the MPI communicator">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node104.html">
|
||||
<LINK REL="previous" HREF="node102.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node104.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1548"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1551"
|
||||
HREF="node104.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1544"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1547"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1538"
|
||||
<A NAME="tex2html1541"
|
||||
HREF="node102.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1546"
|
||||
<A NAME="tex2html1549"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1549"
|
||||
HREF="node104.html">psb_wtime Wall</A>
|
||||
<B> Up:</B> <A NAME="tex2html1545"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1539"
|
||||
HREF="node102.html">psb_get_mpicomm Get</A>
|
||||
<B> <A NAME="tex2html1547"
|
||||
<B> Next:</B> <A NAME="tex2html1552"
|
||||
HREF="node104.html">psb_get_rank Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1548"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1542"
|
||||
HREF="node102.html">psb_exit Exit</A>
|
||||
<B> <A NAME="tex2html1550"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00085000000000000000">
|
||||
psb_get_rank -- Get the MPI rank</A>
|
||||
<H2><A NAME="SECTION00084000000000000000">
|
||||
psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_get_rank(rank, icontxt, id)
|
||||
call psb_get_mpicomm(icontxt, icomm)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine returns the MPI rank of the PSBLAS process <IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img129.png"
|
||||
ALT="$id$">
|
||||
This subroutine returns the MPI communicator associated with a PSBLAS context
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -84,22 +78,6 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>id</STRONG></DT>
|
||||
<DD>Identifier of a process in the PSBLAS virtual parallel machine.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. <!-- MATH
|
||||
$0 \le id \le np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="113" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img130.png"
|
||||
ALT="$0 \le id \le np-1$"> </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -107,13 +85,10 @@ Specified as: an integer value. <!-- MATH
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>rank</STRONG></DT>
|
||||
<DD>The MPI rank associated with the PSBLAS process <IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img129.png"
|
||||
ALT="$id$">.
|
||||
<DT><STRONG>icomm</STRONG></DT>
|
||||
<DD>The MPI communicator associated with the PSBLAS virtual parallel machine.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
|
||||
+74
-33
@@ -1,80 +1,121 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_wtime -- Wall clock timing</TITLE>
|
||||
<META NAME="description" CONTENT="psb_wtime -- Wall clock timing">
|
||||
<TITLE>psb_get_rank -- Get the MPI rank</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_rank -- Get the MPI rank">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node105.html">
|
||||
<LINK REL="previous" HREF="node103.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node105.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1560"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1563"
|
||||
HREF="node105.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1556"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1559"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1550"
|
||||
<A NAME="tex2html1553"
|
||||
HREF="node103.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1558"
|
||||
<A NAME="tex2html1561"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1561"
|
||||
HREF="node105.html">psb_barrier Sinchronization</A>
|
||||
<B> Up:</B> <A NAME="tex2html1557"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1551"
|
||||
HREF="node103.html">psb_get_rank Get</A>
|
||||
<B> <A NAME="tex2html1559"
|
||||
<B> Next:</B> <A NAME="tex2html1564"
|
||||
HREF="node105.html">psb_wtime Wall</A>
|
||||
<B> Up:</B> <A NAME="tex2html1560"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1554"
|
||||
HREF="node103.html">psb_get_mpicomm Get</A>
|
||||
<B> <A NAME="tex2html1562"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00086000000000000000">
|
||||
psb_wtime -- Wall clock timing</A>
|
||||
<H2><A NAME="SECTION00085000000000000000">
|
||||
psb_get_rank -- Get the MPI rank</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
time = psb_wtime()
|
||||
call psb_get_rank(rank, icontxt, id)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This function returns a wall clock timer. The resolution of the timer
|
||||
is dependent on the underlying parallel environment implementation.
|
||||
This subroutine returns the MPI rank of the PSBLAS process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img129.png"
|
||||
ALT="$id$"></SPAN>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Exit </B></STRONG></DT>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>the elapsed time in seconds.
|
||||
<DT><STRONG>icontxt</STRONG></DT>
|
||||
<DD>the communication context identifying the virtual
|
||||
parallel machine.
|
||||
<BR>
|
||||
Returned as: a <code>real(psb_dpk_)</code> variable.
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>id</STRONG></DT>
|
||||
<DD>Identifier of a process in the PSBLAS virtual parallel machine.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. <!-- MATH
|
||||
$0 \le id \le np-1$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="113" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img130.png"
|
||||
ALT="$0 \le id \le np-1$"></SPAN> </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>rank</STRONG></DT>
|
||||
<DD>The MPI rank associated with the PSBLAS process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img129.png"
|
||||
ALT="$id$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
+31
-42
@@ -1,87 +1,76 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_barrier -- Sinchronization point parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_barrier -- Sinchronization point parallel environment">
|
||||
<TITLE>psb_wtime -- Wall clock timing</TITLE>
|
||||
<META NAME="description" CONTENT="psb_wtime -- Wall clock timing">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node106.html">
|
||||
<LINK REL="previous" HREF="node104.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node106.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1572"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1575"
|
||||
HREF="node106.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1568"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1571"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1562"
|
||||
<A NAME="tex2html1565"
|
||||
HREF="node104.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1570"
|
||||
<A NAME="tex2html1573"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1573"
|
||||
HREF="node106.html">psb_abort Abort</A>
|
||||
<B> Up:</B> <A NAME="tex2html1569"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1563"
|
||||
HREF="node104.html">psb_wtime Wall</A>
|
||||
<B> <A NAME="tex2html1571"
|
||||
<B> Next:</B> <A NAME="tex2html1576"
|
||||
HREF="node106.html">psb_barrier Sinchronization</A>
|
||||
<B> Up:</B> <A NAME="tex2html1572"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1566"
|
||||
HREF="node104.html">psb_get_rank Get</A>
|
||||
<B> <A NAME="tex2html1574"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00087000000000000000">
|
||||
psb_barrier -- Sinchronization point parallel
|
||||
environment</A>
|
||||
<H2><A NAME="SECTION00086000000000000000">
|
||||
psb_wtime -- Wall clock timing</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_barrier(icontxt)
|
||||
time = psb_wtime()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine acts as an explicit synchronization point for the PSBLAS
|
||||
parallel virtual machine.
|
||||
This function returns a wall clock timer. The resolution of the timer
|
||||
is dependent on the underlying parallel environment implementation.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DT><STRONG><B>On Exit </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>icontxt</STRONG></DT>
|
||||
<DD>the communication context identifying the virtual
|
||||
parallel machine.
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>the elapsed time in seconds.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
Returned as: a <code>real(psb_dpk_)</code> variable.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+28
-29
@@ -1,70 +1,69 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_abort -- Abort a computation</TITLE>
|
||||
<META NAME="description" CONTENT="psb_abort -- Abort a computation">
|
||||
<TITLE>psb_barrier -- Sinchronization point parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_barrier -- Sinchronization point parallel environment">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node107.html">
|
||||
<LINK REL="previous" HREF="node105.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node107.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1584"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1587"
|
||||
HREF="node107.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1580"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1583"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1574"
|
||||
<A NAME="tex2html1577"
|
||||
HREF="node105.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1582"
|
||||
<A NAME="tex2html1585"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1585"
|
||||
HREF="node107.html">psb_bcast Broadcast</A>
|
||||
<B> Up:</B> <A NAME="tex2html1581"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1575"
|
||||
HREF="node105.html">psb_barrier Sinchronization</A>
|
||||
<B> <A NAME="tex2html1583"
|
||||
<B> Next:</B> <A NAME="tex2html1588"
|
||||
HREF="node107.html">psb_abort Abort</A>
|
||||
<B> Up:</B> <A NAME="tex2html1584"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1578"
|
||||
HREF="node105.html">psb_wtime Wall</A>
|
||||
<B> <A NAME="tex2html1586"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00088000000000000000">
|
||||
psb_abort -- Abort a computation</A>
|
||||
<H2><A NAME="SECTION00087000000000000000">
|
||||
psb_barrier -- Sinchronization point parallel
|
||||
environment</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_abort(icontxt)
|
||||
call psb_barrier(icontxt)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine aborts computation on the parallel virtual machine.
|
||||
This subroutine acts as an explicit synchronization point for the PSBLAS
|
||||
parallel virtual machine.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
|
||||
+27
-102
@@ -1,71 +1,67 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_bcast -- Broadcast data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_bcast -- Broadcast data">
|
||||
<TITLE>psb_abort -- Abort a computation</TITLE>
|
||||
<META NAME="description" CONTENT="psb_abort -- Abort a computation">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node108.html">
|
||||
<LINK REL="previous" HREF="node106.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node108.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1596"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1599"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1592"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1595"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1586"
|
||||
<A NAME="tex2html1589"
|
||||
HREF="node106.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1594"
|
||||
<A NAME="tex2html1597"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1597"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1593"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1587"
|
||||
HREF="node106.html">psb_abort Abort</A>
|
||||
<B> <A NAME="tex2html1595"
|
||||
<B> Next:</B> <A NAME="tex2html1600"
|
||||
HREF="node108.html">psb_bcast Broadcast</A>
|
||||
<B> Up:</B> <A NAME="tex2html1596"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1590"
|
||||
HREF="node106.html">psb_barrier Sinchronization</A>
|
||||
<B> <A NAME="tex2html1598"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00089000000000000000">
|
||||
psb_bcast -- Broadcast data</A>
|
||||
<H2><A NAME="SECTION00088000000000000000">
|
||||
psb_abort -- Abort a computation</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_bcast(icontxt, dat, root)
|
||||
call psb_abort(icontxt)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a broadcast operation based on the
|
||||
underlying communication library.
|
||||
This subroutine aborts computation on the parallel virtual machine.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
@@ -82,81 +78,10 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On the root process, the data to be broadcast.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
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 variable,
|
||||
which may be a scalar or rank 1 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Root process holding data to be broadcast.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="153" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img131.png"
|
||||
ALT="$0<= root <= np-1$">, default 0 </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On processes other than root, the data to be broadcast.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
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, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1596"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1592"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1586"
|
||||
HREF="node106.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1594"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1597"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1593"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1587"
|
||||
HREF="node106.html">psb_abort Abort</A>
|
||||
<B> <A NAME="tex2html1595"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+37
-80
@@ -1,67 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_sum -- Global sum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_sum -- Global sum">
|
||||
<TITLE>psb_bcast -- Broadcast data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_bcast -- Broadcast data">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node109.html">
|
||||
<LINK REL="previous" HREF="node107.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node109.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1608"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1611"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1604"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1607"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1598"
|
||||
<A NAME="tex2html1601"
|
||||
HREF="node107.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1606"
|
||||
<A NAME="tex2html1609"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1609"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1605"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1599"
|
||||
HREF="node107.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1607"
|
||||
<B> Next:</B> <A NAME="tex2html1612"
|
||||
HREF="node109.html">psb_sum Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1608"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1602"
|
||||
HREF="node107.html">psb_abort Abort</A>
|
||||
<B> <A NAME="tex2html1610"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000810000000000000000">
|
||||
psb_sum -- Global sum</A>
|
||||
<H2><A NAME="SECTION00089000000000000000">
|
||||
psb_bcast -- Broadcast data</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_sum(icontxt, dat, root)
|
||||
call psb_bcast(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a sum reduction operation based on the
|
||||
This subroutine implements a broadcast operation based on the
|
||||
underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -83,7 +80,7 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The local contribution to the global sum.
|
||||
<DD>On the root process, the data to be broadcast.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -92,14 +89,11 @@ Type: <B>required</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
scalar, or a rank 1 or 2 array, or a character or logical variable,
|
||||
which may be a scalar or rank 1 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process to hold the final sum, or <IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> to make it available
|
||||
on all processes.
|
||||
<DD>Root process holding data to be broadcast.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -108,12 +102,12 @@ Type: <B>optional</B>.
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$-1<= root <= np-1$
|
||||
$0<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1. </DD>
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="153" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img131.png"
|
||||
ALT="$0<= root <= np-1$"></SPAN>, default 0 </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -122,7 +116,7 @@ Specified as: an integer value <!-- MATH
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On destination process(es), the result of the sum operation.
|
||||
<DD>On processes other than root, the data to be broadcast.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -131,49 +125,12 @@ Type: <B>required</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
scalar, or a rank 1 or 2 array, or a character or logical scalar. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
|
||||
<OL>
|
||||
<LI>The <code>dat</code> argument is both input and output, and its
|
||||
value may be changed even on processes different from the final
|
||||
result destination.
|
||||
</LI>
|
||||
<LI>The <code>dat</code> argument may also be a long integer scalar.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1608"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1604"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1598"
|
||||
HREF="node107.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1606"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1609"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1605"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1599"
|
||||
HREF="node107.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1607"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+55
-56
@@ -1,68 +1,65 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_max -- Global maximum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_max -- Global maximum">
|
||||
<TITLE>psb_sum -- Global sum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_sum -- Global sum">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node110.html">
|
||||
<LINK REL="previous" HREF="node108.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node110.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1620"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1623"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1616"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1619"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1610"
|
||||
<A NAME="tex2html1613"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1618"
|
||||
<A NAME="tex2html1621"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1621"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1617"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1611"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1619"
|
||||
<B> Next:</B> <A NAME="tex2html1624"
|
||||
HREF="node110.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1620"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1614"
|
||||
HREF="node108.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1622"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000811000000000000000">
|
||||
psb_max -- Global maximum</A>
|
||||
<H2><A NAME="SECTION000810000000000000000">
|
||||
psb_sum -- Global sum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_max(icontxt, dat, root)
|
||||
call psb_sum(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a maximum valuereduction
|
||||
operation based on the underlying communication library.
|
||||
This subroutine implements a sum reduction operation based on the
|
||||
underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
@@ -83,22 +80,22 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The local contribution to the global maximum.
|
||||
<DD>The local contribution to the global sum.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer or real 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. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process to hold the final maximum, or <IMG
|
||||
<DD>Process to hold the final sum, or <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> to make it available
|
||||
ALT="$-1$"></SPAN> to make it available
|
||||
on all processes.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
@@ -110,11 +107,10 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer value <!-- MATH
|
||||
$-1<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
<BR></DD>
|
||||
ALT="$-1<= root <= np-1$"></SPAN>, default -1. </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -123,21 +119,23 @@ Specified as: an integer value <!-- MATH
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On destination process(es), the result of the maximum operation.
|
||||
<DD>On destination process(es), the result of the sum operation.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer or real variable, which may be a
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>The <code>dat</code> argument is both input and output, and its
|
||||
@@ -149,29 +147,30 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1620"
|
||||
<A NAME="tex2html1623"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1616"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1619"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1610"
|
||||
<A NAME="tex2html1613"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1618"
|
||||
<A NAME="tex2html1621"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1621"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1617"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1611"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1619"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1624"
|
||||
HREF="node110.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1620"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1614"
|
||||
HREF="node108.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1622"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+14
-17
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Descriptor Methods</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html373"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html376"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html369"
|
||||
<A NAME="tex2html372"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html363"
|
||||
<A NAME="tex2html366"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html371"
|
||||
<A NAME="tex2html374"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html374"
|
||||
<B> Next:</B> <A NAME="tex2html377"
|
||||
HREF="node12.html">get_local_rows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html370"
|
||||
<B> Up:</B> <A NAME="tex2html373"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html364"
|
||||
<B> Previous:</B> <A NAME="tex2html367"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> <A NAME="tex2html372"
|
||||
<B> <A NAME="tex2html375"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041100000000000000">
|
||||
|
||||
+51
-55
@@ -1,67 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_min -- Global minimum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_min -- Global minimum">
|
||||
<TITLE>psb_max -- Global maximum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_max -- Global maximum">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node111.html">
|
||||
<LINK REL="previous" HREF="node109.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node111.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1632"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1635"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1628"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1631"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1622"
|
||||
<A NAME="tex2html1625"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1630"
|
||||
<A NAME="tex2html1633"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1633"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1629"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1623"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1631"
|
||||
<B> Next:</B> <A NAME="tex2html1636"
|
||||
HREF="node111.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1632"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1626"
|
||||
HREF="node109.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1634"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000812000000000000000">
|
||||
psb_min -- Global minimum</A>
|
||||
<H2><A NAME="SECTION000811000000000000000">
|
||||
psb_max -- Global maximum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_min(icontxt, dat, root)
|
||||
call psb_max(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a minimum value reduction
|
||||
This subroutine implements a maximum valuereduction
|
||||
operation based on the underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -83,7 +80,7 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The local contribution to the global minimum.
|
||||
<DD>The local contribution to the global maximum.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
@@ -91,14 +88,14 @@ Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer or real variable, which may be a
|
||||
Specified as: an integer or real variable, which may be a
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process to hold the final value, or <IMG
|
||||
<DD>Process to hold the final maximum, or <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> to make it available
|
||||
ALT="$-1$"></SPAN> to make it available
|
||||
on all processes.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
@@ -110,10 +107,10 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer value <!-- MATH
|
||||
$-1<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
ALT="$-1<= root <= np-1$"></SPAN>, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -123,23 +120,21 @@ Specified as: an integer value <!-- MATH
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On destination process(es), the result of the minimum operation.
|
||||
<DD>On destination process(es), the result of the maximum operation.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer or real variable, which may be a
|
||||
scalar, or a rank 1 or 2 array.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
Specified as: an integer or real variable, which may be a
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>The <code>dat</code> argument is both input and output, and its
|
||||
@@ -151,29 +146,30 @@ Type, kind, rank and size must agree on all processes.
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1632"
|
||||
<A NAME="tex2html1635"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1628"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1631"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1622"
|
||||
<A NAME="tex2html1625"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1630"
|
||||
<A NAME="tex2html1633"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1633"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1629"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1623"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1631"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1636"
|
||||
HREF="node111.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1632"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1626"
|
||||
HREF="node109.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1634"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+52
-52
@@ -1,67 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_amx -- Global maximum absolute value</TITLE>
|
||||
<META NAME="description" CONTENT="psb_amx -- Global maximum absolute value">
|
||||
<TITLE>psb_min -- Global minimum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_min -- Global minimum">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node112.html">
|
||||
<LINK REL="previous" HREF="node110.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node112.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1644"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1647"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1640"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1643"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1634"
|
||||
<A NAME="tex2html1637"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1642"
|
||||
<A NAME="tex2html1645"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1645"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1641"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1635"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1643"
|
||||
<B> Next:</B> <A NAME="tex2html1648"
|
||||
HREF="node112.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1644"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1638"
|
||||
HREF="node110.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1646"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000813000000000000000">
|
||||
psb_amx -- Global maximum absolute value</A>
|
||||
<H2><A NAME="SECTION000812000000000000000">
|
||||
psb_min -- Global minimum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_amx(icontxt, dat, root)
|
||||
call psb_min(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a maximum absolute value reduction
|
||||
This subroutine implements a minimum value reduction
|
||||
operation based on the underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -83,7 +80,7 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The local contribution to the global maximum.
|
||||
<DD>The local contribution to the global minimum.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
@@ -91,14 +88,14 @@ Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
Specified as: an integer or real variable, which may be a
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process to hold the final value, or <IMG
|
||||
<DD>Process to hold the final value, or <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> to make it available
|
||||
ALT="$-1$"></SPAN> to make it available
|
||||
on all processes.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
@@ -110,10 +107,10 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer value <!-- MATH
|
||||
$-1<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
ALT="$-1<= root <= np-1$"></SPAN>, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -123,7 +120,7 @@ Specified as: an integer value <!-- MATH
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On destination process(es), the result of the maximum operation.
|
||||
<DD>On destination process(es), the result of the minimum operation.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -131,13 +128,15 @@ Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
Specified as: an integer or real variable, which may be a
|
||||
scalar, or a rank 1 or 2 array.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>The <code>dat</code> argument is both input and output, and its
|
||||
@@ -149,29 +148,30 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1644"
|
||||
<A NAME="tex2html1647"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1640"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1643"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1634"
|
||||
<A NAME="tex2html1637"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1642"
|
||||
<A NAME="tex2html1645"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1645"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1641"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1635"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1643"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1648"
|
||||
HREF="node112.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1644"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1638"
|
||||
HREF="node110.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1646"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+48
-52
@@ -1,67 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_amn -- Global minimum absolute value</TITLE>
|
||||
<META NAME="description" CONTENT="psb_amn -- Global minimum absolute value">
|
||||
<TITLE>psb_amx -- Global maximum absolute value</TITLE>
|
||||
<META NAME="description" CONTENT="psb_amx -- Global maximum absolute value">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node113.html">
|
||||
<LINK REL="previous" HREF="node111.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node113.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1656"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1659"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1652"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1655"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1646"
|
||||
<A NAME="tex2html1649"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1654"
|
||||
<A NAME="tex2html1657"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1657"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1653"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1647"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1655"
|
||||
<B> Next:</B> <A NAME="tex2html1660"
|
||||
HREF="node113.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1656"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1650"
|
||||
HREF="node111.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1658"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000814000000000000000">
|
||||
psb_amn -- Global minimum absolute value</A>
|
||||
<H2><A NAME="SECTION000813000000000000000">
|
||||
psb_amx -- Global maximum absolute value</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_amn(icontxt, dat, root)
|
||||
call psb_amx(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a minimum absolute value reduction
|
||||
This subroutine implements a maximum absolute value reduction
|
||||
operation based on the underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -83,7 +80,7 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The local contribution to the global minimum.
|
||||
<DD>The local contribution to the global maximum.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
@@ -95,10 +92,10 @@ Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process to hold the final value, or <IMG
|
||||
<DD>Process to hold the final value, or <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> to make it available
|
||||
ALT="$-1$"></SPAN> to make it available
|
||||
on all processes.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
@@ -110,10 +107,10 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer value <!-- MATH
|
||||
$-1<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
ALT="$-1<= root <= np-1$"></SPAN>, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -123,7 +120,7 @@ Specified as: an integer value <!-- MATH
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On destination process(es), the result of the minimum operation.
|
||||
<DD>On destination process(es), the result of the maximum operation.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -132,14 +129,12 @@ Type: <B>required</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>The <code>dat</code> argument is both input and output, and its
|
||||
@@ -151,29 +146,30 @@ Type, kind, rank and size must agree on all processes.
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1656"
|
||||
<A NAME="tex2html1659"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1652"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1655"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1646"
|
||||
<A NAME="tex2html1649"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1654"
|
||||
<A NAME="tex2html1657"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1657"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1653"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1647"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1655"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1660"
|
||||
HREF="node113.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1656"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1650"
|
||||
HREF="node111.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1658"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+77
-91
@@ -1,70 +1,68 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_snd -- Send data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_snd -- Send data">
|
||||
<TITLE>psb_amn -- Global minimum absolute value</TITLE>
|
||||
<META NAME="description" CONTENT="psb_amn -- Global minimum absolute value">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node114.html">
|
||||
<LINK REL="previous" HREF="node112.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node114.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1668"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1671"
|
||||
HREF="node114.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1664"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1667"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1658"
|
||||
<A NAME="tex2html1661"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1666"
|
||||
<A NAME="tex2html1669"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1669"
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1665"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1659"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1667"
|
||||
<B> Next:</B> <A NAME="tex2html1672"
|
||||
HREF="node114.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1668"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1662"
|
||||
HREF="node112.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1670"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000815000000000000000">
|
||||
psb_snd -- Send data</A>
|
||||
<H2><A NAME="SECTION000814000000000000000">
|
||||
psb_amn -- Global minimum absolute value</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_snd(icontxt, dat, dst, m)
|
||||
call psb_amn(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine sends a packet of data to a destination.
|
||||
This subroutine implements a minimum absolute value reduction
|
||||
operation based on the underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous: see usage notes.
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
@@ -82,65 +80,38 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The data to be sent.
|
||||
<DD>The local contribution to the global minimum.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
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
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img133.png"
|
||||
ALT="$m$"> is
|
||||
not specified, size must agree as well.
|
||||
scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
<DT><STRONG>dst</STRONG></DT>
|
||||
<DD>Destination process.
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process to hold the final value, or <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"></SPAN> to make it available
|
||||
on all processes.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= dst <= np-1$
|
||||
$-1<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="145" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img134.png"
|
||||
ALT="$0<= dst <= np-1$">.
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$"></SPAN>, default -1.
|
||||
<BR></DD>
|
||||
<DT><STRONG>m</STRONG></DT>
|
||||
<DD>Number of rows.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>Optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= m <= size(dat,1)$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img135.png"
|
||||
ALT="$0<= m <= size(dat,1)$">.
|
||||
<BR>
|
||||
When <IMG
|
||||
WIDTH="26" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img136.png"
|
||||
ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent
|
||||
independently of the leading dimension <IMG
|
||||
WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img137.png"
|
||||
ALT="$size(dat,1)$">; must have the
|
||||
same value on sending and receiving processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -148,44 +119,59 @@ same value on sending and receiving processes.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On destination process(es), the result of the minimum operation.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer, real or complex variable, which may be a
|
||||
scalar, or a rank 1 or 2 array.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>This subroutine implies a synchronization, but only between the
|
||||
calling process and the destination process <IMG
|
||||
WIDTH="25" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img138.png"
|
||||
ALT="$dst$">.
|
||||
<LI>The <code>dat</code> argument is both input and output, and its
|
||||
value may be changed even on processes different from the final
|
||||
result destination.
|
||||
</LI>
|
||||
<LI>The <code>dat</code> argument may also be a long integer scalar.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1668"
|
||||
<A NAME="tex2html1671"
|
||||
HREF="node114.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1664"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1667"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1658"
|
||||
<A NAME="tex2html1661"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1666"
|
||||
<A NAME="tex2html1669"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1669"
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1665"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1659"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1667"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1672"
|
||||
HREF="node114.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1668"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1662"
|
||||
HREF="node112.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1670"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+76
-77
@@ -1,69 +1,67 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_rcv -- Receive data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_rcv -- Receive data">
|
||||
<TITLE>psb_snd -- Send data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_snd -- Send data">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node115.html">
|
||||
<LINK REL="previous" HREF="node113.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node115.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1678"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1683"
|
||||
HREF="node115.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1674"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1679"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1670"
|
||||
<A NAME="tex2html1673"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1676"
|
||||
<A NAME="tex2html1681"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1679"
|
||||
HREF="node115.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1675"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1671"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1677"
|
||||
<B> Next:</B> <A NAME="tex2html1684"
|
||||
HREF="node115.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1680"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1674"
|
||||
HREF="node113.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1682"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000816000000000000000">
|
||||
psb_rcv -- Receive data</A>
|
||||
<H2><A NAME="SECTION000815000000000000000">
|
||||
psb_snd -- Send data</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_rcv(icontxt, dat, src, m)
|
||||
call psb_snd(icontxt, dat, dst, m)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine receives a packet of data to a destination.
|
||||
This subroutine sends a packet of data to a destination.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous: see usage notes.
|
||||
<DD>Synchronous: see usage notes.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
@@ -80,8 +78,24 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>src</STRONG></DT>
|
||||
<DD>Source process.
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The data to be sent.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
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 <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img133.png"
|
||||
ALT="$m$"></SPAN> is
|
||||
not specified, size must agree as well.
|
||||
</DD>
|
||||
<DT><STRONG>dst</STRONG></DT>
|
||||
<DD>Destination process.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -90,12 +104,12 @@ Type: <B>required</B>.
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= src <= np-1$
|
||||
$0<= dst <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="147" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img139.png"
|
||||
ALT="$0<= src <= np-1$">.
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="145" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img134.png"
|
||||
ALT="$0<= dst <= np-1$"></SPAN>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>m</STRONG></DT>
|
||||
<DD>Number of rows.
|
||||
@@ -109,19 +123,19 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= m <= size(dat,1)$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img135.png"
|
||||
ALT="$0<= m <= size(dat,1)$">.
|
||||
ALT="$0<= m <= size(dat,1)$"></SPAN>.
|
||||
<BR>
|
||||
When <IMG
|
||||
When <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img136.png"
|
||||
ALT="$dat$"> is a rank 2 array, specifies the number of rows to be sent
|
||||
independently of the leading dimension <IMG
|
||||
ALT="$dat$"></SPAN> is a rank 2 array, specifies the number of rows to be sent
|
||||
independently of the leading dimension <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img137.png"
|
||||
ALT="$size(dat,1)$">; must have the
|
||||
ALT="$size(dat,1)$"></SPAN>; must have the
|
||||
same value on sending and receiving processes.
|
||||
</DD>
|
||||
</DL>
|
||||
@@ -131,60 +145,45 @@ same value on sending and receiving processes.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The data to be received.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
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
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img133.png"
|
||||
ALT="$m$"> is
|
||||
not specified, size must agree as well.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>This subroutine implies a synchronization, but only between the
|
||||
calling process and the source process <IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img140.png"
|
||||
ALT="$src$">.
|
||||
calling process and the destination process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="25" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img138.png"
|
||||
ALT="$dst$"></SPAN>.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1678"
|
||||
<A NAME="tex2html1683"
|
||||
HREF="node115.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1674"
|
||||
HREF="node98.html">
|
||||
<A NAME="tex2html1679"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1670"
|
||||
<A NAME="tex2html1673"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1676"
|
||||
<A NAME="tex2html1681"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1679"
|
||||
HREF="node115.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1675"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1671"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1677"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1684"
|
||||
HREF="node115.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1680"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1674"
|
||||
HREF="node113.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1682"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+116
-271
@@ -1,343 +1,188 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Error handling</TITLE>
|
||||
<META NAME="description" CONTENT="Error handling">
|
||||
<TITLE>psb_rcv -- Receive data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_rcv -- Receive data">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node116.html">
|
||||
<LINK REL="previous" HREF="node98.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="previous" HREF="node114.html">
|
||||
<LINK REL="up" HREF="node99.html">
|
||||
<LINK REL="next" HREF="node116.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1690"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1693"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1686"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1689"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1680"
|
||||
<A NAME="tex2html1685"
|
||||
HREF="node114.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1688"
|
||||
<A NAME="tex2html1691"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1691"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1687"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1681"
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1689"
|
||||
<B> Next:</B> <A NAME="tex2html1694"
|
||||
HREF="node116.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1690"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1686"
|
||||
HREF="node114.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1692"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00090000000000000000">
|
||||
Error handling</A>
|
||||
</H1>
|
||||
<H2><A NAME="SECTION000816000000000000000">
|
||||
psb_rcv -- Receive data</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
The PSBLAS library error handling policy has been completely rewritten
|
||||
in version 2.0. The idea behind the design of this new error handling
|
||||
strategy is to keep error messages on a stack allowing the user to
|
||||
trace back up to the point where the first error message has been
|
||||
generated. Every routine in the PSBLAS-2.0 library has, as last
|
||||
non-optional argument, an integer <code>info</code> variable; whenever,
|
||||
inside the routine, an error is detected, this variable is set to a
|
||||
value corresponding to a specific error code. Then this error code is
|
||||
also pushed on the error stack and then either control is returned to
|
||||
the caller routine or the execution is aborted, depending on the users
|
||||
choice. At the time when the execution is aborted, an error message is
|
||||
printed on standard output with a level of verbosity than can be
|
||||
chosen by the user. If the execution is not aborted, then, the caller
|
||||
routine checks the value returned in the <code>info</code> variable and, if
|
||||
not zero, an error condition is raised. This process continues on all the
|
||||
levels of nested calls until the level where the user decides to abort
|
||||
the program execution.
|
||||
|
||||
<P>
|
||||
Figure <A HREF="#fig:routerr">9</A> shows the layout of a generic <code>psb_foo</code>
|
||||
routine with respect to the PSBLAS-2.0 error handling policy. It is
|
||||
possible to see how, whenever an error condition is detected, the
|
||||
<code>info</code> variable is set to the corresponding error code which is,
|
||||
then, pushed on top of the stack by means of the
|
||||
<code>psb_errpush</code>. An error condition may be directly detected inside
|
||||
a routine or indirectly checking the error code returned returned by a
|
||||
called routine. Whenever an error is encountered, after it has been
|
||||
pushed on stack, the program execution skips to a point where the
|
||||
error condition is handled; the error condition is handled either by
|
||||
returning control to the caller routine or by calling the
|
||||
<code>psb\_error</code> routine which prints the content of the error stack
|
||||
and aborts the program execution, according to the choice made by the
|
||||
user with <code>psb_set_erraction</code>. The default is to print the error
|
||||
and terminate the program, but the user may choose to handle the error
|
||||
explicitly.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="7222"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG>
|
||||
The layout of a generic <TT>psb_foo</TT>
|
||||
routine with respect to PSBLAS-2.0 error handling policy.</CAPTION>
|
||||
<TR><TD>
|
||||
<BR>
|
||||
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
$\fbox{\TheSbox}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="562" HEIGHT="482" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img142.png"
|
||||
ALT="\fbox{\TheSbox}">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
Figure <A HREF="#fig:errormsg">10</A> reports a sample error message generated by
|
||||
the PSBLAS-2.0 library. This error has been generated by the fact that
|
||||
the user has chosen the invalid ``FOO'' storage format to represent
|
||||
the sparse matrix. From this error message it is possible to see that
|
||||
the error has been detected inside the <code>psb_cest</code> subroutine
|
||||
called by <code>psb_spasb</code> ... by process 0 (i.e. the root process).
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="7223"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG>
|
||||
A sample PSBLAS-2.0 error
|
||||
message. Process 0 detected an error condition inside the psb_cest subroutine</CAPTION>
|
||||
<TR><TD>
|
||||
<BR>
|
||||
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
$\fbox{\TheSbox}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="562" HEIGHT="482" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img142.png"
|
||||
ALT="\fbox{\TheSbox}">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_errpushPushes an error code onto the error
|
||||
stack
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="423" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img144.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_errpush(err_c, r_name, i_err, a_err)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
<PRE>
|
||||
call psb_rcv(icontxt, dat, src, m)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine receives a packet of data to a destination.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
<DD>Synchronous: see usage notes.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>err_c</STRONG></DT>
|
||||
<DD>the error code
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
</DD>
|
||||
<DT><STRONG>r_name</STRONG></DT>
|
||||
<DD>the soutine where the error has been caught.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a string.
|
||||
<BR></DD>
|
||||
<DT><STRONG>i_err</STRONG></DT>
|
||||
<DD>addional info for error code
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Specified as: an integer array
|
||||
<BR></DD>
|
||||
<DT><STRONG>a_err</STRONG></DT>
|
||||
<DD>addional info for error code
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Specified as: a string.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_errorPrints the error stack content and aborts
|
||||
execution
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="214" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img145.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_error(icontxt)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>icontxt</STRONG></DT>
|
||||
<DD>the communication context.
|
||||
<DD>the communication context identifying the virtual
|
||||
parallel machine.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>src</STRONG></DT>
|
||||
<DD>Source process.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= src <= np-1$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="147" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img139.png"
|
||||
ALT="$0<= src <= np-1$"></SPAN>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>m</STRONG></DT>
|
||||
<DD>Number of rows.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>Optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= m <= size(dat,1)$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="172" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img135.png"
|
||||
ALT="$0<= m <= size(dat,1)$"></SPAN>.
|
||||
<BR>
|
||||
When <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img136.png"
|
||||
ALT="$dat$"></SPAN> is a rank 2 array, specifies the number of rows to be sent
|
||||
independently of the leading dimension <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="83" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img137.png"
|
||||
ALT="$size(dat,1)$"></SPAN>; must have the
|
||||
same value on sending and receiving processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_set_errverbositySets the verbosity of error
|
||||
messages.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="261" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img146.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_set_errverbosity(v)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the verbosity level
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The data to be received.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
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 <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img133.png"
|
||||
ALT="$m$"></SPAN> is
|
||||
not specified, size must agree as well.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_set_erractionSet the type of action to be
|
||||
taken upon error condition.
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
|
||||
<OL>
|
||||
<LI>This subroutine implies a synchronization, but only between the
|
||||
calling process and the source process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img140.png"
|
||||
ALT="$src$"></SPAN>.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="291" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img147.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_set_erraction(err_act)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>err_act</STRONG></DT>
|
||||
<DD>the type of action.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer. Possible values: <code>psb_act_ret</code>,
|
||||
<code>psb_act_abort</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1690"
|
||||
<A NAME="tex2html1693"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1686"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1689"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1680"
|
||||
<A NAME="tex2html1685"
|
||||
HREF="node114.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1688"
|
||||
<A NAME="tex2html1691"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1691"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1687"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1681"
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1689"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1694"
|
||||
HREF="node116.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1690"
|
||||
HREF="node99.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1686"
|
||||
HREF="node114.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1692"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+303
-55
@@ -1,94 +1,342 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Utilities</TITLE>
|
||||
<META NAME="description" CONTENT="Utilities">
|
||||
<TITLE>Error handling</TITLE>
|
||||
<META NAME="description" CONTENT="Error handling">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node123.html">
|
||||
<LINK REL="previous" HREF="node115.html">
|
||||
<LINK REL="next" HREF="node117.html">
|
||||
<LINK REL="previous" HREF="node99.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node117.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1702"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1705"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1698"
|
||||
<A NAME="tex2html1701"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1692"
|
||||
<A NAME="tex2html1695"
|
||||
HREF="node115.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1700"
|
||||
<A NAME="tex2html1703"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1703"
|
||||
HREF="node117.html">hb_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1699"
|
||||
<B> Next:</B> <A NAME="tex2html1706"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1702"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1693"
|
||||
HREF="node115.html">Error handling</A>
|
||||
<B> <A NAME="tex2html1701"
|
||||
<B> Previous:</B> <A NAME="tex2html1696"
|
||||
HREF="node115.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1704"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION000100000000000000000"></A>
|
||||
<A NAME="sec:util"></A>
|
||||
<BR>
|
||||
Utilities
|
||||
<H1><A NAME="SECTION00090000000000000000">
|
||||
Error handling</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
We have some utitlities available for input and output of
|
||||
sparse matrices; the interfaces to these routines are available in the
|
||||
module <code>psb_util_mod</code>.
|
||||
The PSBLAS library error handling policy has been completely rewritten
|
||||
in version 2.0. The idea behind the design of this new error handling
|
||||
strategy is to keep error messages on a stack allowing the user to
|
||||
trace back up to the point where the first error message has been
|
||||
generated. Every routine in the PSBLAS-2.0 library has, as last
|
||||
non-optional argument, an integer <code>info</code> variable; whenever,
|
||||
inside the routine, an error is detected, this variable is set to a
|
||||
value corresponding to a specific error code. Then this error code is
|
||||
also pushed on the error stack and then either control is returned to
|
||||
the caller routine or the execution is aborted, depending on the users
|
||||
choice. At the time when the execution is aborted, an error message is
|
||||
printed on standard output with a level of verbosity than can be
|
||||
chosen by the user. If the execution is not aborted, then, the caller
|
||||
routine checks the value returned in the <code>info</code> variable and, if
|
||||
not zero, an error condition is raised. This process continues on all the
|
||||
levels of nested calls until the level where the user decides to abort
|
||||
the program execution.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
Figure <A HREF="#fig:routerr">9</A> shows the layout of a generic <code>psb_foo</code>
|
||||
routine with respect to the PSBLAS-2.0 error handling policy. It is
|
||||
possible to see how, whenever an error condition is detected, the
|
||||
<code>info</code> variable is set to the corresponding error code which is,
|
||||
then, pushed on top of the stack by means of the
|
||||
<code>psb_errpush</code>. An error condition may be directly detected inside
|
||||
a routine or indirectly checking the error code returned returned by a
|
||||
called routine. Whenever an error is encountered, after it has been
|
||||
pushed on stack, the program execution skips to a point where the
|
||||
error condition is handled; the error condition is handled either by
|
||||
returning control to the caller routine or by calling the
|
||||
<code>psb\_error</code> routine which prints the content of the error stack
|
||||
and aborts the program execution, according to the choice made by the
|
||||
user with <code>psb_set_erraction</code>. The default is to print the error
|
||||
and terminate the program, but the user may choose to handle the error
|
||||
explicitly.
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1704"
|
||||
HREF="node117.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html1705"
|
||||
HREF="node118.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html1706"
|
||||
HREF="node119.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1707"
|
||||
HREF="node120.html">mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1708"
|
||||
HREF="node121.html">mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1709"
|
||||
HREF="node122.html">mm_array_write -- Write a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:routerr"></A><A NAME="7265"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 9:</STRONG>
|
||||
The layout of a generic <TT>psb_foo</TT>
|
||||
routine with respect to PSBLAS-2.0 error handling policy.</CAPTION>
|
||||
<TR><TD>
|
||||
<BR>
|
||||
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
$\fbox{\TheSbox}$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="562" HEIGHT="482" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img142.png"
|
||||
ALT="\fbox{\TheSbox}"></SPAN>
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
Figure <A HREF="#fig:errormsg">10</A> reports a sample error message generated by
|
||||
the PSBLAS-2.0 library. This error has been generated by the fact that
|
||||
the user has chosen the invalid “FOO” storage format to represent
|
||||
the sparse matrix. From this error message it is possible to see that
|
||||
the error has been detected inside the <code>psb_cest</code> subroutine
|
||||
called by <code>psb_spasb</code> ... by process 0 (i.e. the root process).
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:errormsg"></A><A NAME="7266"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 10:</STRONG>
|
||||
A sample PSBLAS-2.0 error
|
||||
message. Process 0 detected an error condition inside the psb_cest subroutine</CAPTION>
|
||||
<TR><TD>
|
||||
<BR>
|
||||
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
$\fbox{\TheSbox}$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="562" HEIGHT="482" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img142.png"
|
||||
ALT="\fbox{\TheSbox}"></SPAN>
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_errpushPushes an error code onto the error
|
||||
stack
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="423" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img144.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_errpush(err_c, r_name, i_err, a_err)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>err_c</STRONG></DT>
|
||||
<DD>the error code
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
</DD>
|
||||
<DT><STRONG>r_name</STRONG></DT>
|
||||
<DD>the soutine where the error has been caught.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a string.
|
||||
<BR></DD>
|
||||
<DT><STRONG>i_err</STRONG></DT>
|
||||
<DD>addional info for error code
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Specified as: an integer array
|
||||
<BR></DD>
|
||||
<DT><STRONG>a_err</STRONG></DT>
|
||||
<DD>addional info for error code
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Specified as: a string.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_errorPrints the error stack content and aborts
|
||||
execution
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="214" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img145.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_error(icontxt)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>icontxt</STRONG></DT>
|
||||
<DD>the communication context.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_set_errverbositySets the verbosity of error
|
||||
messages.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="261" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img146.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_set_errverbosity(v)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the verbosity level
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_set_erractionSet the type of action to be
|
||||
taken upon error condition.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="291" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img147.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_set_erraction(err_act)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>err_act</STRONG></DT>
|
||||
<DD>the type of action.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer. Possible values: <code>psb_act_ret</code>,
|
||||
<code>psb_act_abort</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1705"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1701"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1695"
|
||||
HREF="node115.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1703"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1706"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1702"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1696"
|
||||
HREF="node115.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1704"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+59
-129
@@ -1,161 +1,91 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>hb_read -- Read a sparse matrix from a file in the Harwell-Boeing format</TITLE>
|
||||
<META NAME="description" CONTENT="hb_read -- Read a sparse matrix from a file in the Harwell-Boeing format">
|
||||
<TITLE>Utilities</TITLE>
|
||||
<META NAME="description" CONTENT="Utilities">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node118.html">
|
||||
<LINK REL="next" HREF="node124.html">
|
||||
<LINK REL="previous" HREF="node116.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node118.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1720"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1717"
|
||||
HREF="node118.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1716"
|
||||
HREF="node116.html">
|
||||
<A NAME="tex2html1713"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1710"
|
||||
<A NAME="tex2html1707"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1718"
|
||||
<A NAME="tex2html1715"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1721"
|
||||
HREF="node118.html">hb_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1717"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1711"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> <A NAME="tex2html1719"
|
||||
<B> Next:</B> <A NAME="tex2html1718"
|
||||
HREF="node118.html">hb_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1714"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1708"
|
||||
HREF="node116.html">Error handling</A>
|
||||
<B> <A NAME="tex2html1716"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000101000000000000000">
|
||||
hb_read -- Read a sparse matrix from a file in the
|
||||
<H1><A NAME="SECTION000100000000000000000"></A>
|
||||
<A NAME="sec:util"></A>
|
||||
<BR>
|
||||
Utilities
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
We have some utitlities available for input and output of
|
||||
sparse matrices; the interfaces to these routines are available in the
|
||||
module <code>psb_util_mod</code>.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html1719"
|
||||
HREF="node118.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="462" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img148.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call hb_read(a, iret, iunit, filename, b, mtitle)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>filename</STRONG></DT>
|
||||
<DD>The name of the file to be read.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a character variable containing a valid file name, or
|
||||
<code>-</code>, in which case the default input unit 5 (i.e. standard input
|
||||
in Unix jargon) is used. Default: <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
<DD>The Fortran file unit number.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. Only meaningful if filename is not <code>-</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix read from file.
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
An array of type real or complex, rank 2 and having the ALLOCATABLE
|
||||
attribute; will be allocated and filled in if the input file contains
|
||||
a right hand side, otherwise will be left in the UNALLOCATED state.
|
||||
</DD>
|
||||
<DT><STRONG>mtitle</STRONG></DT>
|
||||
<DD>Matrix title.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
A charachter variable of length 72 holding a copy of the
|
||||
matrix title as specified by the Harwell-Boeing format and contained
|
||||
in the input file.
|
||||
</DD>
|
||||
<DT><STRONG>iret</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1720"
|
||||
HREF="node118.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1716"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1710"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1718"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1721"
|
||||
HREF="node118.html">hb_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1717"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1711"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> <A NAME="tex2html1719"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<LI><A NAME="tex2html1720"
|
||||
HREF="node119.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html1721"
|
||||
HREF="node120.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1722"
|
||||
HREF="node121.html">mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1723"
|
||||
HREF="node122.html">mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1724"
|
||||
HREF="node123.html">mm_array_write -- Write a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+69
-80
@@ -1,68 +1,65 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>hb_write -- Write a sparse matrix to a file in the Harwell-Boeing format</TITLE>
|
||||
<META NAME="description" CONTENT="hb_write -- Write a sparse matrix to a file in the Harwell-Boeing format">
|
||||
<TITLE>hb_read -- Read a sparse matrix from a file in the Harwell-Boeing format</TITLE>
|
||||
<META NAME="description" CONTENT="hb_read -- Read a sparse matrix from a file in the Harwell-Boeing format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node119.html">
|
||||
<LINK REL="previous" HREF="node117.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="up" HREF="node117.html">
|
||||
<LINK REL="next" HREF="node119.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1732"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1735"
|
||||
HREF="node119.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1728"
|
||||
HREF="node116.html">
|
||||
<A NAME="tex2html1731"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1722"
|
||||
<A NAME="tex2html1725"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1730"
|
||||
<A NAME="tex2html1733"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1733"
|
||||
HREF="node119.html">mm_mat_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1729"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1723"
|
||||
HREF="node117.html">hb_read Read</A>
|
||||
<B> <A NAME="tex2html1731"
|
||||
<B> Next:</B> <A NAME="tex2html1736"
|
||||
HREF="node119.html">hb_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1732"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1726"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> <A NAME="tex2html1734"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000102000000000000000">
|
||||
hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
<H2><A NAME="SECTION000101000000000000000">
|
||||
hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="539" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img149.png"
|
||||
WIDTH="462" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img148.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
|
||||
call hb_read(a, iret, iunit, filename, b, mtitle)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
@@ -74,29 +71,13 @@ call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix to be written.
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
An array of type real or complex, rank 1 and having the ALLOCATABLE
|
||||
attribute; will be allocated and filled in if the input file contains
|
||||
a right hand side.
|
||||
</DD>
|
||||
<DT><STRONG>filename</STRONG></DT>
|
||||
<DD>The name of the file to be written to.
|
||||
<DD>The name of the file to be read.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a character variable containing a valid file name, or
|
||||
<code>-</code>, in which case the default output unit 6 (i.e. standard output
|
||||
<code>-</code>, in which case the default input unit 5 (i.e. standard input
|
||||
in Unix jargon) is used. Default: <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
@@ -106,24 +87,6 @@ Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. Only meaningful if filename is not <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>key</STRONG></DT>
|
||||
<DD>Matrix key.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
A charachter variable of length 8 holding the
|
||||
matrix key as specified by the Harwell-Boeing format and to be
|
||||
written to file.
|
||||
</DD>
|
||||
<DT><STRONG>mtitle</STRONG></DT>
|
||||
<DD>Matrix title.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
A charachter variable of length 72 holding the
|
||||
matrix title as specified by the Harwell-Boeing format and to be
|
||||
written to file.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -131,6 +94,31 @@ written to file.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix read from file.
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
An array of type real or complex, rank 2 and having the ALLOCATABLE
|
||||
attribute; will be allocated and filled in if the input file contains
|
||||
a right hand side, otherwise will be left in the UNALLOCATED state.
|
||||
</DD>
|
||||
<DT><STRONG>mtitle</STRONG></DT>
|
||||
<DD>Matrix title.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
A charachter variable of length 72 holding a copy of the
|
||||
matrix title as specified by the Harwell-Boeing format and contained
|
||||
in the input file.
|
||||
</DD>
|
||||
<DT><STRONG>iret</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
@@ -141,29 +129,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1732"
|
||||
<A NAME="tex2html1735"
|
||||
HREF="node119.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1728"
|
||||
HREF="node116.html">
|
||||
<A NAME="tex2html1731"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1722"
|
||||
<A NAME="tex2html1725"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1730"
|
||||
<A NAME="tex2html1733"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1733"
|
||||
HREF="node119.html">mm_mat_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1729"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1723"
|
||||
HREF="node117.html">hb_read Read</A>
|
||||
<B> <A NAME="tex2html1731"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1736"
|
||||
HREF="node119.html">hb_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1732"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1726"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> <A NAME="tex2html1734"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+88
-40
@@ -1,68 +1,65 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>mm_mat_read -- Read a sparse matrix from a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_mat_read -- Read a sparse matrix from a file in the MatrixMarket format">
|
||||
<TITLE>hb_write -- Write a sparse matrix to a file in the Harwell-Boeing format</TITLE>
|
||||
<META NAME="description" CONTENT="hb_write -- Write a sparse matrix to a file in the Harwell-Boeing format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node120.html">
|
||||
<LINK REL="previous" HREF="node118.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="up" HREF="node117.html">
|
||||
<LINK REL="next" HREF="node120.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1744"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1747"
|
||||
HREF="node120.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1740"
|
||||
HREF="node116.html">
|
||||
<A NAME="tex2html1743"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1734"
|
||||
<A NAME="tex2html1737"
|
||||
HREF="node118.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1742"
|
||||
<A NAME="tex2html1745"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1745"
|
||||
HREF="node120.html">mm_array_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1741"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1735"
|
||||
HREF="node118.html">hb_write Write</A>
|
||||
<B> <A NAME="tex2html1743"
|
||||
<B> Next:</B> <A NAME="tex2html1748"
|
||||
HREF="node120.html">mm_mat_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1744"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1738"
|
||||
HREF="node118.html">hb_read Read</A>
|
||||
<B> <A NAME="tex2html1746"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000103000000000000000">
|
||||
mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
<H2><A NAME="SECTION000102000000000000000">
|
||||
hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="395" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img150.png"
|
||||
WIDTH="539" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img149.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_mat_read(a, iret, iunit, filename)
|
||||
call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
@@ -74,13 +71,29 @@ call mm_mat_read(a, iret, iunit, filename)
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix to be written.
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
An array of type real or complex, rank 1 and having the ALLOCATABLE
|
||||
attribute; will be allocated and filled in if the input file contains
|
||||
a right hand side.
|
||||
</DD>
|
||||
<DT><STRONG>filename</STRONG></DT>
|
||||
<DD>The name of the file to be read.
|
||||
<DD>The name of the file to be written to.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a character variable containing a valid file name, or
|
||||
<code>-</code>, in which case the default input unit 5 (i.e. standard input
|
||||
<code>-</code>, in which case the default output unit 6 (i.e. standard output
|
||||
in Unix jargon) is used. Default: <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
@@ -90,6 +103,24 @@ Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. Only meaningful if filename is not <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>key</STRONG></DT>
|
||||
<DD>Matrix key.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
A charachter variable of length 8 holding the
|
||||
matrix key as specified by the Harwell-Boeing format and to be
|
||||
written to file.
|
||||
</DD>
|
||||
<DT><STRONG>mtitle</STRONG></DT>
|
||||
<DD>Matrix title.
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<BR>
|
||||
A charachter variable of length 72 holding the
|
||||
matrix title as specified by the Harwell-Boeing format and to be
|
||||
written to file.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -97,13 +128,6 @@ Specified as: an integer value. Only meaningful if filename is not <code>-</code
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix read from file.
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>iret</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
@@ -114,7 +138,31 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1747"
|
||||
HREF="node120.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1743"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1737"
|
||||
HREF="node118.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1745"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1748"
|
||||
HREF="node120.html">mm_mat_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1744"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1738"
|
||||
HREF="node118.html">hb_read Read</A>
|
||||
<B> <A NAME="tex2html1746"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+16
-19
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_local_rows -- Get number of local rows</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html385"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html388"
|
||||
HREF="node13.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html381"
|
||||
<A NAME="tex2html384"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html375"
|
||||
<A NAME="tex2html378"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html383"
|
||||
<A NAME="tex2html386"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html386"
|
||||
<B> Next:</B> <A NAME="tex2html389"
|
||||
HREF="node13.html">get_local_cols Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html382"
|
||||
<B> Up:</B> <A NAME="tex2html385"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html376"
|
||||
<B> Previous:</B> <A NAME="tex2html379"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<B> <A NAME="tex2html384"
|
||||
<B> <A NAME="tex2html387"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041200000000000000">
|
||||
@@ -86,10 +83,10 @@ Scope: <B>local</B>.
|
||||
it is equal to <!-- MATH
|
||||
$|{\cal I}_i| + |{\cal B}_i|$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="70" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img10.png"
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$">. The returned value is
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$"></SPAN>. The returned value is
|
||||
specific to the calling process.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
+30
-35
@@ -1,68 +1,65 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>mm_array_read -- Read a dense array from a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_array_read -- Read a dense array from a file in the MatrixMarket format">
|
||||
<TITLE>mm_mat_read -- Read a sparse matrix from a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_mat_read -- Read a sparse matrix from a file in the MatrixMarket format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node121.html">
|
||||
<LINK REL="previous" HREF="node119.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="up" HREF="node117.html">
|
||||
<LINK REL="next" HREF="node121.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1756"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1759"
|
||||
HREF="node121.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1752"
|
||||
HREF="node116.html">
|
||||
<A NAME="tex2html1755"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1746"
|
||||
<A NAME="tex2html1749"
|
||||
HREF="node119.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1754"
|
||||
<A NAME="tex2html1757"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1757"
|
||||
HREF="node121.html">mm_mat_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1753"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1747"
|
||||
HREF="node119.html">mm_mat_read Read</A>
|
||||
<B> <A NAME="tex2html1755"
|
||||
<B> Next:</B> <A NAME="tex2html1760"
|
||||
HREF="node121.html">mm_array_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1756"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1750"
|
||||
HREF="node119.html">hb_write Write</A>
|
||||
<B> <A NAME="tex2html1758"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000104000000000000000">
|
||||
mm_array_read -- Read a dense array from a
|
||||
<H2><A NAME="SECTION000103000000000000000">
|
||||
mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="415" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img151.png"
|
||||
WIDTH="395" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img150.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_array_read(b, iret, iunit, filename)
|
||||
call mm_mat_read(a, iret, iunit, filename)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
@@ -97,14 +94,12 @@ Specified as: an integer value. Only meaningful if filename is not <code>-</code
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix read from file.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
An array of type real or complex, rank 1 or 2 and having the ALLOCATABLE
|
||||
attribute; will be allocated and filled in if the input file contains
|
||||
a right hand side, otherwise will be left in the UNALLOCATED state.
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>iret</STRONG></DT>
|
||||
<DD>Error code.
|
||||
|
||||
+39
-46
@@ -1,70 +1,69 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>mm_mat_write -- Write a sparse matrix to a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_mat_write -- Write a sparse matrix to a file in the MatrixMarket format">
|
||||
<TITLE>mm_array_read -- Read a dense array from a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_array_read -- Read a dense array from a file in the MatrixMarket format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node122.html">
|
||||
<LINK REL="previous" HREF="node120.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="up" HREF="node117.html">
|
||||
<LINK REL="next" HREF="node122.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1768"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1771"
|
||||
HREF="node122.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1764"
|
||||
HREF="node116.html">
|
||||
<A NAME="tex2html1767"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1758"
|
||||
<A NAME="tex2html1761"
|
||||
HREF="node120.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1766"
|
||||
<A NAME="tex2html1769"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1769"
|
||||
HREF="node122.html">mm_array_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1765"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1759"
|
||||
HREF="node120.html">mm_array_read Read</A>
|
||||
<B> <A NAME="tex2html1767"
|
||||
<B> Next:</B> <A NAME="tex2html1772"
|
||||
HREF="node122.html">mm_mat_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1768"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1762"
|
||||
HREF="node120.html">mm_mat_read Read</A>
|
||||
<B> <A NAME="tex2html1770"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000105000000000000000">
|
||||
mm_mat_write -- Write a sparse matrix to a
|
||||
<H2><A NAME="SECTION000104000000000000000">
|
||||
mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="481" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img152.png"
|
||||
WIDTH="415" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img151.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_mat_write(a, mtitle, iret, iunit, filename)
|
||||
call mm_array_read(b, iret, iunit, filename)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -72,28 +71,13 @@ call mm_mat_write(a, mtitle, iret, iunit, filename)
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix to be written.
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>mtitle</STRONG></DT>
|
||||
<DD>Matrix title.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
A charachter variable holding a descriptive title for the matrix to be
|
||||
written to file.
|
||||
</DD>
|
||||
<DT><STRONG>filename</STRONG></DT>
|
||||
<DD>The name of the file to be written to.
|
||||
<DD>The name of the file to be read.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a character variable containing a valid file name, or
|
||||
<code>-</code>, in which case the default output unit 6 (i.e. standard output
|
||||
<code>-</code>, in which case the default input unit 5 (i.e. standard input
|
||||
in Unix jargon) is used. Default: <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
@@ -110,6 +94,15 @@ Specified as: an integer value. Only meaningful if filename is not <code>-</code
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
An array of type real or complex, rank 1 or 2 and having the ALLOCATABLE
|
||||
attribute; will be allocated and filled in if the input file contains
|
||||
a right hand side, otherwise will be left in the UNALLOCATED state.
|
||||
</DD>
|
||||
<DT><STRONG>iret</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
|
||||
+41
-36
@@ -1,71 +1,67 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>mm_array_write -- Write a dense array from a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_array_write -- Write a dense array from a file in the MatrixMarket format">
|
||||
<TITLE>mm_mat_write -- Write a sparse matrix to a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_mat_write -- Write a sparse matrix to a file in the MatrixMarket format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node123.html">
|
||||
<LINK REL="previous" HREF="node121.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="up" HREF="node117.html">
|
||||
<LINK REL="next" HREF="node123.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1778"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1783"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1774"
|
||||
HREF="node116.html">
|
||||
<A NAME="tex2html1779"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1770"
|
||||
<A NAME="tex2html1773"
|
||||
HREF="node121.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1776"
|
||||
<A NAME="tex2html1781"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1779"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1775"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1771"
|
||||
HREF="node121.html">mm_mat_write Write</A>
|
||||
<B> <A NAME="tex2html1777"
|
||||
<B> Next:</B> <A NAME="tex2html1784"
|
||||
HREF="node123.html">mm_array_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1780"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1774"
|
||||
HREF="node121.html">mm_array_read Read</A>
|
||||
<B> <A NAME="tex2html1782"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000106000000000000000">
|
||||
mm_array_write -- Write a dense array from a
|
||||
<H2><A NAME="SECTION000105000000000000000">
|
||||
mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="424" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img153.png"
|
||||
WIDTH="481" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img152.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_array_write(b, iret, iunit, filename)
|
||||
call mm_mat_write(a, mtitle, iret, iunit, filename)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -73,19 +69,28 @@ call mm_array_write(b, iret, iunit, filename)
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix to be written.
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>mtitle</STRONG></DT>
|
||||
<DD>Matrix title.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
An array of type real or complex, rank 1 or 2; will be written.. </DD>
|
||||
A charachter variable holding a descriptive title for the matrix to be
|
||||
written to file.
|
||||
</DD>
|
||||
<DT><STRONG>filename</STRONG></DT>
|
||||
<DD>The name of the file to be written.
|
||||
<DD>The name of the file to be written to.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a character variable containing a valid file name, or
|
||||
<code>-</code>, in which case the default input unit 5 (i.e. standard input
|
||||
<code>-</code>, in which case the default output unit 6 (i.e. standard output
|
||||
in Unix jargon) is used. Default: <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
|
||||
+78
-63
@@ -1,99 +1,114 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Preconditioner routines</TITLE>
|
||||
<META NAME="description" CONTENT="Preconditioner routines">
|
||||
<TITLE>mm_array_write -- Write a dense array from a file in the MatrixMarket format</TITLE>
|
||||
<META NAME="description" CONTENT="mm_array_write -- Write a dense array from a file in the MatrixMarket format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node130.html">
|
||||
<LINK REL="previous" HREF="node116.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="previous" HREF="node122.html">
|
||||
<LINK REL="up" HREF="node117.html">
|
||||
<LINK REL="next" HREF="node124.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1790"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1793"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1786"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1789"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1780"
|
||||
<A NAME="tex2html1785"
|
||||
HREF="node122.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1788"
|
||||
<A NAME="tex2html1791"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1791"
|
||||
HREF="node124.html">init Initialize</A>
|
||||
<B> Up:</B> <A NAME="tex2html1787"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1781"
|
||||
HREF="node122.html">mm_array_write Write</A>
|
||||
<B> <A NAME="tex2html1789"
|
||||
<B> Next:</B> <A NAME="tex2html1794"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1790"
|
||||
HREF="node117.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1786"
|
||||
HREF="node122.html">mm_mat_write Write</A>
|
||||
<B> <A NAME="tex2html1792"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION000110000000000000000"></A>
|
||||
<A NAME="sec:precs"></A>
|
||||
<H2><A NAME="SECTION000106000000000000000">
|
||||
mm_array_write -- Write a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="424" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img153.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_array_write(b, iret, iunit, filename)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
Preconditioner routines
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<A NAME="sec:psprecs"></A>The base PSBLAS library contains the implementation of two simple
|
||||
preconditioning techniques:
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
An array of type real or complex, rank 1 or 2; will be written.. </DD>
|
||||
<DT><STRONG>filename</STRONG></DT>
|
||||
<DD>The name of the file to be written.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a character variable containing a valid file name, or
|
||||
<code>-</code>, in which case the default input unit 5 (i.e. standard input
|
||||
in Unix jargon) is used. Default: <code>-</code>.
|
||||
</DD>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
<DD>The Fortran file unit number.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
Specified as: an integer value. Only meaningful if filename is not <code>-</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<UL>
|
||||
<LI>Diagonal Scaling
|
||||
</LI>
|
||||
<LI>Block Jacobi with ILU(0) factorization
|
||||
</LI>
|
||||
</UL>
|
||||
The supporting data type and subroutine interfaces are defined in the
|
||||
module <code>psb_prec_mod</code>.
|
||||
The old interfaces <code>psb_precinit</code> and <code>psb_precbld</code> are still supported for
|
||||
backward compatibility
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>iret</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1792"
|
||||
HREF="node124.html">init -- Initialize a preconditioner</A>
|
||||
<LI><A NAME="tex2html1793"
|
||||
HREF="node125.html">build -- Builds a preconditioner</A>
|
||||
<LI><A NAME="tex2html1794"
|
||||
HREF="node126.html">apply -- Preconditioner application
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html1795"
|
||||
HREF="node127.html">descr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html1796"
|
||||
HREF="node128.html">clone -- clone current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html1797"
|
||||
HREF="node129.html">free -- Free a preconditioner</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
+62
-105
@@ -1,140 +1,97 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>init -- Initialize a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="init -- Initialize a preconditioner">
|
||||
<TITLE>Preconditioner routines</TITLE>
|
||||
<META NAME="description" CONTENT="Preconditioner routines">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node125.html">
|
||||
<LINK REL="previous" HREF="node123.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="next" HREF="node131.html">
|
||||
<LINK REL="previous" HREF="node117.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node125.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1808"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1805"
|
||||
HREF="node125.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1804"
|
||||
HREF="node123.html">
|
||||
<A NAME="tex2html1801"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1798"
|
||||
<A NAME="tex2html1795"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1806"
|
||||
<A NAME="tex2html1803"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1809"
|
||||
HREF="node125.html">build Builds</A>
|
||||
<B> Up:</B> <A NAME="tex2html1805"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1799"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> <A NAME="tex2html1807"
|
||||
<B> Next:</B> <A NAME="tex2html1806"
|
||||
HREF="node125.html">init Initialize</A>
|
||||
<B> Up:</B> <A NAME="tex2html1802"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1796"
|
||||
HREF="node123.html">mm_array_write Write</A>
|
||||
<B> <A NAME="tex2html1804"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000111000000000000000">
|
||||
init -- Initialize a preconditioner</A>
|
||||
</H2>
|
||||
<H1><A NAME="SECTION000110000000000000000"></A>
|
||||
<A NAME="sec:precs"></A>
|
||||
<BR>
|
||||
Preconditioner routines
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%init(ptype, info)
|
||||
</PRE>
|
||||
<A NAME="sec:psprecs"></A>The base PSBLAS library contains the implementation of two simple
|
||||
preconditioning techniques:
|
||||
|
||||
<UL>
|
||||
<LI>Diagonal Scaling
|
||||
</LI>
|
||||
<LI>Block Jacobi with ILU(0) factorization
|
||||
</LI>
|
||||
</UL>
|
||||
The supporting data type and subroutine interfaces are defined in the
|
||||
module <code>psb_prec_mod</code>.
|
||||
The old interfaces <code>psb_precinit</code> and <code>psb_precbld</code> are still supported for
|
||||
backward compatibility
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>ptype</STRONG></DT>
|
||||
<DD>the type of preconditioner.
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a character string, see usage notes.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Exit</B></STRONG></DT>
|
||||
<DD><P>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Error code: if no error, 0 is returned.
|
||||
</DD>
|
||||
</DL>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>Legal inputs to this subroutine are interpreted depending on the
|
||||
<IMG
|
||||
WIDTH="41" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img154.png"
|
||||
ALT="$ptype$"> string as follows<A NAME="tex2html31"
|
||||
HREF="footnode.html#foot7601"><SUP>4</SUP></A>:
|
||||
<DL>
|
||||
<DT><STRONG>NONE</STRONG></DT>
|
||||
<DD>No preconditioning, i.e. the preconditioner is just a copy
|
||||
operator.
|
||||
</DD>
|
||||
<DT><STRONG>DIAG</STRONG></DT>
|
||||
<DD>Diagonal scaling; each entry of the input vector is
|
||||
multiplied by the reciprocal of the sum of the absolute values of
|
||||
the coefficients in the corresponding row of matrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">;
|
||||
</DD>
|
||||
<DT><STRONG>BJAC</STRONG></DT>
|
||||
<DD>Precondition by a factorization of the
|
||||
block-diagonal of matrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">, where block boundaries are determined
|
||||
by the data allocation boundaries for each process; requires no
|
||||
communication. Only the incomplete factorization <IMG
|
||||
WIDTH="56" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img155.png"
|
||||
ALT="$ILU(0)$"> is
|
||||
currently implemented.
|
||||
</DD>
|
||||
</DL>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<P>
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html1807"
|
||||
HREF="node125.html">init -- Initialize a preconditioner</A>
|
||||
<LI><A NAME="tex2html1808"
|
||||
HREF="node126.html">build -- Builds a preconditioner</A>
|
||||
<LI><A NAME="tex2html1809"
|
||||
HREF="node127.html">apply -- Preconditioner application
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html1810"
|
||||
HREF="node128.html">descr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html1811"
|
||||
HREF="node129.html">clone -- clone current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html1812"
|
||||
HREF="node130.html">free -- Free a preconditioner</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
+72
-94
@@ -1,156 +1,134 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>build -- Builds a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="build -- Builds a preconditioner">
|
||||
<TITLE>init -- Initialize a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="init -- Initialize a preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node126.html">
|
||||
<LINK REL="previous" HREF="node124.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="up" HREF="node124.html">
|
||||
<LINK REL="next" HREF="node126.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1820"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1823"
|
||||
HREF="node126.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1816"
|
||||
HREF="node123.html">
|
||||
<A NAME="tex2html1819"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1810"
|
||||
<A NAME="tex2html1813"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1818"
|
||||
<A NAME="tex2html1821"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1821"
|
||||
HREF="node126.html">apply Preconditioner</A>
|
||||
<B> Up:</B> <A NAME="tex2html1817"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1811"
|
||||
HREF="node124.html">init Initialize</A>
|
||||
<B> <A NAME="tex2html1819"
|
||||
<B> Next:</B> <A NAME="tex2html1824"
|
||||
HREF="node126.html">build Builds</A>
|
||||
<B> Up:</B> <A NAME="tex2html1820"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1814"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> <A NAME="tex2html1822"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000112000000000000000">
|
||||
build -- Builds a preconditioner</A>
|
||||
<H2><A NAME="SECTION000111000000000000000">
|
||||
init -- Initialize a preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%build(a, desc_a, info,amold,vmold)
|
||||
call prec%init(ptype, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the system sparse matrix.
|
||||
Scope: <B>local</B>
|
||||
<DT><STRONG>ptype</STRONG></DT>
|
||||
<DD>the type of preconditioner.
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>, target.
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a sparse matrix data structure spdata<TT>psb_Tspmat_type</TT>.
|
||||
Specified as: a character string, see usage notes.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Exit</B></STRONG></DT>
|
||||
<DD><P>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<DD>Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an already initialized precondtioner data structure precdata<TT>psb_prec_type</TT>
|
||||
<BR></DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>the problem communication descriptor.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>, target.
|
||||
<BR>
|
||||
Specified as: a communication descriptor data structure descdata<TT>psb_desc_type</TT>.
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>amold</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>
|
||||
<DT><STRONG>vmold</STRONG></DT>
|
||||
<DD>The desired dynamic type for the internal vector 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 vbasedata<TT>psb_T_base_vect_type</TT>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a precondtioner data structure precdata<TT>psb_prec_type</TT>
|
||||
<BR></DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<DD>Scope: <B>global</B>
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
Error code: if no error, 0 is returned.
|
||||
</DD>
|
||||
</DL>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
Legal inputs to this subroutine are interpreted depending on the
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="41" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img154.png"
|
||||
ALT="$ptype$"></SPAN> string as follows<A NAME="tex2html31"
|
||||
HREF="footnode.html#foot7644"><SUP><SPAN CLASS="arabic">4</SPAN></SUP></A>:
|
||||
<DL>
|
||||
<DT><STRONG>NONE</STRONG></DT>
|
||||
<DD>No preconditioning, i.e. the preconditioner is just a copy
|
||||
operator.
|
||||
</DD>
|
||||
<DT><STRONG>DIAG</STRONG></DT>
|
||||
<DD>Diagonal scaling; each entry of the input vector is
|
||||
multiplied by the reciprocal of the sum of the absolute values of
|
||||
the coefficients in the corresponding row of matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>;
|
||||
</DD>
|
||||
<DT><STRONG>BJAC</STRONG></DT>
|
||||
<DD>Precondition by a factorization of the
|
||||
block-diagonal of matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>, where block boundaries are determined
|
||||
by the data allocation boundaries for each process; requires no
|
||||
communication. Only the incomplete factorization <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="56" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img155.png"
|
||||
ALT="$ILU(0)$"></SPAN> is
|
||||
currently implemented.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+96
-58
@@ -1,65 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>apply -- Preconditioner application routine</TITLE>
|
||||
<META NAME="description" CONTENT="apply -- Preconditioner application routine">
|
||||
<TITLE>build -- Builds a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="build -- Builds a preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node127.html">
|
||||
<LINK REL="previous" HREF="node125.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="up" HREF="node124.html">
|
||||
<LINK REL="next" HREF="node127.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1832"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1835"
|
||||
HREF="node127.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1828"
|
||||
HREF="node123.html">
|
||||
<A NAME="tex2html1831"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1822"
|
||||
<A NAME="tex2html1825"
|
||||
HREF="node125.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1830"
|
||||
<A NAME="tex2html1833"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1833"
|
||||
HREF="node127.html">descr Prints</A>
|
||||
<B> Up:</B> <A NAME="tex2html1829"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1823"
|
||||
HREF="node125.html">build Builds</A>
|
||||
<B> <A NAME="tex2html1831"
|
||||
<B> Next:</B> <A NAME="tex2html1836"
|
||||
HREF="node127.html">apply Preconditioner</A>
|
||||
<B> Up:</B> <A NAME="tex2html1832"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1826"
|
||||
HREF="node125.html">init Initialize</A>
|
||||
<B> <A NAME="tex2html1834"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000113000000000000000">
|
||||
apply -- Preconditioner application
|
||||
routine</A>
|
||||
<H2><A NAME="SECTION000112000000000000000">
|
||||
build -- Builds a preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%apply(x,y,desc_a,info,trans,work)
|
||||
call prec%apply(x,desc_a,info,trans)
|
||||
call prec%build(a, desc_a, info[,amold,vmold,imold])
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -70,54 +65,69 @@ call prec%apply(x,desc_a,info,trans)
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the system sparse matrix.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>, target.
|
||||
<BR>
|
||||
Specified as: a sparse matrix data structure spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the source vector.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
Specified as: an already initialized precondtioner data structure precdata<TT>psb_prec_type</TT>
|
||||
<BR></DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>the problem communication descriptor.
|
||||
<DD>the problem communication descriptor.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Intent: <B>in</B>, target.
|
||||
<BR>
|
||||
Specified as: a communication data structure descdata<TT>psb_desc_type</TT>.
|
||||
Specified as: a communication descriptor data structure descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>trans</STRONG></DT>
|
||||
<DD>Scope:
|
||||
<DT><STRONG>amold</STRONG></DT>
|
||||
<DD>The desired dynamic type for the internal matrix storage.
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a character.
|
||||
Specified as: an object of a class derived from spbasedata<TT>psb_T_base_sparse_mat</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>work</STRONG></DT>
|
||||
<DD>an optional work space
|
||||
Scope: <B>local</B>
|
||||
<DT><STRONG>vmold</STRONG></DT>
|
||||
<DD>The desired dynamic type for the internal vector storage.
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Specified as: a double precision array.
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of a class derived from vbasedata<TT>psb_T_base_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>imold</STRONG></DT>
|
||||
<DD>The desired dynamic type for the internal integer vector 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 (integer) vbasedata<TT>psb_T_base_vect_type</TT>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
@@ -126,16 +136,17 @@ Specified as: a double precision array.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the destination vector.
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
Specified as: a precondtioner data structure precdata<TT>psb_prec_type</TT>
|
||||
<BR></DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
@@ -148,9 +159,36 @@ Intent: <B>out</B>.
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
The <code>amold</code>, <code>vmold</code> and <code>imold</code> arguments may be
|
||||
employed to interface with special devices, such as GPUs and other
|
||||
accelerators.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1835"
|
||||
HREF="node127.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1831"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1825"
|
||||
HREF="node125.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1833"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1836"
|
||||
HREF="node127.html">apply Preconditioner</A>
|
||||
<B> Up:</B> <A NAME="tex2html1832"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1826"
|
||||
HREF="node125.html">init Initialize</A>
|
||||
<B> <A NAME="tex2html1834"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+82
-46
@@ -1,71 +1,68 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>descr -- Prints a description of current preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="descr -- Prints a description of current preconditioner">
|
||||
<TITLE>apply -- Preconditioner application routine</TITLE>
|
||||
<META NAME="description" CONTENT="apply -- Preconditioner application routine">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node128.html">
|
||||
<LINK REL="previous" HREF="node126.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="up" HREF="node124.html">
|
||||
<LINK REL="next" HREF="node128.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1844"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1847"
|
||||
HREF="node128.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1840"
|
||||
HREF="node123.html">
|
||||
<A NAME="tex2html1843"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1834"
|
||||
<A NAME="tex2html1837"
|
||||
HREF="node126.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1842"
|
||||
<A NAME="tex2html1845"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1845"
|
||||
HREF="node128.html">clone clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html1841"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1835"
|
||||
HREF="node126.html">apply Preconditioner</A>
|
||||
<B> <A NAME="tex2html1843"
|
||||
<B> Next:</B> <A NAME="tex2html1848"
|
||||
HREF="node128.html">descr Prints</A>
|
||||
<B> Up:</B> <A NAME="tex2html1844"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1838"
|
||||
HREF="node126.html">build Builds</A>
|
||||
<B> <A NAME="tex2html1846"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000114000000000000000">
|
||||
descr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<H2><A NAME="SECTION000113000000000000000">
|
||||
apply -- Preconditioner application
|
||||
routine</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%descr()
|
||||
call prec%descr(iout, root)
|
||||
call prec%apply(x,y,desc_a,info,trans,work)
|
||||
call prec%apply(x,desc_a,info,trans)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
@@ -80,33 +77,72 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>iout</STRONG></DT>
|
||||
<DD>output unit.
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the source vector.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an integer number. Default: default output unit.
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process from which to print
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>the problem communication descriptor.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a communication data structure descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>trans</STRONG></DT>
|
||||
<DD>Scope:
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer number between 0 and <IMG
|
||||
WIDTH="49" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img156.png"
|
||||
ALT="$np-1$">, in which case
|
||||
the specified process will print the description, or <IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$">, in which case
|
||||
all processes will print. Default: 0.
|
||||
Specified as: a character.
|
||||
</DD>
|
||||
<DT><STRONG>work</STRONG></DT>
|
||||
<DD>an optional work space
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a double precision array.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the destination vector.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+58
-39
@@ -1,63 +1,62 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>clone -- clone current preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- clone current preconditioner">
|
||||
<TITLE>descr -- Prints a description of current preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="descr -- Prints a description of current preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node129.html">
|
||||
<LINK REL="previous" HREF="node127.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="up" HREF="node124.html">
|
||||
<LINK REL="next" HREF="node129.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1856"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1859"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1852"
|
||||
HREF="node123.html">
|
||||
<A NAME="tex2html1855"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1846"
|
||||
<A NAME="tex2html1849"
|
||||
HREF="node127.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1854"
|
||||
<A NAME="tex2html1857"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1857"
|
||||
HREF="node129.html">free Free</A>
|
||||
<B> Up:</B> <A NAME="tex2html1853"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1847"
|
||||
HREF="node127.html">descr Prints</A>
|
||||
<B> <A NAME="tex2html1855"
|
||||
<B> Next:</B> <A NAME="tex2html1860"
|
||||
HREF="node129.html">clone clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html1856"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1850"
|
||||
HREF="node127.html">apply Preconditioner</A>
|
||||
<B> <A NAME="tex2html1858"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000115000000000000000">
|
||||
clone -- clone current
|
||||
<H2><A NAME="SECTION000114000000000000000">
|
||||
descr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%clone(precout,info)
|
||||
call prec%descr()
|
||||
call prec%descr(iout, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -70,21 +69,41 @@ call prec%clone(precout,info)
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>precout</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
<DT><STRONG>iout</STRONG></DT>
|
||||
<DD>output unit.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer number. Default: default output unit.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
<DT><STRONG>root</STRONG></DT>
|
||||
<DD>Process from which to print
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer number between 0 and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="49" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img156.png"
|
||||
ALT="$np-1$"></SPAN>, in which case
|
||||
the specified process will print the description, or <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"></SPAN>, in which case
|
||||
all processes will print. Default: 0.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+36
-53
@@ -1,62 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>free -- Free a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="free -- Free a preconditioner">
|
||||
<TITLE>clone -- clone current preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- clone current preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node130.html">
|
||||
<LINK REL="previous" HREF="node128.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="up" HREF="node124.html">
|
||||
<LINK REL="next" HREF="node130.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1866"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1871"
|
||||
HREF="node130.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1862"
|
||||
HREF="node123.html">
|
||||
<A NAME="tex2html1867"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1858"
|
||||
<A NAME="tex2html1861"
|
||||
HREF="node128.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1864"
|
||||
<A NAME="tex2html1869"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1867"
|
||||
HREF="node130.html">Iterative Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html1863"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1859"
|
||||
HREF="node128.html">clone clone</A>
|
||||
<B> <A NAME="tex2html1865"
|
||||
<B> Next:</B> <A NAME="tex2html1872"
|
||||
HREF="node130.html">free Free</A>
|
||||
<B> Up:</B> <A NAME="tex2html1868"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1862"
|
||||
HREF="node128.html">descr Prints</A>
|
||||
<B> <A NAME="tex2html1870"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000116000000000000000">
|
||||
free -- Free a preconditioner</A>
|
||||
<H2><A NAME="SECTION000115000000000000000">
|
||||
clone -- clone current
|
||||
preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%free(info)
|
||||
call prec%clone(precout,info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -71,36 +69,21 @@ call prec%free(info)
|
||||
<DD>the preconditioner.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Exit</B></STRONG></DT>
|
||||
<DD><P>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
<DT><STRONG>precout</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Error code: if no error, 0 is returned.
|
||||
<DD>Return code.
|
||||
</DD>
|
||||
</DL>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>Releases all internal storage.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
+16
-19
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_local_cols -- Get number of local cols</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html397"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html400"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html393"
|
||||
<A NAME="tex2html396"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html387"
|
||||
<A NAME="tex2html390"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html395"
|
||||
<A NAME="tex2html398"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html398"
|
||||
<B> Next:</B> <A NAME="tex2html401"
|
||||
HREF="node14.html">get_global_rows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html394"
|
||||
<B> Up:</B> <A NAME="tex2html397"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html388"
|
||||
<B> Previous:</B> <A NAME="tex2html391"
|
||||
HREF="node12.html">get_local_rows Get</A>
|
||||
<B> <A NAME="tex2html396"
|
||||
<B> <A NAME="tex2html399"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041300000000000000">
|
||||
@@ -87,10 +84,10 @@ Scope: <B>local</B>.
|
||||
it is equal to <!-- MATH
|
||||
$|{\cal I}_i| + |{\cal B}_i| +|{\cal H}_i|$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="118" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img11.png"
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$">. The
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$"></SPAN>. The
|
||||
returned value is specific to the calling process.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
+73
-45
@@ -1,78 +1,106 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Iterative Methods</TITLE>
|
||||
<META NAME="description" CONTENT="Iterative Methods">
|
||||
<TITLE>free -- Free a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="free -- Free a preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node132.html">
|
||||
<LINK REL="previous" HREF="node123.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="previous" HREF="node129.html">
|
||||
<LINK REL="up" HREF="node124.html">
|
||||
<LINK REL="next" HREF="node131.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1878"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1881"
|
||||
HREF="node131.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1874"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1877"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1868"
|
||||
<A NAME="tex2html1873"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1876"
|
||||
<A NAME="tex2html1879"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1879"
|
||||
HREF="node131.html">psb_krylov Krylov</A>
|
||||
<B> Up:</B> <A NAME="tex2html1875"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1869"
|
||||
HREF="node129.html">free Free</A>
|
||||
<B> <A NAME="tex2html1877"
|
||||
<B> Next:</B> <A NAME="tex2html1882"
|
||||
HREF="node131.html">Iterative Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html1878"
|
||||
HREF="node124.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1874"
|
||||
HREF="node129.html">clone clone</A>
|
||||
<B> <A NAME="tex2html1880"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION000120000000000000000"></A>
|
||||
<A NAME="sec:methods"></A>
|
||||
<H2><A NAME="SECTION000116000000000000000">
|
||||
free -- Free a preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%free(info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
<BR>
|
||||
Iterative Methods
|
||||
</H1>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Exit</B></STRONG></DT>
|
||||
<DD><P>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Error code: if no error, 0 is returned.
|
||||
</DD>
|
||||
</DL>
|
||||
<BIG CLASS="LARGE"><B>Notes</B></BIG>
|
||||
Releases all internal storage.
|
||||
|
||||
<P>
|
||||
In this chapter we provide routines for preconditioners and iterative
|
||||
methods. The interfaces for Krylov subspace methods are available in
|
||||
the module <code>psb_krylov_mod</code>.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1880"
|
||||
HREF="node131.html">psb_krylov -- Krylov Methods Driver
|
||||
Routine</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
+40
-397
@@ -1,433 +1,76 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_krylov -- Krylov Methods Driver Routine</TITLE>
|
||||
<META NAME="description" CONTENT="psb_krylov -- Krylov Methods Driver Routine">
|
||||
<TITLE>Iterative Methods</TITLE>
|
||||
<META NAME="description" CONTENT="Iterative Methods">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node130.html">
|
||||
<LINK REL="up" HREF="node130.html">
|
||||
<LINK REL="next" HREF="node133.html">
|
||||
<LINK REL="previous" HREF="node124.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node132.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1889"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1893"
|
||||
HREF="node132.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1885"
|
||||
HREF="node130.html">
|
||||
<A NAME="tex2html1889"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1881"
|
||||
<A NAME="tex2html1883"
|
||||
HREF="node130.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1887"
|
||||
<A NAME="tex2html1891"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1890"
|
||||
HREF="node132.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1886"
|
||||
HREF="node130.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1882"
|
||||
HREF="node130.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1888"
|
||||
<B> Next:</B> <A NAME="tex2html1894"
|
||||
HREF="node132.html">psb_krylov Krylov</A>
|
||||
<B> Up:</B> <A NAME="tex2html1890"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1884"
|
||||
HREF="node130.html">free Free</A>
|
||||
<B> <A NAME="tex2html1892"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000121000000000000000"></A><A NAME="krylov"></A>
|
||||
<H1><A NAME="SECTION000120000000000000000"></A>
|
||||
<A NAME="sec:methods"></A>
|
||||
<BR>
|
||||
psb_krylov -- Krylov Methods Driver
|
||||
Routine
|
||||
</H2>
|
||||
Iterative Methods
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
This subroutine is a driver that provides a general interface for all
|
||||
the Krylov-Subspace family methods implemented in PSBLAS version 2.
|
||||
In this chapter we provide routines for preconditioners and iterative
|
||||
methods. The interfaces for Krylov subspace methods are available in
|
||||
the module <code>psb_krylov_mod</code>.
|
||||
|
||||
<P>
|
||||
The stopping criterion can take the following values:
|
||||
<DL>
|
||||
<DT><STRONG>1</STRONG></DT>
|
||||
<DD>normwise backward error in the infinity
|
||||
norm; the iteration is stopped when
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
err = \frac{\|r_i\|}{(\|A\|\|x_i\|+\|b\|)} < eps
|
||||
\end{displaymath}
|
||||
-->
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<IMG
|
||||
WIDTH="205" HEIGHT="44" BORDER="0"
|
||||
SRC="img157.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
</DD>
|
||||
<DT><STRONG>2</STRONG></DT>
|
||||
<DD>Relative residual in the 2-norm; the iteration is stopped
|
||||
when
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
err = \frac{\|r_i\|}{\|b\|_2} < eps
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="121" HEIGHT="44" BORDER="0"
|
||||
SRC="img158.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
</DD>
|
||||
<DT><STRONG>3</STRONG></DT>
|
||||
<DD>Relative residual reduction in the 2-norm; the iteration is stopped
|
||||
when
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
err = \frac{\|r_i\|}{\|r_0\|_2} < eps
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="129" HEIGHT="44" BORDER="0"
|
||||
SRC="img159.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert r_0\Vert _2} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
</DD>
|
||||
</DL>
|
||||
The behaviour is controlled by the istop argument (see
|
||||
later). In the above formulae, <IMG
|
||||
WIDTH="18" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img160.png"
|
||||
ALT="$x_i$"> is the tentative solution and
|
||||
<IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img161.png"
|
||||
ALT="$r_i=b-Ax_i$"> the corresponding residual at the <IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$">-th iteration.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="482" HEIGHT="35" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img162.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
|
||||
& itmax,iter,err,itrace,irst,istop,cond)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>method</STRONG></DT>
|
||||
<DD>a string that defines the iterative method to be
|
||||
used. Supported values are:
|
||||
<DL>
|
||||
<DT><STRONG>CG:</STRONG></DT>
|
||||
<DD>the Conjugate Gradient method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>CGS:</STRONG></DT>
|
||||
<DD>the Conjugate Gradient Stabilized method;
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>GCR:</STRONG></DT>
|
||||
<DD>the Generalized Conjugate Residual method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>FCG:</STRONG></DT>
|
||||
<DD>the Flexible Conjugate Gradient method<A NAME="tex2html32"
|
||||
HREF="footnode.html#foot8038"><SUP>5</SUP></A>;
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>BICG:</STRONG></DT>
|
||||
<DD>the Bi-Conjugate Gradient method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>BICGSTAB:</STRONG></DT>
|
||||
<DD>the Bi-Conjugate Gradient Stabilized method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>BICGSTABL:</STRONG></DT>
|
||||
<DD>the Bi-Conjugate Gradient Stabilized method with restarting;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>RGMRES:</STRONG></DT>
|
||||
<DD>the Generalized Minimal Residual method with restarting.
|
||||
|
||||
</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the local portion of global sparse matrix
|
||||
<IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>The data structure containing the preconditioner.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>The RHS vector.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>The initial guess.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>eps</STRONG></DT>
|
||||
<DD>The stopping tolerance.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a real number.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>itmax</STRONG></DT>
|
||||
<DD>The maximum number of iterations to perform.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <IMG
|
||||
WIDTH="99" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img164.png"
|
||||
ALT="$itmax = 1000$">.
|
||||
<BR>
|
||||
Specified as: an integer variable <IMG
|
||||
WIDTH="76" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img165.png"
|
||||
ALT="$itmax \ge 1$">.
|
||||
</DD>
|
||||
<DT><STRONG>itrace</STRONG></DT>
|
||||
<DD>If <IMG
|
||||
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img111.png"
|
||||
ALT="$>0$"> print out an informational message about
|
||||
convergence every <IMG
|
||||
WIDTH="45" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img166.png"
|
||||
ALT="$itrace$"> iterations.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>irst</STRONG></DT>
|
||||
<DD>An integer specifying the restart parameter.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Values: <IMG
|
||||
WIDTH="60" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img167.png"
|
||||
ALT="$irst>0$">. This is employed for the BiCGSTABL or RGMRES
|
||||
methods, otherwise it is ignored.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>istop</STRONG></DT>
|
||||
<DD>An integer specifying the stopping criterion.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Values: 1: use the normwise backward error, 2: use the scaled 2-norm
|
||||
of the residual, 3: use the residual reduction in the 2-norm. Default: 2.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>The computed solution.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>iter</STRONG></DT>
|
||||
<DD>The number of iterations performed.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Returned as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>err</STRONG></DT>
|
||||
<DD>The convergence estimate on exit.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Returned as: a real number.
|
||||
</DD>
|
||||
<DT><STRONG>cond</STRONG></DT>
|
||||
<DD>An estimate of the condition number of matrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">; only
|
||||
available with the <IMG
|
||||
WIDTH="29" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img168.png"
|
||||
ALT="$CG$"> method on real data.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Returned as: a real number. A correct result will be greater than or
|
||||
equal to one; if specified for non-real data, or an error occurred,
|
||||
zero is returned.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1889"
|
||||
HREF="node132.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1885"
|
||||
HREF="node130.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1881"
|
||||
HREF="node130.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1887"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1890"
|
||||
HREF="node132.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1886"
|
||||
HREF="node130.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1882"
|
||||
HREF="node130.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1888"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html1895"
|
||||
HREF="node132.html">psb_krylov -- Krylov Methods Driver
|
||||
Routine</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+389
-131
@@ -1,173 +1,431 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Bibliography</TITLE>
|
||||
<META NAME="description" CONTENT="Bibliography">
|
||||
<TITLE>psb_krylov -- Krylov Methods Driver Routine</TITLE>
|
||||
<META NAME="description" CONTENT="psb_krylov -- Krylov Methods Driver Routine">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node133.html">
|
||||
<LINK REL="previous" HREF="node130.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="previous" HREF="node131.html">
|
||||
<LINK REL="up" HREF="node131.html">
|
||||
<LINK REL="next" HREF="node133.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1901"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1904"
|
||||
HREF="node133.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1897"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1900"
|
||||
HREF="node131.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1891"
|
||||
<A NAME="tex2html1896"
|
||||
HREF="node131.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1899"
|
||||
<A NAME="tex2html1902"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1902"
|
||||
HREF="node133.html">About this document ...</A>
|
||||
<B> Up:</B> <A NAME="tex2html1898"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1892"
|
||||
HREF="node131.html">psb_krylov Krylov</A>
|
||||
<B> <A NAME="tex2html1900"
|
||||
<B> Next:</B> <A NAME="tex2html1905"
|
||||
HREF="node133.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1901"
|
||||
HREF="node131.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1897"
|
||||
HREF="node131.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1903"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR><BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000130000000000000000">
|
||||
Bibliography</A>
|
||||
</H2><DL COMPACT><DD><P></P><DT><A NAME="DesPat:11">1</A>
|
||||
<DD>
|
||||
D. Barbieri, V. Cardellini, S. Filippone and D. Rouson
|
||||
<EM>Design Patterns for Scientific Computations on Sparse Matrices</EM>,
|
||||
HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="PARA04FOREST">2</A>
|
||||
<DD>
|
||||
G. Bella, S. Filippone, A. De Maio and M. Testa,
|
||||
<EM>A Simulation Model for Forest Fires</EM>,
|
||||
in J. Dongarra, K. Madsen, J. Wasniewski, editors,
|
||||
Proceedings of PARA 04 Workshop on State of the Art
|
||||
in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science,
|
||||
Springer, 2005.
|
||||
<P></P><DT><A NAME="2007d">3</A>
|
||||
<DD> A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,<BR>
|
||||
2LEV-D2P4: a package of high-performance preconditioners,<BR>
|
||||
Applicable Algebra in Engineering, Communications and Computing,
|
||||
Volume 18, Number 3, May, 2007, pp. 223-239<P></P><DT><A NAME="2007c">4</A>
|
||||
<DD> P. D'Ambra, S. Filippone, D. Di Serafino<BR>
|
||||
On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners
|
||||
<H2><A NAME="SECTION000121000000000000000"></A><A NAME="krylov"></A>
|
||||
<BR>
|
||||
Applied Numerical Mathematics, Elsevier Science,
|
||||
Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196.
|
||||
psb_krylov -- Krylov Methods Driver
|
||||
Routine
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine is a driver that provides a general interface for all
|
||||
the Krylov-Subspace family methods implemented in PSBLAS version 2.
|
||||
|
||||
<P>
|
||||
The stopping criterion can take the following values:
|
||||
<DL>
|
||||
<DT><STRONG>1</STRONG></DT>
|
||||
<DD>normwise backward error in the infinity
|
||||
norm; the iteration is stopped when
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
err = \frac{\|r_i\|}{(\|A\|\|x_i\|+\|b\|)} < eps
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="205" HEIGHT="44" BORDER="0"
|
||||
SRC="img157.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{(\Vert A\Vert\Vert x_i\Vert+\Vert b\Vert)} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
</DD>
|
||||
<DT><STRONG>2</STRONG></DT>
|
||||
<DD>Relative residual in the 2-norm; the iteration is stopped
|
||||
when
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
err = \frac{\|r_i\|}{\|b\|_2} < eps
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="121" HEIGHT="44" BORDER="0"
|
||||
SRC="img158.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
</DD>
|
||||
<DT><STRONG>3</STRONG></DT>
|
||||
<DD>Relative residual reduction in the 2-norm; the iteration is stopped
|
||||
when
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
err = \frac{\|r_i\|}{\|r_0\|_2} < eps
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="129" HEIGHT="44" BORDER="0"
|
||||
SRC="img159.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert r_0\Vert _2} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
</DD>
|
||||
</DL>
|
||||
The behaviour is controlled by the istop argument (see
|
||||
later). In the above formulae, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="18" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img160.png"
|
||||
ALT="$x_i$"></SPAN> is the tentative solution and
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img161.png"
|
||||
ALT="$r_i=b-Ax_i$"></SPAN> the corresponding residual at the <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$"></SPAN>-th iteration.
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="BLAS2">5</A>
|
||||
<DD>
|
||||
Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R.,
|
||||
An Extended Set of Fortran Basic Linear Algebra Subprograms,
|
||||
ACM Trans. Math. Softw. vol. 14, 1-17, 1988.
|
||||
<P></P><DT><A NAME="BLAS3">6</A>
|
||||
<DD>
|
||||
Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I.,
|
||||
A Set of level 3 Basic Linear Algebra Subprograms,
|
||||
ACM Trans. Math. Softw. vol. 16, 1-17, 1990.<P></P><DT><A NAME="BLACS">7</A>
|
||||
<DD>
|
||||
J. J. Dongarra and R. C. Whaley,
|
||||
<EM>A User's Guide to the BLACS v. 1.1</EM>,
|
||||
Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of
|
||||
Tennessee, March 1995 (updated May 1997).<P></P><DT><A NAME="sblas97">8</A>
|
||||
<DD>
|
||||
I. Duff, M. Marrone, G. Radicati and C. Vittoli,
|
||||
<EM>Level 3 Basic Linear Algebra Subprograms for Sparse Matrices:
|
||||
a User Level Interface</EM>,
|
||||
ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997.<P></P><DT><A NAME="sblas02">9</A>
|
||||
<DD>
|
||||
I. Duff, M. Heroux and R. Pozo,
|
||||
<EM>An Overview of the Sparse Basic Linear
|
||||
Algebra Subprograms: the New Standard from the BLAS Technical Forum</EM>,
|
||||
ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002.
|
||||
<P></P><DT><A NAME="PSBLAS">10</A>
|
||||
<DD>
|
||||
S. Filippone and M. Colajanni,
|
||||
<EM>PSBLAS: A Library for Parallel Linear Algebra
|
||||
Computation on Sparse Matrices</EM>,
|
||||
<BR>
|
||||
ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000.<P></P><DT><A NAME="Sparse03">11</A>
|
||||
<DD>
|
||||
S. Filippone and A. Buttari,
|
||||
<EM>Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003</EM>,
|
||||
<IMG
|
||||
WIDTH="482" HEIGHT="35" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img162.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_krylov(method,a,prec,b,x,eps,desc_a,info,&
|
||||
& itmax,iter,err,itrace,irst,istop,cond)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
ACM Transactions on Mathematical Software, 38(4), 2012.<P></P><DT><A NAME="KIVA3PSBLAS">12</A>
|
||||
<DD>
|
||||
S. Filippone, P. D'Ambra, M. Colajanni,
|
||||
<EM>Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics
|
||||
Applications Code on Linux Clusters</EM>,
|
||||
in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors,
|
||||
Parallel Computing - Advances & Current Issues,
|
||||
pp. 441-448, Imperial College Press, 2002. <P></P><DT><A NAME="DesignPatterns">13</A>
|
||||
<DD>
|
||||
Gamma, E., Helm, R., Johnson, R., and Vlissides,
|
||||
J. 1995.
|
||||
<EM>Design Patterns: Elements of Reusable Object-Oriented Software</EM>.
|
||||
Addison-Wesley.
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="METIS">14</A>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
Karypis, G. and Kumar, V.,
|
||||
<EM>METIS: Unstructured Graph Partitioning and Sparse Matrix
|
||||
Ordering System</EM>.
|
||||
Minneapolis, MN 55455: University of Minnesota, Department of
|
||||
Computer Science, 1995.
|
||||
Internet Address: <code>http://www.cs.umn.edu/~karypis</code>.
|
||||
<P></P><DT><A NAME="BLAS1">15</A>
|
||||
<DD>
|
||||
Lawson, C., Hanson, R., Kincaid, D. and Krogh, F.,
|
||||
Basic Linear Algebra Subprograms for Fortran usage,
|
||||
ACM Trans. Math. Softw. vol. 5, 38-329, 1979.
|
||||
</DD>
|
||||
<DT><STRONG>method</STRONG></DT>
|
||||
<DD>a string that defines the iterative method to be
|
||||
used. Supported values are:
|
||||
<DL>
|
||||
<DT><STRONG>CG:</STRONG></DT>
|
||||
<DD>the Conjugate Gradient method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>CGS:</STRONG></DT>
|
||||
<DD>the Conjugate Gradient Stabilized method;
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="machiels">16</A>
|
||||
<DD>
|
||||
Machiels, L. and Deville, M.
|
||||
<EM>Fortran 90: An entry to object-oriented programming for the solution
|
||||
of partial differential equations.</EM>
|
||||
ACM Trans. Math. Softw. vol. 23, 32-49.
|
||||
<P></P><DT><A NAME="metcalf">17</A>
|
||||
<DD>
|
||||
Metcalf, M., Reid, J. and Cohen, M.
|
||||
<EM>Fortran 95/2003 explained.</EM>
|
||||
Oxford University Press, 2004.<P></P><DT><A NAME="RouXiaXu:11">18</A>
|
||||
<DD>
|
||||
Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The
|
||||
Object-Oriented Way. Cambridge University Press (2011)
|
||||
</DD>
|
||||
<DT><STRONG>GCR:</STRONG></DT>
|
||||
<DD>the Generalized Conjugate Residual method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>FCG:</STRONG></DT>
|
||||
<DD>the Flexible Conjugate Gradient method<A NAME="tex2html32"
|
||||
HREF="footnode.html#foot8093"><SUP><SPAN CLASS="arabic">5</SPAN></SUP></A>;
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="MPI1">19</A>
|
||||
<DD>
|
||||
M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra,
|
||||
<EM>MPI: The Complete Reference. Volume 1 - The MPI Core</EM>, second edition,
|
||||
MIT Press, 1998.</DL>
|
||||
</DD>
|
||||
<DT><STRONG>BICG:</STRONG></DT>
|
||||
<DD>the Bi-Conjugate Gradient method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>BICGSTAB:</STRONG></DT>
|
||||
<DD>the Bi-Conjugate Gradient Stabilized method;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>BICGSTABL:</STRONG></DT>
|
||||
<DD>the Bi-Conjugate Gradient Stabilized method with restarting;
|
||||
|
||||
</DD>
|
||||
<DT><STRONG>RGMRES:</STRONG></DT>
|
||||
<DD>the Generalized Minimal Residual method with restarting.
|
||||
|
||||
</DD>
|
||||
</DL>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the local portion of global sparse matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>The data structure containing the preconditioner.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type precdata<TT>psb_prec_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>The RHS vector.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>The initial guess.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>eps</STRONG></DT>
|
||||
<DD>The stopping tolerance.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a real number.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>itmax</STRONG></DT>
|
||||
<DD>The maximum number of iterations to perform.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="99" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img164.png"
|
||||
ALT="$itmax = 1000$"></SPAN>.
|
||||
<BR>
|
||||
Specified as: an integer variable <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="76" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img165.png"
|
||||
ALT="$itmax \ge 1$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>itrace</STRONG></DT>
|
||||
<DD>If <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="29" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img111.png"
|
||||
ALT="$>0$"></SPAN> print out an informational message about
|
||||
convergence every <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="45" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img166.png"
|
||||
ALT="$itrace$"></SPAN> iterations.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>irst</STRONG></DT>
|
||||
<DD>An integer specifying the restart parameter.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Values: <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="60" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img167.png"
|
||||
ALT="$irst>0$"></SPAN>. This is employed for the BiCGSTABL or RGMRES
|
||||
methods, otherwise it is ignored.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
</DD>
|
||||
<DT><STRONG>istop</STRONG></DT>
|
||||
<DD>An integer specifying the stopping criterion.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Values: 1: use the normwise backward error, 2: use the scaled 2-norm
|
||||
of the residual, 3: use the residual reduction in the 2-norm. Default: 2.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>The computed solution.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array or an object of type vdata<TT>psb_T_vect_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>iter</STRONG></DT>
|
||||
<DD>The number of iterations performed.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Returned as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>err</STRONG></DT>
|
||||
<DD>The convergence estimate on exit.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Returned as: a real number.
|
||||
</DD>
|
||||
<DT><STRONG>cond</STRONG></DT>
|
||||
<DD>An estimate of the condition number of matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>; only
|
||||
available with the <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="29" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img168.png"
|
||||
ALT="$CG$"></SPAN> method on real data.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Returned as: a real number. A correct result will be greater than or
|
||||
equal to one; if specified for non-real data, or an error occurred,
|
||||
zero is returned.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1904"
|
||||
HREF="node133.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1900"
|
||||
HREF="node131.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1896"
|
||||
HREF="node131.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1902"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1905"
|
||||
HREF="node133.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1901"
|
||||
HREF="node131.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1897"
|
||||
HREF="node131.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1903"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+146
-36
@@ -1,69 +1,179 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>About this document ...</TITLE>
|
||||
<META NAME="description" CONTENT="About this document ...">
|
||||
<TITLE>Bibliography</TITLE>
|
||||
<META NAME="description" CONTENT="Bibliography">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node132.html">
|
||||
<LINK REL="next" HREF="node134.html">
|
||||
<LINK REL="previous" HREF="node131.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node134.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_g.png">
|
||||
<A NAME="tex2html1907"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1916"
|
||||
HREF="node134.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1912"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1903"
|
||||
<A NAME="tex2html1906"
|
||||
HREF="node132.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1909"
|
||||
<A NAME="tex2html1914"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Up:</B> <A NAME="tex2html1908"
|
||||
<B> Next:</B> <A NAME="tex2html1917"
|
||||
HREF="node134.html">About this document ...</A>
|
||||
<B> Up:</B> <A NAME="tex2html1913"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1904"
|
||||
HREF="node132.html">Bibliography</A>
|
||||
<B> <A NAME="tex2html1910"
|
||||
<B> Previous:</B> <A NAME="tex2html1907"
|
||||
HREF="node132.html">psb_krylov Krylov</A>
|
||||
<B> <A NAME="tex2html1915"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR><BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000130000000000000000">
|
||||
Bibliography</A>
|
||||
</H2><DL COMPACT><DD><P></P><DT><A NAME="DesPat:11">1</A>
|
||||
<DD>
|
||||
D. Barbieri, V. Cardellini, S. Filippone and D. Rouson
|
||||
<EM>Design Patterns for Scientific Computations on Sparse Matrices</EM>,
|
||||
HPSS 2011, Algorithms and Programming Tools for Next-Generation High-Performance Scientific Software, Bordeaux, Sep. 2011
|
||||
|
||||
<H1><A NAME="SECTION000140000000000000000">
|
||||
About this document ...</A>
|
||||
</H1>
|
||||
<P>
|
||||
This document was generated using the
|
||||
<A HREF="http://www.latex2html.org/"><STRONG>LaTeX</STRONG>2<tt>HTML</tt></A> translator Version 2012 (1.2)
|
||||
<P>
|
||||
Copyright © 1993, 1994, 1995, 1996,
|
||||
<A HREF="http://cbl.leeds.ac.uk/nikos/personal.html">Nikos Drakos</A>,
|
||||
Computer Based Learning Unit, University of Leeds.
|
||||
<P></P><DT><A NAME="PARA04FOREST">2</A>
|
||||
<DD>
|
||||
G. Bella, S. Filippone, A. De Maio and M. Testa,
|
||||
<EM>A Simulation Model for Forest Fires</EM>,
|
||||
in J. Dongarra, K. Madsen, J. Wasniewski, editors,
|
||||
Proceedings of PARA 04 Workshop on State of the Art
|
||||
in Scientific Computing, pp. 546-553, Lecture Notes in Computer Science,
|
||||
Springer, 2005.
|
||||
<P></P><DT><A NAME="2007d">3</A>
|
||||
<DD> A. Buttari, D. di Serafino, P. D'Ambra, S. Filippone,<BR>
|
||||
2LEV-D2P4: a package of high-performance preconditioners,<BR>
|
||||
Applicable Algebra in Engineering, Communications and Computing,
|
||||
Volume 18, Number 3, May, 2007, pp. 223-239
|
||||
<P></P><DT><A NAME="2007c">4</A>
|
||||
<DD> P. D'Ambra, S. Filippone, D. Di Serafino<BR>
|
||||
On the Development of PSBLAS-based Parallel Two-level Schwarz Preconditioners
|
||||
<BR>
|
||||
Copyright © 1997, 1998, 1999,
|
||||
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
|
||||
Mathematics Department, Macquarie University, Sydney.
|
||||
Applied Numerical Mathematics, Elsevier Science,
|
||||
Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196.
|
||||
|
||||
<P>
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
|
||||
<P></P><DT><A NAME="BLAS2">5</A>
|
||||
<DD>
|
||||
Dongarra, J. J., DuCroz, J., Hammarling, S. and Hanson, R.,
|
||||
An Extended Set of Fortran Basic Linear Algebra Subprograms,
|
||||
ACM Trans. Math. Softw. vol. 14, 1-17, 1988.
|
||||
<P></P><DT><A NAME="BLAS3">6</A>
|
||||
<DD>
|
||||
Dongarra, J., DuCroz, J., Hammarling, S. and Duff, I.,
|
||||
A Set of level 3 Basic Linear Algebra Subprograms,
|
||||
ACM Trans. Math. Softw. vol. 16, 1-17, 1990.
|
||||
<P></P><DT><A NAME="BLACS">7</A>
|
||||
<DD>
|
||||
J. J. Dongarra and R. C. Whaley,
|
||||
<EM>A User's Guide to the BLACS v. 1.1</EM>,
|
||||
Lapack Working Note 94, Tech. Rep. UT-CS-95-281, University of
|
||||
Tennessee, March 1995 (updated May 1997).
|
||||
<P></P><DT><A NAME="sblas97">8</A>
|
||||
<DD>
|
||||
I. Duff, M. Marrone, G. Radicati and C. Vittoli,
|
||||
<EM>Level 3 Basic Linear Algebra Subprograms for Sparse Matrices:
|
||||
a User Level Interface</EM>,
|
||||
ACM Transactions on Mathematical Software, 23(3), pp. 379-401, 1997.
|
||||
<P></P><DT><A NAME="sblas02">9</A>
|
||||
<DD>
|
||||
I. Duff, M. Heroux and R. Pozo,
|
||||
<EM>An Overview of the Sparse Basic Linear
|
||||
Algebra Subprograms: the New Standard from the BLAS Technical Forum</EM>,
|
||||
ACM Transactions on Mathematical Software, 28(2), pp. 239-267, 2002.
|
||||
<P></P><DT><A NAME="PSBLAS">10</A>
|
||||
<DD>
|
||||
S. Filippone and M. Colajanni,
|
||||
<EM>PSBLAS: A Library for Parallel Linear Algebra
|
||||
Computation on Sparse Matrices</EM>,
|
||||
<BR>
|
||||
ACM Transactions on Mathematical Software, 26(4), pp. 527-550, 2000.
|
||||
<P></P><DT><A NAME="Sparse03">11</A>
|
||||
<DD>
|
||||
S. Filippone and A. Buttari,
|
||||
<EM>Object-Oriented Techniques for Sparse Matrix Computations in Fortran 2003</EM>,
|
||||
<BR>
|
||||
ACM Transactions on Mathematical Software, 38(4), 2012.
|
||||
<P></P><DT><A NAME="KIVA3PSBLAS">12</A>
|
||||
<DD>
|
||||
S. Filippone, P. D'Ambra, M. Colajanni,
|
||||
<EM>Using a Parallel Library of Sparse Linear Algebra in a Fluid Dynamics
|
||||
Applications Code on Linux Clusters</EM>,
|
||||
in G. Joubert, A. Murli, F. Peters, M. Vanneschi, editors,
|
||||
Parallel Computing - Advances & Current Issues,
|
||||
pp. 441-448, Imperial College Press, 2002.
|
||||
<P></P><DT><A NAME="DesignPatterns">13</A>
|
||||
<DD>
|
||||
Gamma, E., Helm, R., Johnson, R., and Vlissides,
|
||||
J. 1995.
|
||||
<EM>Design Patterns: Elements of Reusable Object-Oriented Software</EM>.
|
||||
Addison-Wesley.
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="METIS">14</A>
|
||||
<DD>
|
||||
Karypis, G. and Kumar, V.,
|
||||
<EM>METIS: Unstructured Graph Partitioning and Sparse Matrix
|
||||
Ordering System</EM>.
|
||||
Minneapolis, MN 55455: University of Minnesota, Department of
|
||||
Computer Science, 1995.
|
||||
Internet Address: <code>http://www.cs.umn.edu/~karypis</code>.
|
||||
<P></P><DT><A NAME="BLAS1">15</A>
|
||||
<DD>
|
||||
Lawson, C., Hanson, R., Kincaid, D. and Krogh, F.,
|
||||
Basic Linear Algebra Subprograms for Fortran usage,
|
||||
ACM Trans. Math. Softw. vol. 5, 38-329, 1979.
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="machiels">16</A>
|
||||
<DD>
|
||||
Machiels, L. and Deville, M.
|
||||
<EM>Fortran 90: An entry to object-oriented programming for the solution
|
||||
of partial differential equations.</EM>
|
||||
ACM Trans. Math. Softw. vol. 23, 32-49.
|
||||
<P></P><DT><A NAME="metcalf">17</A>
|
||||
<DD>
|
||||
Metcalf, M., Reid, J. and Cohen, M.
|
||||
<EM>Fortran 95/2003 explained.</EM>
|
||||
Oxford University Press, 2004.
|
||||
<P></P><DT><A NAME="RouXiaXu:11">18</A>
|
||||
<DD>
|
||||
Rouson, D.W.I., Xia, J., Xu, X.: Scientific Software Design: The
|
||||
Object-Oriented Way. Cambridge University Press (2011)
|
||||
|
||||
<P>
|
||||
<P></P><DT><A NAME="MPI1">19</A>
|
||||
<DD>
|
||||
M. Snir, S. Otto, S. Huss-Lederman, D. Walker and J. Dongarra,
|
||||
<EM>MPI: The Complete Reference. Volume 1 - The MPI Core</EM>, second edition,
|
||||
MIT Press, 1998.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
The translation was initiated by Salvatore Filippone on 2017-11-12
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
+14
-17
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_global_rows -- Get number of global rows</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html409"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html412"
|
||||
HREF="node15.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html405"
|
||||
<A NAME="tex2html408"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html399"
|
||||
<A NAME="tex2html402"
|
||||
HREF="node13.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html407"
|
||||
<A NAME="tex2html410"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html410"
|
||||
<B> Next:</B> <A NAME="tex2html413"
|
||||
HREF="node15.html">get_global_cols Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html406"
|
||||
<B> Up:</B> <A NAME="tex2html409"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html400"
|
||||
<B> Previous:</B> <A NAME="tex2html403"
|
||||
HREF="node13.html">get_local_cols Get</A>
|
||||
<B> <A NAME="tex2html408"
|
||||
<B> <A NAME="tex2html411"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041400000000000000">
|
||||
|
||||
+14
-17
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_global_cols -- Get number of global cols</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html421"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html424"
|
||||
HREF="node16.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html417"
|
||||
<A NAME="tex2html420"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html411"
|
||||
<A NAME="tex2html414"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html419"
|
||||
<A NAME="tex2html422"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html422"
|
||||
<B> Next:</B> <A NAME="tex2html425"
|
||||
HREF="node16.html">get_global_indices Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html418"
|
||||
<B> Up:</B> <A NAME="tex2html421"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html412"
|
||||
<B> Previous:</B> <A NAME="tex2html415"
|
||||
HREF="node14.html">get_global_rows Get</A>
|
||||
<B> <A NAME="tex2html420"
|
||||
<B> <A NAME="tex2html423"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041500000000000000">
|
||||
|
||||
+14
-17
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_global_indices -- Get vector of global indices</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html433"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html436"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html429"
|
||||
<A NAME="tex2html432"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html423"
|
||||
<A NAME="tex2html426"
|
||||
HREF="node15.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html431"
|
||||
<A NAME="tex2html434"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html434"
|
||||
<B> Next:</B> <A NAME="tex2html437"
|
||||
HREF="node17.html">get_context Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html430"
|
||||
<B> Up:</B> <A NAME="tex2html433"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html424"
|
||||
<B> Previous:</B> <A NAME="tex2html427"
|
||||
HREF="node15.html">get_global_cols Get</A>
|
||||
<B> <A NAME="tex2html432"
|
||||
<B> <A NAME="tex2html435"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041600000000000000">
|
||||
|
||||
+14
-17
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_context -- Get communication context</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html445"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html448"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html441"
|
||||
<A NAME="tex2html444"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html435"
|
||||
<A NAME="tex2html438"
|
||||
HREF="node16.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html443"
|
||||
<A NAME="tex2html446"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html446"
|
||||
<B> Next:</B> <A NAME="tex2html449"
|
||||
HREF="node18.html">Clone clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html442"
|
||||
<B> Up:</B> <A NAME="tex2html445"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html436"
|
||||
<B> Previous:</B> <A NAME="tex2html439"
|
||||
HREF="node16.html">get_global_indices Get</A>
|
||||
<B> <A NAME="tex2html444"
|
||||
<B> <A NAME="tex2html447"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041700000000000000">
|
||||
|
||||
+15
-18
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Clone -- clone current object</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html457"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html460"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html453"
|
||||
<A NAME="tex2html456"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html447"
|
||||
<A NAME="tex2html450"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html455"
|
||||
<A NAME="tex2html458"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html458"
|
||||
HREF="node19.html">psb_cd_get_large_threshold Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html454"
|
||||
<B> Next:</B> <A NAME="tex2html461"
|
||||
HREF="node19.html">CNV convert</A>
|
||||
<B> Up:</B> <A NAME="tex2html457"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html448"
|
||||
<B> Previous:</B> <A NAME="tex2html451"
|
||||
HREF="node17.html">get_context Get</A>
|
||||
<B> <A NAME="tex2html456"
|
||||
<B> <A NAME="tex2html459"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041800000000000000">
|
||||
|
||||
+34
-28
@@ -1,19 +1,15 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_cd_get_large_threshold -- Get threshold for index mapping switch</TITLE>
|
||||
<META NAME="description" CONTENT="psb_cd_get_large_threshold -- Get threshold for index mapping switch">
|
||||
<TITLE>CNV -- convert internal storage format</TITLE>
|
||||
<META NAME="description" CONTENT="CNV -- convert internal storage format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,40 +21,40 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html469"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html472"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html465"
|
||||
<A NAME="tex2html468"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html459"
|
||||
<A NAME="tex2html462"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html467"
|
||||
<A NAME="tex2html470"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html470"
|
||||
HREF="node20.html">psb_cd_set_large_threshold Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html466"
|
||||
<B> Next:</B> <A NAME="tex2html473"
|
||||
HREF="node20.html">psb_cd_get_large_threshold Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html469"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html460"
|
||||
<B> Previous:</B> <A NAME="tex2html463"
|
||||
HREF="node18.html">Clone clone</A>
|
||||
<B> <A NAME="tex2html468"
|
||||
<B> <A NAME="tex2html471"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00041900000000000000">
|
||||
psb_cd_get_large_threshold -- Get threshold for
|
||||
index mapping switch</A>
|
||||
CNV -- convert internal storage format</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
ith = psb_cd_get_large_threshold()
|
||||
call desc%cnv(mold)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -66,15 +62,25 @@ ith = psb_cd_get_large_threshold()
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The current value for the size threshold.
|
||||
|
||||
<P>
|
||||
<DT><STRONG>desc</STRONG></DT>
|
||||
<DD>the communication descriptor.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>mold</STRONG></DT>
|
||||
<DD>the desred integer storage format.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Specified as: a object of type derived from (integer) vbasedata<TT>psb_T_base_vect_type</TT>.
|
||||
</DD>
|
||||
</DL>
|
||||
The <code>mold</code> arguments may be
|
||||
employed to interface with special devices, such as GPUs and other
|
||||
accelerators.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
+35
-37
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Introduction</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html211"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html212"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html207"
|
||||
<A NAME="tex2html208"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html201"
|
||||
<A NAME="tex2html202"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html209"
|
||||
<A NAME="tex2html210"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html212"
|
||||
<B> Next:</B> <A NAME="tex2html213"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Up:</B> <A NAME="tex2html208"
|
||||
<B> Up:</B> <A NAME="tex2html209"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html202"
|
||||
<B> Previous:</B> <A NAME="tex2html203"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html210"
|
||||
<B> <A NAME="tex2html211"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00020000000000000000"></A><A NAME="sec:intro"></A>
|
||||
@@ -71,7 +68,7 @@ passing.
|
||||
<P>
|
||||
The PSBLAS library version 3 is implemented in
|
||||
the Fortran 2003 [<A
|
||||
HREF="node132.html#metcalf">17</A>] programming language, with reuse and/or
|
||||
HREF="node133.html#metcalf">17</A>] programming language, with reuse and/or
|
||||
adaptation of existing Fortran 77 and Fortran 95 software, plus a
|
||||
handful of C routines.
|
||||
|
||||
@@ -81,11 +78,11 @@ mostly in the handling of requirements for evolution and adaptation of
|
||||
the library to new computing architectures and integration of
|
||||
new algorithms.
|
||||
For a detailed discussion of our design see [<A
|
||||
HREF="node132.html#Sparse03">11</A>]; other
|
||||
HREF="node133.html#Sparse03">11</A>]; other
|
||||
works discussing advanced programming in Fortran 2003
|
||||
include [<A
|
||||
HREF="node132.html#DesPat:11">1</A>,<A
|
||||
HREF="node132.html#RouXiaXu:11">18</A>]; sufficient support for
|
||||
HREF="node133.html#DesPat:11">1</A>,<A
|
||||
HREF="node133.html#RouXiaXu:11">18</A>]; sufficient support for
|
||||
Fortran 2003 is now available from many compilers, including the GNU
|
||||
Fortran compiler from the Free Software Foundation (as of version 4.8).
|
||||
|
||||
@@ -94,7 +91,7 @@ Previous approaches have been based on mixing Fortran 95, with its
|
||||
support for object-based design, with other languages; these have
|
||||
been advocated by a number of authors,
|
||||
e.g. [<A
|
||||
HREF="node132.html#machiels">16</A>]. Moreover, the Fortran 95 facilities for dynamic
|
||||
HREF="node133.html#machiels">16</A>]. Moreover, the Fortran 95 facilities for dynamic
|
||||
memory management and interface overloading greatly enhance the
|
||||
usability of the PSBLAS
|
||||
subroutines. In this way, the library can take care of runtime memory
|
||||
@@ -105,12 +102,12 @@ implementation or compilation time.
|
||||
The presentation of the
|
||||
PSBLAS library follows the general structure of the proposal for
|
||||
serial Sparse BLAS [<A
|
||||
HREF="node132.html#sblas97">8</A>,<A
|
||||
HREF="node132.html#sblas02">9</A>], which in its turn is based on the
|
||||
HREF="node133.html#sblas97">8</A>,<A
|
||||
HREF="node133.html#sblas02">9</A>], which in its turn is based on the
|
||||
proposal for BLAS on dense matrices [<A
|
||||
HREF="node132.html#BLAS1">15</A>,<A
|
||||
HREF="node132.html#BLAS2">5</A>,<A
|
||||
HREF="node132.html#BLAS3">6</A>].
|
||||
HREF="node133.html#BLAS1">15</A>,<A
|
||||
HREF="node133.html#BLAS2">5</A>,<A
|
||||
HREF="node133.html#BLAS3">6</A>].
|
||||
|
||||
<P>
|
||||
The applicability of sparse iterative solvers to many different areas
|
||||
@@ -142,29 +139,30 @@ an established experience in applying the PSBLAS solvers to
|
||||
computational fluid dynamics applications.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html211"
|
||||
<A NAME="tex2html212"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html207"
|
||||
<A NAME="tex2html208"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html201"
|
||||
<A NAME="tex2html202"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html209"
|
||||
<A NAME="tex2html210"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html212"
|
||||
<B> Next:</B> <A NAME="tex2html213"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Up:</B> <A NAME="tex2html208"
|
||||
<B> Up:</B> <A NAME="tex2html209"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html202"
|
||||
<B> Previous:</B> <A NAME="tex2html203"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html210"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> <A NAME="tex2html211"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+26
-40
@@ -1,19 +1,15 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_cd_set_large_threshold -- Set threshold for index mapping switch</TITLE>
|
||||
<META NAME="description" CONTENT="psb_cd_set_large_threshold -- Set threshold for index mapping switch">
|
||||
<TITLE>psb_cd_get_large_threshold -- Get threshold for index mapping switch</TITLE>
|
||||
<META NAME="description" CONTENT="psb_cd_get_large_threshold -- Get threshold for index mapping switch">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,67 +21,57 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html481"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html484"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html477"
|
||||
<A NAME="tex2html480"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html471"
|
||||
<A NAME="tex2html474"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html479"
|
||||
<A NAME="tex2html482"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html482"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
<B> Up:</B> <A NAME="tex2html478"
|
||||
<B> Next:</B> <A NAME="tex2html485"
|
||||
HREF="node21.html">psb_cd_set_large_threshold Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html481"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html472"
|
||||
HREF="node19.html">psb_cd_get_large_threshold Get</A>
|
||||
<B> <A NAME="tex2html480"
|
||||
<B> Previous:</B> <A NAME="tex2html475"
|
||||
HREF="node19.html">CNV convert</A>
|
||||
<B> <A NAME="tex2html483"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000411000000000000000">
|
||||
psb_cd_set_large_threshold -- Set threshold for
|
||||
psb_cd_get_large_threshold -- Get threshold for
|
||||
index mapping switch</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_cd_set_large_threshold(ith)
|
||||
ith = psb_cd_get_large_threshold()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>ith</STRONG></DT>
|
||||
<DD>the new threshold for communication descriptors.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value greater than zero.
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The current value for the size threshold.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
Note: the threshold value is only queried by the library at the time a
|
||||
call to <code>psb_cdall</code> is executed, therefore changing the threshold
|
||||
has no effect on communication descriptors that have already been
|
||||
initialized. Moreover the threshold must have the same value on all
|
||||
processes.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
+49
-59
@@ -1,98 +1,88 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Named Constants</TITLE>
|
||||
<META NAME="description" CONTENT="Named Constants">
|
||||
<TITLE>psb_cd_set_large_threshold -- Set threshold for index mapping switch</TITLE>
|
||||
<META NAME="description" CONTENT="psb_cd_set_large_threshold -- Set threshold for index mapping switch">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node22.html">
|
||||
<LINK REL="previous" HREF="node20.html">
|
||||
<LINK REL="up" HREF="node10.html">
|
||||
<LINK REL="next" HREF="node22.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html491"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html496"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html487"
|
||||
<A NAME="tex2html492"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html483"
|
||||
<A NAME="tex2html486"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html489"
|
||||
<A NAME="tex2html494"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html492"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Up:</B> <A NAME="tex2html488"
|
||||
<B> Next:</B> <A NAME="tex2html497"
|
||||
HREF="node22.html">Named Constants</A>
|
||||
<B> Up:</B> <A NAME="tex2html493"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html484"
|
||||
HREF="node20.html">psb_cd_set_large_threshold Set</A>
|
||||
<B> <A NAME="tex2html490"
|
||||
<B> Previous:</B> <A NAME="tex2html487"
|
||||
HREF="node20.html">psb_cd_get_large_threshold Get</A>
|
||||
<B> <A NAME="tex2html495"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000411100000000000000"></A>
|
||||
<A NAME="sec:cd_constants"></A>
|
||||
<BR>
|
||||
Named Constants
|
||||
<H3><A NAME="SECTION000411100000000000000">
|
||||
psb_cd_set_large_threshold -- Set threshold for
|
||||
index mapping switch</A>
|
||||
</H3>
|
||||
<DL>
|
||||
<DT><STRONG>psb_none_</STRONG></DT>
|
||||
<DD>Generic no-op;
|
||||
</DD>
|
||||
<DT><STRONG>psb_root_</STRONG></DT>
|
||||
<DD>Default root process for broadcast and scatter operations;
|
||||
</DD>
|
||||
<DT><STRONG>psb_nohalo_</STRONG></DT>
|
||||
<DD>Do not fetch halo elements;
|
||||
</DD>
|
||||
<DT><STRONG>psb_halo_</STRONG></DT>
|
||||
<DD>Fetch halo elements from neighbouring processes;
|
||||
</DD>
|
||||
<DT><STRONG>psb_sum_</STRONG></DT>
|
||||
<DD>Sum overlapped elements
|
||||
</DD>
|
||||
<DT><STRONG>psb_avg_</STRONG></DT>
|
||||
<DD>Average overlapped elements
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_halo_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>halo_index</code>
|
||||
list;
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_ext_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>ext_index</code>
|
||||
list;
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_ovr_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>ovrlap_index</code>
|
||||
list;
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_mov_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>ovr_mst_idx</code>
|
||||
list;
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_cd_set_large_threshold(ith)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>ith</STRONG></DT>
|
||||
<DD>the new threshold for communication descriptors.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value greater than zero.
|
||||
</DD>
|
||||
</DL>
|
||||
Note: the threshold value is only queried by the library at the time a
|
||||
call to <code>psb_cdall</code> is executed, therefore changing the threshold
|
||||
has no effect on communication descriptors that have already been
|
||||
initialized. Moreover the threshold must have the same value on all
|
||||
processes.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
+56
-177
@@ -1,219 +1,98 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Sparse Matrix class</TITLE>
|
||||
<META NAME="description" CONTENT="Sparse Matrix class">
|
||||
<TITLE>Named Constants</TITLE>
|
||||
<META NAME="description" CONTENT="Named Constants">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node42.html">
|
||||
<LINK REL="previous" HREF="node10.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="previous" HREF="node21.html">
|
||||
<LINK REL="up" HREF="node10.html">
|
||||
<LINK REL="next" HREF="node23.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html503"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html506"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html499"
|
||||
HREF="node9.html">
|
||||
<A NAME="tex2html502"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html493"
|
||||
<A NAME="tex2html498"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html501"
|
||||
<A NAME="tex2html504"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html504"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html500"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html494"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html502"
|
||||
<B> Next:</B> <A NAME="tex2html507"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Up:</B> <A NAME="tex2html503"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html499"
|
||||
HREF="node21.html">psb_cd_set_large_threshold Set</A>
|
||||
<B> <A NAME="tex2html505"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00042000000000000000"></A>
|
||||
<A NAME="sec:spmat"></A>
|
||||
<H3><A NAME="SECTION000411200000000000000"></A>
|
||||
<A NAME="sec:cd_constants"></A>
|
||||
<BR>
|
||||
Sparse Matrix class
|
||||
</H2>
|
||||
The spdata<TT>psb_Tspmat_type</TT> class
|
||||
contains all information about the local portion of the sparse matrix and
|
||||
its storage mode. Its design is
|
||||
based on the STATE design pattern [<A
|
||||
HREF="node132.html#DesignPatterns">13</A>] as detailed
|
||||
in [<A
|
||||
HREF="node132.html#Sparse03">11</A>]; the type declaration is shown in
|
||||
figure <A HREF="#fig:spmattype">4</A> where <code>T</code> is a placeholder for the
|
||||
data type and precision variants
|
||||
Named Constants
|
||||
</H3>
|
||||
<DL>
|
||||
<DT><STRONG>S</STRONG></DT>
|
||||
<DD>Single precision real;
|
||||
<DT><STRONG>psb_none_</STRONG></DT>
|
||||
<DD>Generic no-op;
|
||||
</DD>
|
||||
<DT><STRONG>D</STRONG></DT>
|
||||
<DD>Double precision real;
|
||||
<DT><STRONG>psb_root_</STRONG></DT>
|
||||
<DD>Default root process for broadcast and scatter operations;
|
||||
</DD>
|
||||
<DT><STRONG>C</STRONG></DT>
|
||||
<DD>Single precision complex;
|
||||
<DT><STRONG>psb_nohalo_</STRONG></DT>
|
||||
<DD>Do not fetch halo elements;
|
||||
</DD>
|
||||
<DT><STRONG>Z</STRONG></DT>
|
||||
<DD>Double precision complex.
|
||||
<DT><STRONG>psb_halo_</STRONG></DT>
|
||||
<DD>Fetch halo elements from neighbouring processes;
|
||||
</DD>
|
||||
</DL>
|
||||
The actual data is contained in the polymorphic component <code>a%a</code>
|
||||
of type spbasedata<TT>psb_T_base_sparse_mat</TT>; its
|
||||
specific layout can be chosen dynamically among the predefined types,
|
||||
or an entirely new storage layout can be implemented and passed to the
|
||||
library at runtime via the <code>psb_spasb</code> routine.
|
||||
<DT><STRONG>psb_sum_</STRONG></DT>
|
||||
<DD>Sum overlapped elements
|
||||
</DD>
|
||||
<DT><STRONG>psb_avg_</STRONG></DT>
|
||||
<DD>Average overlapped elements
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_halo_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>halo_index</code>
|
||||
list;
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_ext_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>ext_index</code>
|
||||
list;
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_ovr_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>ovrlap_index</code>
|
||||
list;
|
||||
</DD>
|
||||
<DT><STRONG>psb_comm_mov_</STRONG></DT>
|
||||
<DD>Exchange data based on the <code>ovr_mst_idx</code>
|
||||
list;
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:spmattype"></A><A NAME="920"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
|
||||
The PSBLAS defined data type that
|
||||
contains a sparse matrix.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV><TABLE WIDTH="85%">
|
||||
<TR><TD>
|
||||
<PRE>
|
||||
type :: psb_Tspmat_type
|
||||
class(psb_T_base_sparse_mat), allocatable :: a
|
||||
end type psb_Tspmat_type
|
||||
</PRE></TD></TR>
|
||||
</TABLE>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
The following very common formats are precompiled in PSBLAS and thus
|
||||
are always available:
|
||||
<DL>
|
||||
<DT><STRONG>psb_T_coo_sparse_mat</STRONG></DT>
|
||||
<DD>Coordinate storage;
|
||||
</DD>
|
||||
<DT><STRONG>psb_T_csr_sparse_mat</STRONG></DT>
|
||||
<DD>Compressed storage by rows;
|
||||
</DD>
|
||||
<DT><STRONG>psb_T_csc_sparse_mat</STRONG></DT>
|
||||
<DD>Compressed storage by columns;
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
The inner sparse matrix has an associated state, which can take the
|
||||
following values:
|
||||
<DL>
|
||||
<DT><STRONG>Build:</STRONG></DT>
|
||||
<DD>State entered after the first allocation, and before the
|
||||
first assembly; in this state it is possible to add nonzero entries.
|
||||
</DD>
|
||||
<DT><STRONG>Assembled:</STRONG></DT>
|
||||
<DD>State entered after the assembly; computations using
|
||||
the sparse matrix, such as matrix-vector products, are only possible
|
||||
in this state;
|
||||
</DD>
|
||||
<DT><STRONG>Update:</STRONG></DT>
|
||||
<DD>State entered after a reinitalization; this is used to
|
||||
handle applications in which the same sparsity pattern is used
|
||||
multiple times with different coefficients. In this state it is only
|
||||
possible to enter coefficients for already existing nonzero entries.
|
||||
</DD>
|
||||
</DL>
|
||||
The only storage variant supporting the build state is COO; all other
|
||||
variants are obtained by conversion to/from it.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html505"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<LI><A NAME="tex2html506"
|
||||
HREF="node24.html">get_nrows -- Get number of rows in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html507"
|
||||
HREF="node25.html">get_ncols -- Get number of columns in a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html508"
|
||||
HREF="node26.html">get_nnzeros -- Get number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html509"
|
||||
HREF="node27.html">get_size -- Get maximum number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html510"
|
||||
HREF="node28.html">sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</A>
|
||||
<LI><A NAME="tex2html511"
|
||||
HREF="node29.html">get_fmt -- Short description of the dynamic type</A>
|
||||
<LI><A NAME="tex2html512"
|
||||
HREF="node30.html">is_bld, is_upd, is_asb -- Status check</A>
|
||||
<LI><A NAME="tex2html513"
|
||||
HREF="node31.html">is_lower, is_upper, is_triangle, is_unit --
|
||||
Format check</A>
|
||||
<LI><A NAME="tex2html514"
|
||||
HREF="node32.html">cscnv -- Convert to a different storage format</A>
|
||||
<LI><A NAME="tex2html515"
|
||||
HREF="node33.html">csclip -- Reduce to a submatrix</A>
|
||||
<LI><A NAME="tex2html516"
|
||||
HREF="node34.html">clean_zeros -- Eliminate zero coefficients</A>
|
||||
<LI><A NAME="tex2html517"
|
||||
HREF="node35.html">get_diag -- Get main diagonal</A>
|
||||
<LI><A NAME="tex2html518"
|
||||
HREF="node36.html">clip_diag -- Cut out main diagonal</A>
|
||||
<LI><A NAME="tex2html519"
|
||||
HREF="node37.html">tril -- Return the lower triangle</A>
|
||||
<LI><A NAME="tex2html520"
|
||||
HREF="node38.html">triu -- Return the upper triangle</A>
|
||||
<LI><A NAME="tex2html521"
|
||||
HREF="node39.html">psb_set_mat_default -- Set default storage format</A>
|
||||
<LI><A NAME="tex2html522"
|
||||
HREF="node40.html">clone -- Clone current object</A>
|
||||
<LI><A NAME="tex2html523"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html503"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html499"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html493"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html501"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html504"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html500"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html494"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html502"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+184
-29
@@ -1,62 +1,217 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Sparse Matrix Methods</TITLE>
|
||||
<META NAME="description" CONTENT="Sparse Matrix Methods">
|
||||
<TITLE>Sparse Matrix class</TITLE>
|
||||
<META NAME="description" CONTENT="Sparse Matrix class">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node24.html">
|
||||
<LINK REL="previous" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="next" HREF="node43.html">
|
||||
<LINK REL="previous" HREF="node10.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node24.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html534"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html518"
|
||||
HREF="node24.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html530"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html514"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html524"
|
||||
<A NAME="tex2html508"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html532"
|
||||
<A NAME="tex2html516"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html535"
|
||||
HREF="node24.html">get_nrows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html531"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html525"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> <A NAME="tex2html533"
|
||||
<B> Next:</B> <A NAME="tex2html519"
|
||||
HREF="node24.html">Sparse Matrix Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html515"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html509"
|
||||
HREF="node22.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html517"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042100000000000000">
|
||||
Sparse Matrix Methods</A>
|
||||
</H3>
|
||||
<H2><A NAME="SECTION00042000000000000000"></A>
|
||||
<A NAME="sec:spmat"></A>
|
||||
<BR>
|
||||
Sparse Matrix class
|
||||
</H2>
|
||||
The spdata<TT>psb_Tspmat_type</TT> class
|
||||
contains all information about the local portion of the sparse matrix and
|
||||
its storage mode. Its design is
|
||||
based on the STATE design pattern [<A
|
||||
HREF="node133.html#DesignPatterns">13</A>] as detailed
|
||||
in [<A
|
||||
HREF="node133.html#Sparse03">11</A>]; the type declaration is shown in
|
||||
figure <A HREF="#fig:spmattype">4</A> where <code>T</code> is a placeholder for the
|
||||
data type and precision variants
|
||||
<DL>
|
||||
<DT><STRONG>S</STRONG></DT>
|
||||
<DD>Single precision real;
|
||||
</DD>
|
||||
<DT><STRONG>D</STRONG></DT>
|
||||
<DD>Double precision real;
|
||||
</DD>
|
||||
<DT><STRONG>C</STRONG></DT>
|
||||
<DD>Single precision complex;
|
||||
</DD>
|
||||
<DT><STRONG>Z</STRONG></DT>
|
||||
<DD>Double precision complex.
|
||||
</DD>
|
||||
</DL>
|
||||
The actual data is contained in the polymorphic component <code>a%a</code>
|
||||
of type spbasedata<TT>psb_T_base_sparse_mat</TT>; its
|
||||
specific layout can be chosen dynamically among the predefined types,
|
||||
or an entirely new storage layout can be implemented and passed to the
|
||||
library at runtime via the <code>psb_spasb</code> routine.
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:spmattype"></A><A NAME="934"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
|
||||
The PSBLAS defined data type that
|
||||
contains a sparse matrix.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV><TABLE WIDTH="85%">
|
||||
<TR><TD>
|
||||
<PRE>
|
||||
type :: psb_Tspmat_type
|
||||
class(psb_T_base_sparse_mat), allocatable :: a
|
||||
end type psb_Tspmat_type
|
||||
</PRE></TD></TR>
|
||||
</TABLE>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
The following very common formats are precompiled in PSBLAS and thus
|
||||
are always available:
|
||||
<DL>
|
||||
<DT><STRONG>psb_T_coo_sparse_mat</STRONG></DT>
|
||||
<DD>Coordinate storage;
|
||||
</DD>
|
||||
<DT><STRONG>psb_T_csr_sparse_mat</STRONG></DT>
|
||||
<DD>Compressed storage by rows;
|
||||
</DD>
|
||||
<DT><STRONG>psb_T_csc_sparse_mat</STRONG></DT>
|
||||
<DD>Compressed storage by columns;
|
||||
</DD>
|
||||
</DL>
|
||||
The inner sparse matrix has an associated state, which can take the
|
||||
following values:
|
||||
<DL>
|
||||
<DT><STRONG>Build:</STRONG></DT>
|
||||
<DD>State entered after the first allocation, and before the
|
||||
first assembly; in this state it is possible to add nonzero entries.
|
||||
</DD>
|
||||
<DT><STRONG>Assembled:</STRONG></DT>
|
||||
<DD>State entered after the assembly; computations using
|
||||
the sparse matrix, such as matrix-vector products, are only possible
|
||||
in this state;
|
||||
</DD>
|
||||
<DT><STRONG>Update:</STRONG></DT>
|
||||
<DD>State entered after a reinitalization; this is used to
|
||||
handle applications in which the same sparsity pattern is used
|
||||
multiple times with different coefficients. In this state it is only
|
||||
possible to enter coefficients for already existing nonzero entries.
|
||||
</DD>
|
||||
</DL>
|
||||
The only storage variant supporting the build state is COO; all other
|
||||
variants are obtained by conversion to/from it.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html520"
|
||||
HREF="node24.html">Sparse Matrix Methods</A>
|
||||
<LI><A NAME="tex2html521"
|
||||
HREF="node25.html">get_nrows -- Get number of rows in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html522"
|
||||
HREF="node26.html">get_ncols -- Get number of columns in a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html523"
|
||||
HREF="node27.html">get_nnzeros -- Get number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html524"
|
||||
HREF="node28.html">get_size -- Get maximum number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html525"
|
||||
HREF="node29.html">sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</A>
|
||||
<LI><A NAME="tex2html526"
|
||||
HREF="node30.html">get_fmt -- Short description of the dynamic type</A>
|
||||
<LI><A NAME="tex2html527"
|
||||
HREF="node31.html">is_bld, is_upd, is_asb -- Status check</A>
|
||||
<LI><A NAME="tex2html528"
|
||||
HREF="node32.html">is_lower, is_upper, is_triangle, is_unit --
|
||||
Format check</A>
|
||||
<LI><A NAME="tex2html529"
|
||||
HREF="node33.html">cscnv -- Convert to a different storage format</A>
|
||||
<LI><A NAME="tex2html530"
|
||||
HREF="node34.html">csclip -- Reduce to a submatrix</A>
|
||||
<LI><A NAME="tex2html531"
|
||||
HREF="node35.html">clean_zeros -- Eliminate zero coefficients</A>
|
||||
<LI><A NAME="tex2html532"
|
||||
HREF="node36.html">get_diag -- Get main diagonal</A>
|
||||
<LI><A NAME="tex2html533"
|
||||
HREF="node37.html">clip_diag -- Cut out main diagonal</A>
|
||||
<LI><A NAME="tex2html534"
|
||||
HREF="node38.html">tril -- Return the lower triangle</A>
|
||||
<LI><A NAME="tex2html535"
|
||||
HREF="node39.html">triu -- Return the upper triangle</A>
|
||||
<LI><A NAME="tex2html536"
|
||||
HREF="node40.html">psb_set_mat_default -- Set default storage format</A>
|
||||
<LI><A NAME="tex2html537"
|
||||
HREF="node41.html">clone -- Clone current object</A>
|
||||
<LI><A NAME="tex2html538"
|
||||
HREF="node42.html">Named Constants</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html518"
|
||||
HREF="node24.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html514"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html508"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html516"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html519"
|
||||
HREF="node24.html">Sparse Matrix Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html515"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html509"
|
||||
HREF="node22.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html517"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+23
-56
@@ -1,90 +1,57 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_nrows -- Get number of rows in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_nrows -- Get number of rows in a sparse matrix">
|
||||
<TITLE>Sparse Matrix Methods</TITLE>
|
||||
<META NAME="description" CONTENT="Sparse Matrix Methods">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node25.html">
|
||||
<LINK REL="previous" HREF="node23.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node25.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html546"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html549"
|
||||
HREF="node25.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html542"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html545"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html536"
|
||||
<A NAME="tex2html539"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html544"
|
||||
<A NAME="tex2html547"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html547"
|
||||
HREF="node25.html">get_ncols Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html543"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html537"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<B> <A NAME="tex2html545"
|
||||
<B> Next:</B> <A NAME="tex2html550"
|
||||
HREF="node25.html">get_nrows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html546"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html540"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> <A NAME="tex2html548"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042200000000000000">
|
||||
get_nrows -- Get number of rows in a sparse matrix</A>
|
||||
<H3><A NAME="SECTION00042100000000000000">
|
||||
Sparse Matrix Methods</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
nr = a%get_nrows()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The number of rows of sparse matrix <code>a</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
|
||||
+25
-29
@@ -1,64 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_ncols -- Get number of columns in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_ncols -- Get number of columns in a sparse matrix">
|
||||
<TITLE>get_nrows -- Get number of rows in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_nrows -- Get number of rows in a sparse matrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node26.html">
|
||||
<LINK REL="previous" HREF="node24.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node26.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html558"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html561"
|
||||
HREF="node26.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html554"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html557"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html548"
|
||||
<A NAME="tex2html551"
|
||||
HREF="node24.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html556"
|
||||
<A NAME="tex2html559"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html559"
|
||||
HREF="node26.html">get_nnzeros Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html555"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html549"
|
||||
HREF="node24.html">get_nrows Get</A>
|
||||
<B> <A NAME="tex2html557"
|
||||
<B> Next:</B> <A NAME="tex2html562"
|
||||
HREF="node26.html">get_ncols Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html558"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html552"
|
||||
HREF="node24.html">Sparse Matrix Methods</A>
|
||||
<B> <A NAME="tex2html560"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042300000000000000">
|
||||
get_ncols -- Get number of columns in a sparse
|
||||
matrix</A>
|
||||
<H3><A NAME="SECTION00042200000000000000">
|
||||
get_nrows -- Get number of rows in a sparse matrix</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
nc = a%get_ncols()
|
||||
nr = a%get_nrows()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -82,7 +78,7 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The number of columns of sparse matrix <code>a</code>.
|
||||
<DD>The number of rows of sparse matrix <code>a</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+26
-39
@@ -1,64 +1,61 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_nnzeros -- Get number of nonzero elements in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_nnzeros -- Get number of nonzero elements in a sparse matrix">
|
||||
<TITLE>get_ncols -- Get number of columns in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_ncols -- Get number of columns in a sparse matrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node27.html">
|
||||
<LINK REL="previous" HREF="node25.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node27.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html570"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html573"
|
||||
HREF="node27.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html566"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html569"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html560"
|
||||
<A NAME="tex2html563"
|
||||
HREF="node25.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html568"
|
||||
<A NAME="tex2html571"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html571"
|
||||
HREF="node27.html">get_size Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html567"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html561"
|
||||
HREF="node25.html">get_ncols Get</A>
|
||||
<B> <A NAME="tex2html569"
|
||||
<B> Next:</B> <A NAME="tex2html574"
|
||||
HREF="node27.html">get_nnzeros Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html570"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html564"
|
||||
HREF="node25.html">get_nrows Get</A>
|
||||
<B> <A NAME="tex2html572"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042400000000000000">
|
||||
get_nnzeros -- Get number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<H3><A NAME="SECTION00042300000000000000">
|
||||
get_ncols -- Get number of columns in a sparse
|
||||
matrix</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
nz = a%get_nnzeros()
|
||||
nc = a%get_ncols()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -82,20 +79,10 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The number of nonzero elements stored in sparse matrix <code>a</code>.
|
||||
<DD>The number of columns of sparse matrix <code>a</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<B>Notes</B>
|
||||
|
||||
<OL>
|
||||
<LI>The function value is specific to the storage format of matrix
|
||||
<code>a</code>; some storage formats employ padding, thus the returned
|
||||
value for the same matrix may be different for different storage choices.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
|
||||
+35
-29
@@ -1,64 +1,61 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_size -- Get maximum number of nonzero elements in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_size -- Get maximum number of nonzero elements in a sparse matrix">
|
||||
<TITLE>get_nnzeros -- Get number of nonzero elements in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_nnzeros -- Get number of nonzero elements in a sparse matrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node28.html">
|
||||
<LINK REL="previous" HREF="node26.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node28.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html582"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html585"
|
||||
HREF="node28.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html578"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html581"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html572"
|
||||
<A NAME="tex2html575"
|
||||
HREF="node26.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html580"
|
||||
<A NAME="tex2html583"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html583"
|
||||
HREF="node28.html">sizeof Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html579"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html573"
|
||||
HREF="node26.html">get_nnzeros Get</A>
|
||||
<B> <A NAME="tex2html581"
|
||||
<B> Next:</B> <A NAME="tex2html586"
|
||||
HREF="node28.html">get_size Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html582"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html576"
|
||||
HREF="node26.html">get_ncols Get</A>
|
||||
<B> <A NAME="tex2html584"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042500000000000000">
|
||||
get_size -- Get maximum number of nonzero elements
|
||||
<H3><A NAME="SECTION00042400000000000000">
|
||||
get_nnzeros -- Get number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
maxnz = a%get_size()
|
||||
nz = a%get_nnzeros()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -82,11 +79,20 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The maximum number of nonzero elements that can
|
||||
be stored in sparse matrix <code>a</code> using its current memory allocation.
|
||||
<DD>The number of nonzero elements stored in sparse matrix <code>a</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<B>Notes</B>
|
||||
|
||||
<OL>
|
||||
<LI>The function value is specific to the storage format of matrix
|
||||
<code>a</code>; some storage formats employ padding, thus the returned
|
||||
value for the same matrix may be different for different storage choices.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
|
||||
+27
-31
@@ -1,66 +1,61 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix">
|
||||
<TITLE>get_size -- Get maximum number of nonzero elements in a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="get_size -- Get maximum number of nonzero elements in a sparse matrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node29.html">
|
||||
<LINK REL="previous" HREF="node27.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node29.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html594"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html597"
|
||||
HREF="node29.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html590"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html593"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html584"
|
||||
<A NAME="tex2html587"
|
||||
HREF="node27.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html592"
|
||||
<A NAME="tex2html595"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html595"
|
||||
HREF="node29.html">get_fmt Short</A>
|
||||
<B> Up:</B> <A NAME="tex2html591"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html585"
|
||||
HREF="node27.html">get_size Get</A>
|
||||
<B> <A NAME="tex2html593"
|
||||
<B> Next:</B> <A NAME="tex2html598"
|
||||
HREF="node29.html">sizeof Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html594"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html588"
|
||||
HREF="node27.html">get_nnzeros Get</A>
|
||||
<B> <A NAME="tex2html596"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042600000000000000">
|
||||
sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</A>
|
||||
<H3><A NAME="SECTION00042500000000000000">
|
||||
get_size -- Get maximum number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
memory_size = a%sizeof()
|
||||
maxnz = a%get_size()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -84,7 +79,8 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The memory occupation in bytes.
|
||||
<DD>The maximum number of nonzero elements that can
|
||||
be stored in sparse matrix <code>a</code> using its current memory allocation.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+28
-30
@@ -1,63 +1,63 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_fmt -- Short description of the dynamic type</TITLE>
|
||||
<META NAME="description" CONTENT="get_fmt -- Short description of the dynamic type">
|
||||
<TITLE>sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</TITLE>
|
||||
<META NAME="description" CONTENT="sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node30.html">
|
||||
<LINK REL="previous" HREF="node28.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node30.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html606"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html609"
|
||||
HREF="node30.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html602"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html605"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html596"
|
||||
<A NAME="tex2html599"
|
||||
HREF="node28.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html604"
|
||||
<A NAME="tex2html607"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html607"
|
||||
HREF="node30.html">is_bld, is_upd, is_asb </A>
|
||||
<B> Up:</B> <A NAME="tex2html603"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html597"
|
||||
HREF="node28.html">sizeof Get</A>
|
||||
<B> <A NAME="tex2html605"
|
||||
<B> Next:</B> <A NAME="tex2html610"
|
||||
HREF="node30.html">get_fmt Short</A>
|
||||
<B> Up:</B> <A NAME="tex2html606"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html600"
|
||||
HREF="node28.html">get_size Get</A>
|
||||
<B> <A NAME="tex2html608"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042700000000000000">
|
||||
get_fmt -- Short description of the dynamic type</A>
|
||||
<H3><A NAME="SECTION00042600000000000000">
|
||||
sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
write(*,*) a%get_fmt()
|
||||
memory_size = a%sizeof()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -81,9 +81,7 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>A short string describing the dynamic type of
|
||||
the matrix. Predefined values include <code>NULL</code>, <code>COO</code>,
|
||||
<code>CSR</code> and <code>CSC</code>.
|
||||
<DD>The memory occupation in bytes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+41
-41
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>General overview</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html223"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html224"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html219"
|
||||
<A NAME="tex2html220"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html213"
|
||||
<A NAME="tex2html214"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html221"
|
||||
<A NAME="tex2html222"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html224"
|
||||
<B> Next:</B> <A NAME="tex2html225"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> Up:</B> <A NAME="tex2html220"
|
||||
<B> Up:</B> <A NAME="tex2html221"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html214"
|
||||
<B> Previous:</B> <A NAME="tex2html215"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<B> <A NAME="tex2html222"
|
||||
<B> <A NAME="tex2html223"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00030000000000000000"></A>
|
||||
@@ -58,10 +55,10 @@ General overview
|
||||
</H1>
|
||||
The PSBLAS library is designed to handle the implementation of
|
||||
iterative solvers for sparse linear systems on distributed memory
|
||||
parallel computers. The system coefficient matrix <IMG
|
||||
parallel computers. The system coefficient matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"> must be square;
|
||||
ALT="$A$"></SPAN> must be square;
|
||||
it may be real or complex, nonsymmetric, and its sparsity pattern
|
||||
needs not to be symmetric. The serial computation parts are based on
|
||||
the serial sparse BLAS, so that any extension made to the data
|
||||
@@ -78,10 +75,11 @@ calls to the serial sparse BLAS subroutines.
|
||||
In a similar way, the inter-process message exchanges are encapsulated
|
||||
in an applicaiton layer that has been strongly inspired by the Basic
|
||||
Linear Algebra Communication Subroutines (BLACS) library [<A
|
||||
HREF="node132.html#BLACS">7</A>].
|
||||
HREF="node133.html#BLACS">7</A>].
|
||||
Usually there is no need to deal directly with MPI; however, in some
|
||||
cases, MPI routines are used directly to improve efficiency. For
|
||||
further details on our communication layer see Sec. <A HREF="node98.html#sec:parenv">7</A>.
|
||||
further details on our communication layer see Sec. <A HREF="node99.html#sec:parenv">7</A>.
|
||||
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:psblas"></A><A NAME="272"></A>
|
||||
@@ -118,7 +116,7 @@ mesh.
|
||||
|
||||
<P>
|
||||
The distribution of the coefficient matrix for the linear system is
|
||||
based on the ``owner computes'' rule:
|
||||
based on the “owner computes” rule:
|
||||
the variable associated to each mesh point is assigned to a process
|
||||
that will own the corresponding row in the coefficient matrix and
|
||||
will carry out all related computations. This allocation strategy
|
||||
@@ -126,13 +124,14 @@ is equivalent to a partition of the discretization mesh into <EM>sub-domains</EM
|
||||
Our library supports any distribution that keeps together
|
||||
the coefficients of each matrix row; there are no other constraints on
|
||||
the variable assignment.
|
||||
This choice is consistent with simple data distributions such as <code>CYCLIC(N)</code> and <code>BLOCK</code>,
|
||||
This choice is consistent with simple data distributions
|
||||
such as <code>CYCLIC(N)</code> and <code>BLOCK</code>,
|
||||
as well as completely arbitrary assignments of
|
||||
equation indices to processes.
|
||||
In particular it is consistent with the
|
||||
usage of graph partitioning tools commonly available in the
|
||||
literature, e.g. METIS [<A
|
||||
HREF="node132.html#METIS">14</A>].
|
||||
HREF="node133.html#METIS">14</A>].
|
||||
Dense vectors conform to sparse
|
||||
matrices, that is, the entries of a vector follow the same distribution
|
||||
of the matrix rows.
|
||||
@@ -143,7 +142,7 @@ process generates its own portion. We never require that the entire
|
||||
matrix be available on a single node. However, it is possible
|
||||
to hold the entire matrix in one process and distribute it
|
||||
explicitly<A NAME="tex2html2"
|
||||
HREF="footnode.html#foot201"><SUP>1</SUP></A>, even though the resulting memory
|
||||
HREF="footnode.html#foot201"><SUP><SPAN CLASS="arabic">1</SPAN></SUP></A>, even though the resulting memory
|
||||
bottleneck would make this option unattractive in most cases.
|
||||
|
||||
<P>
|
||||
@@ -151,45 +150,46 @@ bottleneck would make this option unattractive in most cases.
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html225"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html226"
|
||||
HREF="node5.html">Library contents</A>
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<LI><A NAME="tex2html227"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<LI><A NAME="tex2html228"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html228"
|
||||
<LI><A NAME="tex2html229"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html229"
|
||||
<LI><A NAME="tex2html230"
|
||||
HREF="node8.html">Programming model</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html223"
|
||||
<A NAME="tex2html224"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html219"
|
||||
<A NAME="tex2html220"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html213"
|
||||
<A NAME="tex2html214"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html221"
|
||||
<A NAME="tex2html222"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html224"
|
||||
<B> Next:</B> <A NAME="tex2html225"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> Up:</B> <A NAME="tex2html220"
|
||||
<B> Up:</B> <A NAME="tex2html221"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html214"
|
||||
<B> Previous:</B> <A NAME="tex2html215"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<B> <A NAME="tex2html222"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> <A NAME="tex2html223"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+27
-31
@@ -1,65 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>is_bld, is_upd, is_asb -- Status check</TITLE>
|
||||
<META NAME="description" CONTENT="is_bld, is_upd, is_asb -- Status check">
|
||||
<TITLE>get_fmt -- Short description of the dynamic type</TITLE>
|
||||
<META NAME="description" CONTENT="get_fmt -- Short description of the dynamic type">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node31.html">
|
||||
<LINK REL="previous" HREF="node29.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node31.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html618"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html621"
|
||||
HREF="node31.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html614"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html617"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html608"
|
||||
<A NAME="tex2html611"
|
||||
HREF="node29.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html616"
|
||||
<A NAME="tex2html619"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html619"
|
||||
HREF="node31.html">is_lower, is_upper, is_triangle, is_unit</A>
|
||||
<B> Up:</B> <A NAME="tex2html615"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html609"
|
||||
HREF="node29.html">get_fmt Short</A>
|
||||
<B> <A NAME="tex2html617"
|
||||
<B> Next:</B> <A NAME="tex2html622"
|
||||
HREF="node31.html">is_bld, is_upd, is_asb </A>
|
||||
<B> Up:</B> <A NAME="tex2html618"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html612"
|
||||
HREF="node29.html">sizeof Get</A>
|
||||
<B> <A NAME="tex2html620"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042800000000000000">
|
||||
is_bld, is_upd, is_asb -- Status check</A>
|
||||
<H3><A NAME="SECTION00042700000000000000">
|
||||
get_fmt -- Short description of the dynamic type</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
if (a%is_bld()) then
|
||||
if (a%is_upd()) then
|
||||
if (a%is_asb()) then
|
||||
write(*,*) a%get_fmt()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -83,8 +78,9 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>A <code>logical</code> value indicating whether the
|
||||
matrix is in the Build, Update or Assembled state, respectively.
|
||||
<DD>A short string describing the dynamic type of
|
||||
the matrix. Predefined values include <code>NULL</code>, <code>COO</code>,
|
||||
<code>CSR</code> and <code>CSC</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+27
-34
@@ -1,67 +1,62 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>is_lower, is_upper, is_triangle, is_unit -- Format check</TITLE>
|
||||
<META NAME="description" CONTENT="is_lower, is_upper, is_triangle, is_unit -- Format check">
|
||||
<TITLE>is_bld, is_upd, is_asb -- Status check</TITLE>
|
||||
<META NAME="description" CONTENT="is_bld, is_upd, is_asb -- Status check">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node32.html">
|
||||
<LINK REL="previous" HREF="node30.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node32.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html630"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html633"
|
||||
HREF="node32.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html626"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html629"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html620"
|
||||
<A NAME="tex2html623"
|
||||
HREF="node30.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html628"
|
||||
<A NAME="tex2html631"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html631"
|
||||
HREF="node32.html">cscnv Convert</A>
|
||||
<B> Up:</B> <A NAME="tex2html627"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html621"
|
||||
HREF="node30.html">is_bld, is_upd, is_asb </A>
|
||||
<B> <A NAME="tex2html629"
|
||||
<B> Next:</B> <A NAME="tex2html634"
|
||||
HREF="node32.html">is_lower, is_upper, is_triangle, is_unit</A>
|
||||
<B> Up:</B> <A NAME="tex2html630"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html624"
|
||||
HREF="node30.html">get_fmt Short</A>
|
||||
<B> <A NAME="tex2html632"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00042900000000000000">
|
||||
is_lower, is_upper, is_triangle, is_unit --
|
||||
Format check</A>
|
||||
<H3><A NAME="SECTION00042800000000000000">
|
||||
is_bld, is_upd, is_asb -- Status check</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
if (a%is_triangle()) then
|
||||
if (a%is_upper()) then
|
||||
if (a%is_lower()) then
|
||||
if (a%is_unit()) then
|
||||
if (a%is_bld()) then
|
||||
if (a%is_upd()) then
|
||||
if (a%is_asb()) then
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -86,9 +81,7 @@ Scope: <B>local</B>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>A <code>logical</code> value indicating whether the
|
||||
matrix is triangular; if <code>is_triangle()</code> returns <code>.true.</code>
|
||||
check also if it is lower, upper and with a unit (i.e. assumed)
|
||||
diagonal.
|
||||
matrix is in the Build, Update or Assembled state, respectively.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+35
-53
@@ -1,64 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>cscnv -- Convert to a different storage format</TITLE>
|
||||
<META NAME="description" CONTENT="cscnv -- Convert to a different storage format">
|
||||
<TITLE>is_lower, is_upper, is_triangle, is_unit -- Format check</TITLE>
|
||||
<META NAME="description" CONTENT="is_lower, is_upper, is_triangle, is_unit -- Format check">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node33.html">
|
||||
<LINK REL="previous" HREF="node31.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node33.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html642"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html645"
|
||||
HREF="node33.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html638"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html641"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html632"
|
||||
<A NAME="tex2html635"
|
||||
HREF="node31.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html640"
|
||||
<A NAME="tex2html643"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html643"
|
||||
HREF="node33.html">csclip Reduce</A>
|
||||
<B> Up:</B> <A NAME="tex2html639"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html633"
|
||||
HREF="node31.html">is_lower, is_upper, is_triangle, is_unit</A>
|
||||
<B> <A NAME="tex2html641"
|
||||
<B> Next:</B> <A NAME="tex2html646"
|
||||
HREF="node33.html">cscnv Convert</A>
|
||||
<B> Up:</B> <A NAME="tex2html642"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html636"
|
||||
HREF="node31.html">is_bld, is_upd, is_asb </A>
|
||||
<B> <A NAME="tex2html644"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421000000000000000">
|
||||
cscnv -- Convert to a different storage format</A>
|
||||
<H3><A NAME="SECTION00042900000000000000">
|
||||
is_lower, is_upper, is_triangle, is_unit --
|
||||
Format check</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call a%cscnv(b,info [, type, mold, dupl])
|
||||
call a%cscnv(info [, type, mold, dupl])
|
||||
if (a%is_triangle()) then
|
||||
if (a%is_upper()) then
|
||||
if (a%is_lower()) then
|
||||
if (a%is_unit()) then
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -70,26 +70,10 @@ call a%cscnv(info [, type, mold, dupl])
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix.
|
||||
<DD>the sparse matrix
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
<DT><STRONG>type</STRONG></DT>
|
||||
<DD>a string requesting a new format.
|
||||
<BR>
|
||||
Type: optional.
|
||||
</DD>
|
||||
<DT><STRONG>mold</STRONG></DT>
|
||||
<DD>a variable of <code>class(psb_T_base_sparse_mat)</code> requesting a new format.
|
||||
<BR>
|
||||
Type: optional.
|
||||
</DD>
|
||||
<DT><STRONG>dupl</STRONG></DT>
|
||||
<DD>an integer value specifing how to handle duplicates (see
|
||||
Named Constants below)
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -97,13 +81,11 @@ Type: optional.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b,a</STRONG></DT>
|
||||
<DD>A copy of <code>a</code> with a new storage format.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>A <code>logical</code> value indicating whether the
|
||||
matrix is triangular; if <code>is_triangle()</code> returns <code>.true.</code>
|
||||
check also if it is lower, upper and with a unit (i.e. assumed)
|
||||
diagonal.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+42
-37
@@ -1,69 +1,64 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>csclip -- Reduce to a submatrix</TITLE>
|
||||
<META NAME="description" CONTENT="csclip -- Reduce to a submatrix">
|
||||
<TITLE>cscnv -- Convert to a different storage format</TITLE>
|
||||
<META NAME="description" CONTENT="cscnv -- Convert to a different storage format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node34.html">
|
||||
<LINK REL="previous" HREF="node32.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node34.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html654"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html657"
|
||||
HREF="node34.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html650"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html653"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html644"
|
||||
<A NAME="tex2html647"
|
||||
HREF="node32.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html652"
|
||||
<A NAME="tex2html655"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html655"
|
||||
HREF="node34.html">clean_zeros Eliminate</A>
|
||||
<B> Up:</B> <A NAME="tex2html651"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html645"
|
||||
HREF="node32.html">cscnv Convert</A>
|
||||
<B> <A NAME="tex2html653"
|
||||
<B> Next:</B> <A NAME="tex2html658"
|
||||
HREF="node34.html">csclip Reduce</A>
|
||||
<B> Up:</B> <A NAME="tex2html654"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html648"
|
||||
HREF="node32.html">is_lower, is_upper, is_triangle, is_unit</A>
|
||||
<B> <A NAME="tex2html656"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421100000000000000">
|
||||
csclip -- Reduce to a submatrix</A>
|
||||
<H3><A NAME="SECTION000421000000000000000">
|
||||
cscnv -- Convert to a different storage format</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call a%csclip(b,info[,&
|
||||
& imin,imax,jmin,jmax,rscale,cscale])
|
||||
call a%cscnv(b,info [, type, mold, dupl])
|
||||
call a%cscnv(info [, type, mold, dupl])
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Returns the submatrix <code>A(imin:imax,jmin:jmax)</code>, optionally
|
||||
rescaling row/col indices to the range
|
||||
<code>1:imax-imin+1,1:jmax-jmin+1</code>.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -78,22 +73,29 @@ A variable of type <code>psb_Tspmat_type</code>.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>imin,imax,jmin,jmax</STRONG></DT>
|
||||
<DD>Minimum and maximum row and column indices.
|
||||
<DT><STRONG>type</STRONG></DT>
|
||||
<DD>a string requesting a new format.
|
||||
<BR>
|
||||
Type: optional.
|
||||
</DD>
|
||||
<DT><STRONG>rscale,cscale</STRONG></DT>
|
||||
<DD>Whether to rescale row/column indices.
|
||||
<DT><STRONG>mold</STRONG></DT>
|
||||
<DD>a variable of <code>class(psb_T_base_sparse_mat)</code> requesting a new format.
|
||||
<BR>
|
||||
Type: optional.
|
||||
</DD>
|
||||
<DT><STRONG>dupl</STRONG></DT>
|
||||
<DD>an integer value specifing how to handle duplicates (see
|
||||
Named Constants below)
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>A copy of a submatrix of <code>a</code>.
|
||||
<DT><STRONG>b,a</STRONG></DT>
|
||||
<DD>A copy of <code>a</code> with a new storage format.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
@@ -101,6 +103,9 @@ A variable of type <code>psb_Tspmat_type</code>.
|
||||
<DD>Return code.
|
||||
</DD>
|
||||
</DL>
|
||||
The <code>mold</code> arguments may be
|
||||
employed to interface with special devices, such as GPUs and other
|
||||
accelerators.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
+39
-34
@@ -1,70 +1,66 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>clean_zeros -- Eliminate zero coefficients</TITLE>
|
||||
<META NAME="description" CONTENT="clean_zeros -- Eliminate zero coefficients">
|
||||
<TITLE>csclip -- Reduce to a submatrix</TITLE>
|
||||
<META NAME="description" CONTENT="csclip -- Reduce to a submatrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node35.html">
|
||||
<LINK REL="previous" HREF="node33.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node35.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html666"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html669"
|
||||
HREF="node35.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html662"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html665"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html656"
|
||||
<A NAME="tex2html659"
|
||||
HREF="node33.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html664"
|
||||
<A NAME="tex2html667"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html667"
|
||||
HREF="node35.html">get_diag Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html663"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html657"
|
||||
HREF="node33.html">csclip Reduce</A>
|
||||
<B> <A NAME="tex2html665"
|
||||
<B> Next:</B> <A NAME="tex2html670"
|
||||
HREF="node35.html">clean_zeros Eliminate</A>
|
||||
<B> Up:</B> <A NAME="tex2html666"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html660"
|
||||
HREF="node33.html">cscnv Convert</A>
|
||||
<B> <A NAME="tex2html668"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421200000000000000">
|
||||
clean_zeros -- Eliminate zero coefficients</A>
|
||||
<H3><A NAME="SECTION000421100000000000000">
|
||||
csclip -- Reduce to a submatrix</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call a%clean_zeros(info)
|
||||
call a%csclip(b,info[,&
|
||||
& imin,imax,jmin,jmax,rscale,cscale])
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Eliminates zero coefficients in the input matrix. Note that depending
|
||||
on the internal storage format, there may still be some amount of
|
||||
zero padding in the output.
|
||||
|
||||
<P>
|
||||
Returns the submatrix <code>A(imin:imax,jmin:jmax)</code>, optionally
|
||||
rescaling row/col indices to the range
|
||||
<code>1:imax-imin+1,1:jmax-jmin+1</code>.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -79,13 +75,22 @@ A variable of type <code>psb_Tspmat_type</code>.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>imin,imax,jmin,jmax</STRONG></DT>
|
||||
<DD>Minimum and maximum row and column indices.
|
||||
<BR>
|
||||
Type: optional.
|
||||
</DD>
|
||||
<DT><STRONG>rscale,cscale</STRONG></DT>
|
||||
<DD>Whether to rescale row/column indices.
|
||||
Type: optional.
|
||||
</DD>
|
||||
</DL>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>The matrix <code>a</code> without zero coefficients.
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>A copy of a submatrix of <code>a</code>.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
|
||||
+32
-31
@@ -1,66 +1,67 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_diag -- Get main diagonal</TITLE>
|
||||
<META NAME="description" CONTENT="get_diag -- Get main diagonal">
|
||||
<TITLE>clean_zeros -- Eliminate zero coefficients</TITLE>
|
||||
<META NAME="description" CONTENT="clean_zeros -- Eliminate zero coefficients">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node36.html">
|
||||
<LINK REL="previous" HREF="node34.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node36.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html678"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html681"
|
||||
HREF="node36.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html674"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html677"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html668"
|
||||
<A NAME="tex2html671"
|
||||
HREF="node34.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html676"
|
||||
<A NAME="tex2html679"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html679"
|
||||
HREF="node36.html">clip_diag Cut</A>
|
||||
<B> Up:</B> <A NAME="tex2html675"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html669"
|
||||
HREF="node34.html">clean_zeros Eliminate</A>
|
||||
<B> <A NAME="tex2html677"
|
||||
<B> Next:</B> <A NAME="tex2html682"
|
||||
HREF="node36.html">get_diag Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html678"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html672"
|
||||
HREF="node34.html">csclip Reduce</A>
|
||||
<B> <A NAME="tex2html680"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421300000000000000">
|
||||
get_diag -- Get main diagonal</A>
|
||||
<H3><A NAME="SECTION000421200000000000000">
|
||||
clean_zeros -- Eliminate zero coefficients</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call a%get_diag(d,info)
|
||||
call a%clean_zeros(info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Returns a copy of the main diagonal.
|
||||
Eliminates zero coefficients in the input matrix. Note that depending
|
||||
on the internal storage format, there may still be some amount of
|
||||
zero padding in the output.
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -80,10 +81,10 @@ Scope: <B>local</B>.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>d</STRONG></DT>
|
||||
<DD>A copy of the main diagonal.
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>The matrix <code>a</code> without zero coefficients.
|
||||
<BR>
|
||||
A one-dimensional array of the appropriate type.
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
|
||||
+28
-31
@@ -1,66 +1,63 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>clip_diag -- Cut out main diagonal</TITLE>
|
||||
<META NAME="description" CONTENT="clip_diag -- Cut out main diagonal">
|
||||
<TITLE>get_diag -- Get main diagonal</TITLE>
|
||||
<META NAME="description" CONTENT="get_diag -- Get main diagonal">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node37.html">
|
||||
<LINK REL="previous" HREF="node35.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node37.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html690"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html693"
|
||||
HREF="node37.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html686"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html689"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html680"
|
||||
<A NAME="tex2html683"
|
||||
HREF="node35.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html688"
|
||||
<A NAME="tex2html691"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html691"
|
||||
HREF="node37.html">tril Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html687"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html681"
|
||||
HREF="node35.html">get_diag Get</A>
|
||||
<B> <A NAME="tex2html689"
|
||||
<B> Next:</B> <A NAME="tex2html694"
|
||||
HREF="node37.html">clip_diag Cut</A>
|
||||
<B> Up:</B> <A NAME="tex2html690"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html684"
|
||||
HREF="node35.html">clean_zeros Eliminate</A>
|
||||
<B> <A NAME="tex2html692"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421400000000000000">
|
||||
clip_diag -- Cut out main diagonal</A>
|
||||
<H3><A NAME="SECTION000421300000000000000">
|
||||
get_diag -- Get main diagonal</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call a%clip_diag(b,info)
|
||||
call a%get_diag(d,info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Returns a copy of <code>a</code> without the main diagonal.
|
||||
Returns a copy of the main diagonal.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -80,10 +77,10 @@ Scope: <B>local</B>.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>A copy of <code>a</code> without the main diagonal.
|
||||
<DT><STRONG>d</STRONG></DT>
|
||||
<DD>A copy of the main diagonal.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
A one-dimensional array of the appropriate type.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
|
||||
+27
-53
@@ -1,70 +1,63 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>tril -- Return the lower triangle</TITLE>
|
||||
<META NAME="description" CONTENT="tril -- Return the lower triangle">
|
||||
<TITLE>clip_diag -- Cut out main diagonal</TITLE>
|
||||
<META NAME="description" CONTENT="clip_diag -- Cut out main diagonal">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node38.html">
|
||||
<LINK REL="previous" HREF="node36.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node38.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html702"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html705"
|
||||
HREF="node38.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html698"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html701"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html692"
|
||||
<A NAME="tex2html695"
|
||||
HREF="node36.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html700"
|
||||
<A NAME="tex2html703"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html703"
|
||||
HREF="node38.html">triu Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html699"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html693"
|
||||
HREF="node36.html">clip_diag Cut</A>
|
||||
<B> <A NAME="tex2html701"
|
||||
<B> Next:</B> <A NAME="tex2html706"
|
||||
HREF="node38.html">tril Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html702"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html696"
|
||||
HREF="node36.html">get_diag Get</A>
|
||||
<B> <A NAME="tex2html704"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421500000000000000">
|
||||
tril -- Return the lower triangle</A>
|
||||
<H3><A NAME="SECTION000421400000000000000">
|
||||
clip_diag -- Cut out main diagonal</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call a%tril(l,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale,u])
|
||||
call a%clip_diag(b,info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Returns the lower triangular part of submatrix
|
||||
<code>A(imin:imax,jmin:jmax)</code>, optionally rescaling row/col indices to
|
||||
the range <code>1:imax-imin+1,1:jmax-jmin+1</code> and returing the
|
||||
complementary upper triangle.
|
||||
Returns a copy of <code>a</code> without the main diagonal.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -79,32 +72,13 @@ A variable of type <code>psb_Tspmat_type</code>.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>diag</STRONG></DT>
|
||||
<DD>Include diagonals up to this one; <code>diag=1</code> means the
|
||||
first superdiagonal, <code>diag=-1</code> means the first subdiagonal.
|
||||
Default 0.
|
||||
</DD>
|
||||
<DT><STRONG>imin,imax,jmin,jmax</STRONG></DT>
|
||||
<DD>Minimum and maximum row and column indices.
|
||||
<BR>
|
||||
Type: optional.
|
||||
</DD>
|
||||
<DT><STRONG>rscale,cscale</STRONG></DT>
|
||||
<DD>Whether to rescale row/column indices.
|
||||
Type: optional.
|
||||
</DD>
|
||||
</DL>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>l</STRONG></DT>
|
||||
<DD>A copy of the lower triangle of <code>a</code>.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
<DT><STRONG>u</STRONG></DT>
|
||||
<DD>(optional) A copy of the upper triangle of <code>a</code>.
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>A copy of <code>a</code> without the main diagonal.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
|
||||
+32
-35
@@ -1,70 +1,67 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>triu -- Return the upper triangle</TITLE>
|
||||
<META NAME="description" CONTENT="triu -- Return the upper triangle">
|
||||
<TITLE>tril -- Return the lower triangle</TITLE>
|
||||
<META NAME="description" CONTENT="tril -- Return the lower triangle">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node39.html">
|
||||
<LINK REL="previous" HREF="node37.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node39.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html714"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html717"
|
||||
HREF="node39.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html710"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html713"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html704"
|
||||
<A NAME="tex2html707"
|
||||
HREF="node37.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html712"
|
||||
<A NAME="tex2html715"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html715"
|
||||
HREF="node39.html">psb_set_mat_default Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html711"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html705"
|
||||
HREF="node37.html">tril Return</A>
|
||||
<B> <A NAME="tex2html713"
|
||||
<B> Next:</B> <A NAME="tex2html718"
|
||||
HREF="node39.html">triu Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html714"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html708"
|
||||
HREF="node37.html">clip_diag Cut</A>
|
||||
<B> <A NAME="tex2html716"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421600000000000000">
|
||||
triu -- Return the upper triangle</A>
|
||||
<H3><A NAME="SECTION000421500000000000000">
|
||||
tril -- Return the lower triangle</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call a%triu(u,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale,l])
|
||||
call a%tril(l,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale,u])
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Returns the upper triangular part of submatrix
|
||||
Returns the lower triangular part of submatrix
|
||||
<code>A(imin:imax,jmin:jmax)</code>, optionally rescaling row/col indices to
|
||||
the range <code>1:imax-imin+1,1:jmax-jmin+1</code>, and returing the
|
||||
complementary lower triangle.
|
||||
the range <code>1:imax-imin+1,1:jmax-jmin+1</code> and returing the
|
||||
complementary upper triangle.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -98,13 +95,13 @@ Type: optional.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>u</STRONG></DT>
|
||||
<DD>A copy of the upper triangle of <code>a</code>.
|
||||
<DT><STRONG>l</STRONG></DT>
|
||||
<DD>A copy of the lower triangle of <code>a</code>.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
<DT><STRONG>l</STRONG></DT>
|
||||
<DD>(optional) A copy of the lower triangle of <code>a</code>.
|
||||
<DT><STRONG>u</STRONG></DT>
|
||||
<DD>(optional) A copy of the upper triangle of <code>a</code>.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
|
||||
+65
-31
@@ -1,66 +1,67 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_set_mat_default -- Set default storage format</TITLE>
|
||||
<META NAME="description" CONTENT="psb_set_mat_default -- Set default storage format">
|
||||
<TITLE>triu -- Return the upper triangle</TITLE>
|
||||
<META NAME="description" CONTENT="triu -- Return the upper triangle">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node40.html">
|
||||
<LINK REL="previous" HREF="node38.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node40.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html726"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html729"
|
||||
HREF="node40.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html722"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html725"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html716"
|
||||
<A NAME="tex2html719"
|
||||
HREF="node38.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html724"
|
||||
<A NAME="tex2html727"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html727"
|
||||
HREF="node40.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html723"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html717"
|
||||
HREF="node38.html">triu Return</A>
|
||||
<B> <A NAME="tex2html725"
|
||||
<B> Next:</B> <A NAME="tex2html730"
|
||||
HREF="node40.html">psb_set_mat_default Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html726"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html720"
|
||||
HREF="node38.html">tril Return</A>
|
||||
<B> <A NAME="tex2html728"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421700000000000000">
|
||||
psb_set_mat_default -- Set default storage format</A>
|
||||
<H3><A NAME="SECTION000421600000000000000">
|
||||
triu -- Return the upper triangle</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_set_mat_default(a)
|
||||
call a%triu(u,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale,l])
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Returns the upper triangular part of submatrix
|
||||
<code>A(imin:imax,jmin:jmax)</code>, optionally rescaling row/col indices to
|
||||
the range <code>1:imax-imin+1,1:jmax-jmin+1</code>, and returing the
|
||||
complementary lower triangle.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -69,10 +70,43 @@ call psb_set_mat_default(a)
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>a variable of <code>class(psb_T_base_sparse_mat)</code> requesting
|
||||
a new default storage format.
|
||||
<DD>the sparse matrix.
|
||||
<BR>
|
||||
Type: required.
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
<DT><STRONG>diag</STRONG></DT>
|
||||
<DD>Include diagonals up to this one; <code>diag=1</code> means the
|
||||
first superdiagonal, <code>diag=-1</code> means the first subdiagonal.
|
||||
Default 0.
|
||||
</DD>
|
||||
<DT><STRONG>imin,imax,jmin,jmax</STRONG></DT>
|
||||
<DD>Minimum and maximum row and column indices.
|
||||
<BR>
|
||||
Type: optional.
|
||||
</DD>
|
||||
<DT><STRONG>rscale,cscale</STRONG></DT>
|
||||
<DD>Whether to rescale row/column indices.
|
||||
Type: optional.
|
||||
</DD>
|
||||
</DL>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>u</STRONG></DT>
|
||||
<DD>A copy of the upper triangle of <code>a</code>.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
<DT><STRONG>l</STRONG></DT>
|
||||
<DD>(optional) A copy of the lower triangle of <code>a</code>.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+47
-49
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Basic Nomenclature</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html240"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html241"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html236"
|
||||
<A NAME="tex2html237"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html230"
|
||||
<A NAME="tex2html231"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html238"
|
||||
<A NAME="tex2html239"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html241"
|
||||
<B> Next:</B> <A NAME="tex2html242"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> Up:</B> <A NAME="tex2html237"
|
||||
<B> Up:</B> <A NAME="tex2html238"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html231"
|
||||
<B> Previous:</B> <A NAME="tex2html232"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> <A NAME="tex2html239"
|
||||
<B> <A NAME="tex2html240"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00031000000000000000">
|
||||
@@ -64,24 +61,24 @@ PDE.
|
||||
<P>
|
||||
Each point of the discretization mesh will have (at least) one
|
||||
associated equation/variable, and therefore one index. We say that
|
||||
point <IMG
|
||||
point <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$"> <EM>depends</EM> on point <IMG
|
||||
ALT="$i$"></SPAN> <EM>depends</EM> on point <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="12" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img5.png"
|
||||
ALT="$j$"> if the equation for a
|
||||
variable associated with <IMG
|
||||
ALT="$j$"></SPAN> if the equation for a
|
||||
variable associated with <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$"> contains a term in <IMG
|
||||
ALT="$i$"></SPAN> contains a term in <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="12" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img5.png"
|
||||
ALT="$j$">, or equivalently
|
||||
if <IMG
|
||||
ALT="$j$"></SPAN>, or equivalently
|
||||
if <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="52" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img6.png"
|
||||
ALT="$a_{ij} \ne0$">.
|
||||
ALT="$a_{ij} \ne0$"></SPAN>.
|
||||
After the partition of the discretization mesh into <EM>sub-domains</EM>
|
||||
assigned to the parallel processes,
|
||||
we classify the points of a given sub-domain as following.
|
||||
@@ -112,7 +109,7 @@ on it. Whenever performing a computational step, such as a
|
||||
matrix-vector product, the values associated with halo points are
|
||||
requested from other domains. A boundary point of a given
|
||||
domain is usually a halo point for some other domain<A NAME="tex2html3"
|
||||
HREF="footnode.html#foot210"><SUP>2</SUP></A>; therefore
|
||||
HREF="footnode.html#foot210"><SUP><SPAN CLASS="arabic">2</SPAN></SUP></A>; therefore
|
||||
the cardinality of the boundary points set denotes the amount of data
|
||||
sent to other domains.
|
||||
</DD>
|
||||
@@ -126,43 +123,43 @@ Overlap points do not usually exist in the basic data
|
||||
distributions; however they are a feature of Domain Decomposition
|
||||
Schwarz preconditioners which are the subject of related research
|
||||
work [<A
|
||||
HREF="node132.html#2007c">4</A>,<A
|
||||
HREF="node132.html#2007d">3</A>].
|
||||
HREF="node133.html#2007c">4</A>,<A
|
||||
HREF="node133.html#2007d">3</A>].
|
||||
|
||||
<P>
|
||||
We denote the sets of internal, boundary and halo points for a given
|
||||
subdomain by <IMG
|
||||
subdomain by <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img7.png"
|
||||
ALT="$\cal I$">, <IMG
|
||||
ALT="$\cal I$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="15" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img8.png"
|
||||
ALT="$\cal B$"> and <IMG
|
||||
ALT="$\cal B$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img9.png"
|
||||
ALT="$\cal H$">.
|
||||
ALT="$\cal H$"></SPAN>.
|
||||
Each subdomain is assigned to one process; each process usually
|
||||
owns one subdomain, although the user may choose to assign more than
|
||||
one subdomain to a process. If each process <IMG
|
||||
one subdomain to a process. If each process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$"> owns one
|
||||
ALT="$i$"></SPAN> owns one
|
||||
subdomain, the number of rows in the local sparse matrix is
|
||||
<!-- MATH
|
||||
$|{\cal I}_i| + |{\cal B}_i|$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="70" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img10.png"
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$">, and the number of local columns
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert$"></SPAN>, and the number of local columns
|
||||
(i.e. those for which there exists at least one non-zero entry in the
|
||||
local rows) is <!-- MATH
|
||||
$|{\cal I}_i| + |{\cal B}_i| +|{\cal H}_i|$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="118" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img11.png"
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$">.
|
||||
ALT="$\vert{\cal I}_i\vert + \vert{\cal B}_i\vert +\vert{\cal H}_i\vert$"></SPAN>.
|
||||
|
||||
<P>
|
||||
|
||||
@@ -191,33 +188,34 @@ Point classfication.</CAPTION>
|
||||
<P>
|
||||
This classification of mesh points guides the naming scheme that we
|
||||
adopted in the library internals and in the data structures. We
|
||||
explicitly note that ``Halo'' points are also often called ``ghost''
|
||||
explicitly note that “Halo” points are also often called “ghost”
|
||||
points in the literature.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html240"
|
||||
<A NAME="tex2html241"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html236"
|
||||
<A NAME="tex2html237"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html230"
|
||||
<A NAME="tex2html231"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html238"
|
||||
<A NAME="tex2html239"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html241"
|
||||
<B> Next:</B> <A NAME="tex2html242"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> Up:</B> <A NAME="tex2html237"
|
||||
<B> Up:</B> <A NAME="tex2html238"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html231"
|
||||
<B> Previous:</B> <A NAME="tex2html232"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> <A NAME="tex2html239"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> <A NAME="tex2html240"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+27
-42
@@ -1,63 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>clone -- Clone current object</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- Clone current object">
|
||||
<TITLE>psb_set_mat_default -- Set default storage format</TITLE>
|
||||
<META NAME="description" CONTENT="psb_set_mat_default -- Set default storage format">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node41.html">
|
||||
<LINK REL="previous" HREF="node39.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node41.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html738"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html741"
|
||||
HREF="node41.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html734"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html737"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html728"
|
||||
<A NAME="tex2html731"
|
||||
HREF="node39.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html736"
|
||||
<A NAME="tex2html739"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html739"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
<B> Up:</B> <A NAME="tex2html735"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html729"
|
||||
HREF="node39.html">psb_set_mat_default Set</A>
|
||||
<B> <A NAME="tex2html737"
|
||||
<B> Next:</B> <A NAME="tex2html742"
|
||||
HREF="node41.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html738"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html732"
|
||||
HREF="node39.html">triu Return</A>
|
||||
<B> <A NAME="tex2html740"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421800000000000000">
|
||||
clone -- Clone current object</A>
|
||||
<H3><A NAME="SECTION000421700000000000000">
|
||||
psb_set_mat_default -- Set default storage format</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call a%clone(b,info)
|
||||
call psb_set_mat_default(a)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -69,22 +66,10 @@ call a%clone(b,info)
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix.
|
||||
<DD>a variable of <code>class(psb_T_base_sparse_mat)</code> requesting
|
||||
a new default storage format.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
Type: required.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+50
-43
@@ -1,80 +1,87 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Named Constants</TITLE>
|
||||
<META NAME="description" CONTENT="Named Constants">
|
||||
<TITLE>clone -- Clone current object</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- Clone current object">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node42.html">
|
||||
<LINK REL="previous" HREF="node40.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node42.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html748"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html753"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html744"
|
||||
HREF="node22.html">
|
||||
<A NAME="tex2html749"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html740"
|
||||
<A NAME="tex2html743"
|
||||
HREF="node40.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html746"
|
||||
<A NAME="tex2html751"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html749"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html745"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html741"
|
||||
HREF="node40.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html747"
|
||||
<B> Next:</B> <A NAME="tex2html754"
|
||||
HREF="node42.html">Named Constants</A>
|
||||
<B> Up:</B> <A NAME="tex2html750"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html744"
|
||||
HREF="node40.html">psb_set_mat_default Set</A>
|
||||
<B> <A NAME="tex2html752"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421900000000000000"></A>
|
||||
<A NAME="sec:sp_constants"></A>
|
||||
<BR>
|
||||
Named Constants
|
||||
<H3><A NAME="SECTION000421800000000000000">
|
||||
clone -- Clone current object</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call a%clone(b,info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>psb_dupl_ovwrt_</STRONG></DT>
|
||||
<DD>Duplicate coefficients should be overwritten
|
||||
(i.e. ignore duplications)
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG>psb_dupl_add_</STRONG></DT>
|
||||
<DD>Duplicate coefficients should be added;
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>psb_dupl_err_</STRONG></DT>
|
||||
<DD>Duplicate coefficients should trigger an error conditino
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the sparse matrix.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>psb_upd_dflt_</STRONG></DT>
|
||||
<DD>Default update strategy for matrix coefficients;
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
</DD>
|
||||
<DT><STRONG>psb_upd_srch_</STRONG></DT>
|
||||
<DD>Update strategy based on search into the data structure;
|
||||
</DD>
|
||||
<DT><STRONG>psb_upd_perm_</STRONG></DT>
|
||||
<DD>Update strategy based on additional
|
||||
permutation data (see tools routine description).
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+41
-126
@@ -1,167 +1,82 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Dense Vector Data Structure</TITLE>
|
||||
<META NAME="description" CONTENT="Dense Vector Data Structure">
|
||||
<TITLE>Named Constants</TITLE>
|
||||
<META NAME="description" CONTENT="Named Constants">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node49.html">
|
||||
<LINK REL="previous" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="previous" HREF="node41.html">
|
||||
<LINK REL="up" HREF="node23.html">
|
||||
<LINK REL="next" HREF="node43.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html760"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html763"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html756"
|
||||
HREF="node9.html">
|
||||
<A NAME="tex2html759"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html750"
|
||||
<A NAME="tex2html755"
|
||||
HREF="node41.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html758"
|
||||
<A NAME="tex2html761"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html761"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html757"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html751"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html759"
|
||||
<B> Next:</B> <A NAME="tex2html764"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html760"
|
||||
HREF="node23.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html756"
|
||||
HREF="node41.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html762"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00043000000000000000"></A>
|
||||
<A NAME="sec:vecttype"></A>
|
||||
<H3><A NAME="SECTION000421900000000000000"></A>
|
||||
<A NAME="sec:sp_constants"></A>
|
||||
<BR>
|
||||
Dense Vector Data Structure
|
||||
</H2>
|
||||
The vdata<TT>psb_T_vect_type</TT> data structure
|
||||
encapsulates the dense vectors in a way similar to sparse matrices,
|
||||
i.e. including a base type vbasedata<TT> psb_T_base_vect_type</TT>.
|
||||
The user will not, in general, access the vector components directly,
|
||||
but rather via the routines of sec. <A HREF="node70.html#sec:toolsrout">6</A>. Among other
|
||||
simple things, we define here an extraction method that can be used to
|
||||
get a full copy of the part of the vector stored on the local
|
||||
process.
|
||||
|
||||
<P>
|
||||
The type declaration is shown in
|
||||
figure <A HREF="#fig:vectype">5</A> where <code>T</code> is a placeholder for the
|
||||
data type and precision variants
|
||||
Named Constants
|
||||
</H3>
|
||||
<DL>
|
||||
<DT><STRONG>I</STRONG></DT>
|
||||
<DD>Integer;
|
||||
<DT><STRONG>psb_dupl_ovwrt_</STRONG></DT>
|
||||
<DD>Duplicate coefficients should be overwritten
|
||||
(i.e. ignore duplications)
|
||||
</DD>
|
||||
<DT><STRONG>S</STRONG></DT>
|
||||
<DD>Single precision real;
|
||||
<DT><STRONG>psb_dupl_add_</STRONG></DT>
|
||||
<DD>Duplicate coefficients should be added;
|
||||
</DD>
|
||||
<DT><STRONG>D</STRONG></DT>
|
||||
<DD>Double precision real;
|
||||
<DT><STRONG>psb_dupl_err_</STRONG></DT>
|
||||
<DD>Duplicate coefficients should trigger an error conditino
|
||||
</DD>
|
||||
<DT><STRONG>C</STRONG></DT>
|
||||
<DD>Single precision complex;
|
||||
<DT><STRONG>psb_upd_dflt_</STRONG></DT>
|
||||
<DD>Default update strategy for matrix coefficients;
|
||||
</DD>
|
||||
<DT><STRONG>Z</STRONG></DT>
|
||||
<DD>Double precision complex.
|
||||
<DT><STRONG>psb_upd_srch_</STRONG></DT>
|
||||
<DD>Update strategy based on search into the data structure;
|
||||
</DD>
|
||||
<DT><STRONG>psb_upd_perm_</STRONG></DT>
|
||||
<DD>Update strategy based on additional
|
||||
permutation data (see tools routine description).
|
||||
</DD>
|
||||
</DL>
|
||||
The actual data is contained in the polymorphic component <code>v%v</code>;
|
||||
the separation between the application and the actual data is
|
||||
essential for cases where it is necessary to link to data storage made
|
||||
available elsewhere outside the direct control of the
|
||||
compiler/application, e.g. data stored in a graphics accelerator's
|
||||
private memory.
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:vectype"></A><A NAME="923"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
|
||||
The PSBLAS defined data type that
|
||||
contains a dense vector.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV><TABLE WIDTH="85%">
|
||||
<TR><TD>
|
||||
<PRE>
|
||||
type psb_T_base_vect_type
|
||||
TYPE(KIND_), allocatable :: v(:)
|
||||
end type psb_T_base_vect_type
|
||||
|
||||
type psb_T_vect_type
|
||||
class(psb_T_base_vect_type), allocatable :: v
|
||||
end type psb_T_vect_type
|
||||
</PRE></TD></TR>
|
||||
</TABLE>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html762"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<LI><A NAME="tex2html763"
|
||||
HREF="node44.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
<LI><A NAME="tex2html764"
|
||||
HREF="node45.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
<LI><A NAME="tex2html765"
|
||||
HREF="node46.html">set -- Set contents of the vector</A>
|
||||
<LI><A NAME="tex2html766"
|
||||
HREF="node47.html">get_vect -- Get a copy of the vector contents</A>
|
||||
<LI><A NAME="tex2html767"
|
||||
HREF="node48.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html760"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html756"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html750"
|
||||
HREF="node41.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html758"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html761"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html757"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html751"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html759"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+134
-29
@@ -1,60 +1,165 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Vector Methods</TITLE>
|
||||
<META NAME="description" CONTENT="Vector Methods">
|
||||
<TITLE>Dense Vector Data Structure</TITLE>
|
||||
<META NAME="description" CONTENT="Dense Vector Data Structure">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node44.html">
|
||||
<LINK REL="previous" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="next" HREF="node50.html">
|
||||
<LINK REL="previous" HREF="node23.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node44.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html778"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html775"
|
||||
HREF="node44.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html774"
|
||||
HREF="node42.html">
|
||||
<A NAME="tex2html771"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html768"
|
||||
<A NAME="tex2html765"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html776"
|
||||
<A NAME="tex2html773"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html779"
|
||||
HREF="node44.html">get_nrows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html775"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html769"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> <A NAME="tex2html777"
|
||||
<B> Next:</B> <A NAME="tex2html776"
|
||||
HREF="node44.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html772"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html766"
|
||||
HREF="node42.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html774"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043100000000000000">
|
||||
Vector Methods</A>
|
||||
</H3>
|
||||
<H2><A NAME="SECTION00043000000000000000"></A>
|
||||
<A NAME="sec:vecttype"></A>
|
||||
<BR>
|
||||
Dense Vector Data Structure
|
||||
</H2>
|
||||
The vdata<TT>psb_T_vect_type</TT> data structure
|
||||
encapsulates the dense vectors in a way similar to sparse matrices,
|
||||
i.e. including a base type vbasedata<TT> psb_T_base_vect_type</TT>.
|
||||
The user will not, in general, access the vector components directly,
|
||||
but rather via the routines of sec. <A HREF="node71.html#sec:toolsrout">6</A>. Among other
|
||||
simple things, we define here an extraction method that can be used to
|
||||
get a full copy of the part of the vector stored on the local
|
||||
process.
|
||||
|
||||
<P>
|
||||
The type declaration is shown in
|
||||
figure <A HREF="#fig:vectype">5</A> where <code>T</code> is a placeholder for the
|
||||
data type and precision variants
|
||||
<DL>
|
||||
<DT><STRONG>I</STRONG></DT>
|
||||
<DD>Integer;
|
||||
</DD>
|
||||
<DT><STRONG>S</STRONG></DT>
|
||||
<DD>Single precision real;
|
||||
</DD>
|
||||
<DT><STRONG>D</STRONG></DT>
|
||||
<DD>Double precision real;
|
||||
</DD>
|
||||
<DT><STRONG>C</STRONG></DT>
|
||||
<DD>Single precision complex;
|
||||
</DD>
|
||||
<DT><STRONG>Z</STRONG></DT>
|
||||
<DD>Double precision complex.
|
||||
</DD>
|
||||
</DL>
|
||||
The actual data is contained in the polymorphic component <code>v%v</code>;
|
||||
the separation between the application and the actual data is
|
||||
essential for cases where it is necessary to link to data storage made
|
||||
available elsewhere outside the direct control of the
|
||||
compiler/application, e.g. data stored in a graphics accelerator's
|
||||
private memory.
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:vectype"></A><A NAME="937"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 5:</STRONG>
|
||||
The PSBLAS defined data type that
|
||||
contains a dense vector.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV><TABLE WIDTH="85%">
|
||||
<TR><TD>
|
||||
<PRE>
|
||||
type psb_T_base_vect_type
|
||||
TYPE(KIND_), allocatable :: v(:)
|
||||
end type psb_T_base_vect_type
|
||||
|
||||
type psb_T_vect_type
|
||||
class(psb_T_base_vect_type), allocatable :: v
|
||||
end type psb_T_vect_type
|
||||
</PRE></TD></TR>
|
||||
</TABLE>
|
||||
<DIV ALIGN="CENTER">
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html777"
|
||||
HREF="node44.html">Vector Methods</A>
|
||||
<LI><A NAME="tex2html778"
|
||||
HREF="node45.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
<LI><A NAME="tex2html779"
|
||||
HREF="node46.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
<LI><A NAME="tex2html780"
|
||||
HREF="node47.html">set -- Set contents of the vector</A>
|
||||
<LI><A NAME="tex2html781"
|
||||
HREF="node48.html">get_vect -- Get a copy of the vector contents</A>
|
||||
<LI><A NAME="tex2html782"
|
||||
HREF="node49.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html775"
|
||||
HREF="node44.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html771"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html765"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html773"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html776"
|
||||
HREF="node44.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html772"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html766"
|
||||
HREF="node42.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html774"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+23
-58
@@ -1,91 +1,56 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_nrows -- Get number of rows in a dense vector</TITLE>
|
||||
<META NAME="description" CONTENT="get_nrows -- Get number of rows in a dense vector">
|
||||
<TITLE>Vector Methods</TITLE>
|
||||
<META NAME="description" CONTENT="Vector Methods">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node45.html">
|
||||
<LINK REL="previous" HREF="node43.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node43.html">
|
||||
<LINK REL="next" HREF="node45.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html790"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html793"
|
||||
HREF="node45.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html786"
|
||||
HREF="node42.html">
|
||||
<A NAME="tex2html789"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html780"
|
||||
<A NAME="tex2html783"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html788"
|
||||
<A NAME="tex2html791"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html791"
|
||||
HREF="node45.html">sizeof Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html787"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html781"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<B> <A NAME="tex2html789"
|
||||
<B> Next:</B> <A NAME="tex2html794"
|
||||
HREF="node45.html">get_nrows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html790"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html784"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> <A NAME="tex2html792"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043200000000000000">
|
||||
get_nrows -- Get number of rows in a dense vector</A>
|
||||
<H3><A NAME="SECTION00043100000000000000">
|
||||
Vector Methods</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
nr = v%get_nrows()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the dense vector
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The number of rows of dense vector <code>v</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
+25
-31
@@ -1,66 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</TITLE>
|
||||
<META NAME="description" CONTENT="sizeof -- Get memory occupation in bytes
|
||||
of a dense vector">
|
||||
<TITLE>get_nrows -- Get number of rows in a dense vector</TITLE>
|
||||
<META NAME="description" CONTENT="get_nrows -- Get number of rows in a dense vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node46.html">
|
||||
<LINK REL="previous" HREF="node44.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node43.html">
|
||||
<LINK REL="next" HREF="node46.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html802"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html805"
|
||||
HREF="node46.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html798"
|
||||
HREF="node42.html">
|
||||
<A NAME="tex2html801"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html792"
|
||||
<A NAME="tex2html795"
|
||||
HREF="node44.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html800"
|
||||
<A NAME="tex2html803"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html803"
|
||||
HREF="node46.html">set Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html799"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html793"
|
||||
HREF="node44.html">get_nrows Get</A>
|
||||
<B> <A NAME="tex2html801"
|
||||
<B> Next:</B> <A NAME="tex2html806"
|
||||
HREF="node46.html">sizeof Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html802"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html796"
|
||||
HREF="node44.html">Vector Methods</A>
|
||||
<B> <A NAME="tex2html804"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043300000000000000">
|
||||
sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
<H3><A NAME="SECTION00043200000000000000">
|
||||
get_nrows -- Get number of rows in a dense vector</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
memory_size = v%sizeof()
|
||||
nr = v%get_nrows()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -84,7 +78,7 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The memory occupation in bytes.
|
||||
<DD>The number of rows of dense vector <code>v</code>.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+30
-75
@@ -1,65 +1,63 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>set -- Set contents of the vector</TITLE>
|
||||
<META NAME="description" CONTENT="set -- Set contents of the vector">
|
||||
<TITLE>sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</TITLE>
|
||||
<META NAME="description" CONTENT="sizeof -- Get memory occupation in bytes
|
||||
of a dense vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node47.html">
|
||||
<LINK REL="previous" HREF="node45.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node43.html">
|
||||
<LINK REL="next" HREF="node47.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html814"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html817"
|
||||
HREF="node47.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html810"
|
||||
HREF="node42.html">
|
||||
<A NAME="tex2html813"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html804"
|
||||
<A NAME="tex2html807"
|
||||
HREF="node45.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html812"
|
||||
<A NAME="tex2html815"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html815"
|
||||
HREF="node47.html">get_vect Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html811"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html805"
|
||||
HREF="node45.html">sizeof Get</A>
|
||||
<B> <A NAME="tex2html813"
|
||||
<B> Next:</B> <A NAME="tex2html818"
|
||||
HREF="node47.html">set Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html814"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html808"
|
||||
HREF="node45.html">get_nrows Get</A>
|
||||
<B> <A NAME="tex2html816"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043400000000000000">
|
||||
set -- Set contents of the vector</A>
|
||||
<H3><A NAME="SECTION00043300000000000000">
|
||||
sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call v%set(alpha[,first,last])
|
||||
call v%set(vect[,first,last])
|
||||
call v%zero()
|
||||
memory_size = v%sizeof()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -75,59 +73,16 @@ set -- Set contents of the vector</A>
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
<DT><STRONG>alpha</STRONG></DT>
|
||||
<DD>A scalar value.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data
|
||||
type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>first,last</STRONG></DT>
|
||||
<DD>Boundaries for setting in the vector.
|
||||
<BR>
|
||||
Scope: <B> local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified
|
||||
as: integers.
|
||||
</DD>
|
||||
<DT><STRONG>vect</STRONG></DT>
|
||||
<DD>An array
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data
|
||||
type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
</DL>
|
||||
Note that a call to <code>v%zero()</code> is provided as a shorthand, but
|
||||
is equivalent to a call to <code>v%set(zero)</code> with the <code>zero</code>
|
||||
constant having the appropriate type and kind.
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the dense vector, with updated entries
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>The memory occupation in bytes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
+72
-31
@@ -1,63 +1,62 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>get_vect -- Get a copy of the vector contents</TITLE>
|
||||
<META NAME="description" CONTENT="get_vect -- Get a copy of the vector contents">
|
||||
<TITLE>set -- Set contents of the vector</TITLE>
|
||||
<META NAME="description" CONTENT="set -- Set contents of the vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node48.html">
|
||||
<LINK REL="previous" HREF="node46.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node43.html">
|
||||
<LINK REL="next" HREF="node48.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html826"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html829"
|
||||
HREF="node48.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html822"
|
||||
HREF="node42.html">
|
||||
<A NAME="tex2html825"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html816"
|
||||
<A NAME="tex2html819"
|
||||
HREF="node46.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html824"
|
||||
<A NAME="tex2html827"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html827"
|
||||
HREF="node48.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html823"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html817"
|
||||
HREF="node46.html">set Set</A>
|
||||
<B> <A NAME="tex2html825"
|
||||
<B> Next:</B> <A NAME="tex2html830"
|
||||
HREF="node48.html">get_vect Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html826"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html820"
|
||||
HREF="node46.html">sizeof Get</A>
|
||||
<B> <A NAME="tex2html828"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043500000000000000">
|
||||
get_vect -- Get a copy of the vector contents</A>
|
||||
<H3><A NAME="SECTION00043400000000000000">
|
||||
set -- Set contents of the vector</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
extv = v%get_vect()
|
||||
call v%set(alpha[,first,last])
|
||||
call v%set(vect[,first,last])
|
||||
call v%zero()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -73,17 +72,59 @@ extv = v%get_vect()
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
<DT><STRONG>alpha</STRONG></DT>
|
||||
<DD>A scalar value.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data
|
||||
type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>first,last</STRONG></DT>
|
||||
<DD>Boundaries for setting in the vector.
|
||||
<BR>
|
||||
Scope: <B> local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified
|
||||
as: integers.
|
||||
</DD>
|
||||
<DT><STRONG>vect</STRONG></DT>
|
||||
<DD>An array
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data
|
||||
type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
</DL>
|
||||
Note that a call to <code>v%zero()</code> is provided as a shorthand, but
|
||||
is equivalent to a call to <code>v%set(zero)</code> with the <code>zero</code>
|
||||
constant having the appropriate type and kind.
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>An allocatable array holding a copy of the dense
|
||||
vector contents.
|
||||
</DD>
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the dense vector, with updated entries
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
+32
-35
@@ -1,61 +1,60 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>clone -- Clone current object</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- Clone current object">
|
||||
<TITLE>get_vect -- Get a copy of the vector contents</TITLE>
|
||||
<META NAME="description" CONTENT="get_vect -- Get a copy of the vector contents">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node49.html">
|
||||
<LINK REL="previous" HREF="node47.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node43.html">
|
||||
<LINK REL="next" HREF="node49.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html836"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html841"
|
||||
HREF="node49.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html832"
|
||||
HREF="node42.html">
|
||||
<A NAME="tex2html837"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html828"
|
||||
<A NAME="tex2html831"
|
||||
HREF="node47.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html834"
|
||||
<A NAME="tex2html839"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html837"
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html833"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html829"
|
||||
HREF="node47.html">get_vect Get</A>
|
||||
<B> <A NAME="tex2html835"
|
||||
<B> Next:</B> <A NAME="tex2html842"
|
||||
HREF="node49.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html838"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html832"
|
||||
HREF="node47.html">set Set</A>
|
||||
<B> <A NAME="tex2html840"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043600000000000000">
|
||||
clone -- Clone current object</A>
|
||||
<H3><A NAME="SECTION00043500000000000000">
|
||||
get_vect -- Get a copy of the vector contents</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call x%clone(y,info)
|
||||
extv = v%get_vect()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -66,10 +65,10 @@ call x%clone(y,info)
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the dense vector.
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the dense vector
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
@@ -78,11 +77,9 @@ Scope: <B>local</B>.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>An allocatable array holding a copy of the dense
|
||||
vector contents.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
+54
-56
@@ -1,89 +1,87 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Preconditioner data structure</TITLE>
|
||||
<META NAME="description" CONTENT="Preconditioner data structure">
|
||||
<TITLE>clone -- Clone current object</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- Clone current object">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node50.html">
|
||||
<LINK REL="previous" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="previous" HREF="node48.html">
|
||||
<LINK REL="up" HREF="node43.html">
|
||||
<LINK REL="next" HREF="node50.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html848"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html851"
|
||||
HREF="node50.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html844"
|
||||
HREF="node9.html">
|
||||
<A NAME="tex2html847"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html838"
|
||||
<A NAME="tex2html843"
|
||||
HREF="node48.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html846"
|
||||
<A NAME="tex2html849"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html849"
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html845"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html839"
|
||||
HREF="node48.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html847"
|
||||
<B> Next:</B> <A NAME="tex2html852"
|
||||
HREF="node50.html">Preconditioner data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html848"
|
||||
HREF="node43.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html844"
|
||||
HREF="node48.html">get_vect Get</A>
|
||||
<B> <A NAME="tex2html850"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00044000000000000000"></A>
|
||||
<A NAME="sec:prec"></A>
|
||||
<BR>
|
||||
Preconditioner data structure
|
||||
</H2>
|
||||
Our base library offers support for simple well known preconditioners
|
||||
like Diagonal Scaling or Block Jacobi with incomplete
|
||||
factorization ILU(0).
|
||||
<H3><A NAME="SECTION00043600000000000000">
|
||||
clone -- Clone current object</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call x%clone(y,info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
A preconditioner is held in the precdata<TT> psb_prec_type</TT> data structure reported in
|
||||
figure <A HREF="#fig:prectype">6</A>. The <code>psb_prec_type</code>
|
||||
data type may contain a simple preconditioning matrix with the
|
||||
associated communication descriptor.The internal preconditioner is allocated appropriately with the
|
||||
dynamic type corresponding to the desired preconditioner.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the dense vector.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:prectype"></A><A NAME="925"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 6:</STRONG>
|
||||
The PSBLAS defined data type that contains a preconditioner.</CAPTION>
|
||||
<TR><TD><FONT SIZE="-1">
|
||||
</FONT>
|
||||
<DIV ALIGN="CENTER"></DIV><TABLE WIDTH="90%">
|
||||
<TR><TD>
|
||||
<PRE>
|
||||
type psb_Tprec_type
|
||||
class(psb_T_base_prec_type), allocatable :: prec
|
||||
end type psb_Tprec_type
|
||||
</PRE></TD></TR>
|
||||
</TABLE>
|
||||
<DIV ALIGN="CENTER"></DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
+27
-29
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Library contents</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html252"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html253"
|
||||
HREF="node6.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html248"
|
||||
<A NAME="tex2html249"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html242"
|
||||
<A NAME="tex2html243"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html250"
|
||||
<A NAME="tex2html251"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html253"
|
||||
<B> Next:</B> <A NAME="tex2html254"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html249"
|
||||
<B> Up:</B> <A NAME="tex2html250"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html243"
|
||||
<B> Previous:</B> <A NAME="tex2html244"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> <A NAME="tex2html251"
|
||||
<B> <A NAME="tex2html252"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00032000000000000000">
|
||||
@@ -128,7 +125,7 @@ internally defined in the PSBLAS software package:
|
||||
</LI>
|
||||
</UL>
|
||||
For example the <code>psb_geins</code>, <code>psb_spins</code> and
|
||||
<code>psb_cdins</code> perform the same action (see <A HREF="node70.html#sec:toolsrout">6</A>) on
|
||||
<code>psb_cdins</code> perform the same action (see <A HREF="node71.html#sec:toolsrout">6</A>) on
|
||||
dense matrices, sparse matrices and communication descriptors
|
||||
respectively.
|
||||
Interface overloading allows the usage of the same subroutine
|
||||
@@ -150,7 +147,7 @@ are classified as:
|
||||
To finish our general description, we define a version string with the
|
||||
constant
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
\verb|psb_version_string_|
|
||||
@@ -167,29 +164,30 @@ constant
|
||||
whose current value is <code>3.4.0</code>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html252"
|
||||
<A NAME="tex2html253"
|
||||
HREF="node6.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html248"
|
||||
<A NAME="tex2html249"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html242"
|
||||
<A NAME="tex2html243"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html250"
|
||||
<A NAME="tex2html251"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html253"
|
||||
<B> Next:</B> <A NAME="tex2html254"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html249"
|
||||
<B> Up:</B> <A NAME="tex2html250"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html243"
|
||||
<B> Previous:</B> <A NAME="tex2html244"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> <A NAME="tex2html251"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> <A NAME="tex2html252"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+51
-61
@@ -1,97 +1,87 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Heap data structure</TITLE>
|
||||
<META NAME="description" CONTENT="Heap data structure">
|
||||
<TITLE>Preconditioner data structure</TITLE>
|
||||
<META NAME="description" CONTENT="Preconditioner data structure">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node49.html">
|
||||
<LINK REL="next" HREF="node51.html">
|
||||
<LINK REL="previous" HREF="node43.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node51.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html858"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html863"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html854"
|
||||
<A NAME="tex2html859"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html850"
|
||||
<A NAME="tex2html853"
|
||||
HREF="node49.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html856"
|
||||
<A NAME="tex2html861"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html859"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html855"
|
||||
<B> Next:</B> <A NAME="tex2html864"
|
||||
HREF="node51.html">Heap data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html860"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html851"
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
<B> <A NAME="tex2html857"
|
||||
<B> Previous:</B> <A NAME="tex2html854"
|
||||
HREF="node49.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html862"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00045000000000000000">
|
||||
Heap data structure</A>
|
||||
<H2><A NAME="SECTION00044000000000000000"></A>
|
||||
<A NAME="sec:prec"></A>
|
||||
<BR>
|
||||
Preconditioner data structure
|
||||
</H2>
|
||||
Our base library offers support for simple well known preconditioners
|
||||
like Diagonal Scaling or Block Jacobi with incomplete
|
||||
factorization ILU(0).
|
||||
|
||||
<P>
|
||||
Among the tools routines of sec. <A HREF="node70.html#sec:toolsrout">6</A>, we have a number
|
||||
of sorting utilities; the heap sort is implemented in terms of heaps
|
||||
having the following signatures:
|
||||
<DL>
|
||||
<DT><STRONG><TT>psb_T_heap</TT></STRONG></DT>
|
||||
<DD>: a heap containing elements of type T, where T
|
||||
can be <code>i,s,c,d,z</code> for integer, real and complex data;
|
||||
</DD>
|
||||
<DT><STRONG><TT>psb_T_idx_heap</TT></STRONG></DT>
|
||||
<DD>: a heap containing elements of type T, as
|
||||
above, together with an integer index.
|
||||
</DD>
|
||||
</DL>
|
||||
Given a heap object, the following methods are defined on it:
|
||||
<DL>
|
||||
<DT><STRONG>init</STRONG></DT>
|
||||
<DD>Initialize memory; also choose ascending or descending
|
||||
order;
|
||||
</DD>
|
||||
<DT><STRONG>howmany</STRONG></DT>
|
||||
<DD>Current heap occupancy;
|
||||
</DD>
|
||||
<DT><STRONG>insert</STRONG></DT>
|
||||
<DD>Add an item (or an item and its index);
|
||||
</DD>
|
||||
<DT><STRONG>get_first</STRONG></DT>
|
||||
<DD>Remove and return the first element;
|
||||
</DD>
|
||||
<DT><STRONG>dump</STRONG></DT>
|
||||
<DD>Print on file;
|
||||
</DD>
|
||||
<DT><STRONG>free</STRONG></DT>
|
||||
<DD>Release memory.
|
||||
</DD>
|
||||
</DL>
|
||||
These objects are used in MLD2P4 to implement the factorization
|
||||
algorithms.
|
||||
A preconditioner is held in the precdata<TT> psb_prec_type</TT> data structure reported in
|
||||
figure <A HREF="#fig:prectype">6</A>. The <code>psb_prec_type</code>
|
||||
data type may contain a simple preconditioning matrix with the
|
||||
associated communication descriptor.
|
||||
The internal preconditioner is allocated appropriately with the
|
||||
dynamic type corresponding to the desired preconditioner.
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:prectype"></A><A NAME="939"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 6:</STRONG>
|
||||
The PSBLAS defined data type that contains a preconditioner.</CAPTION>
|
||||
<TR><TD><SMALL CLASS="SMALL">
|
||||
</SMALL>
|
||||
<DIV ALIGN="CENTER"></DIV><TABLE WIDTH="90%">
|
||||
<TR><TD>
|
||||
<PRE>
|
||||
type psb_Tprec_type
|
||||
class(psb_T_base_prec_type), allocatable :: prec
|
||||
end type psb_Tprec_type
|
||||
</PRE></TD></TR>
|
||||
</TABLE>
|
||||
<DIV ALIGN="CENTER"></DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
+63
-62
@@ -1,95 +1,96 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Computational routines</TITLE>
|
||||
<META NAME="description" CONTENT="Computational routines">
|
||||
<TITLE>Heap data structure</TITLE>
|
||||
<META NAME="description" CONTENT="Heap data structure">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node65.html">
|
||||
<LINK REL="previous" HREF="node9.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="previous" HREF="node50.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node52.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html870"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html873"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html866"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html869"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html860"
|
||||
<A NAME="tex2html865"
|
||||
HREF="node50.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html868"
|
||||
<A NAME="tex2html871"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html871"
|
||||
HREF="node52.html">psb_geaxpby General</A>
|
||||
<B> Up:</B> <A NAME="tex2html867"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html861"
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
<B> <A NAME="tex2html869"
|
||||
<B> Next:</B> <A NAME="tex2html874"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html870"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html866"
|
||||
HREF="node50.html">Preconditioner data structure</A>
|
||||
<B> <A NAME="tex2html872"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00050000000000000000">
|
||||
Computational routines</A>
|
||||
</H1>
|
||||
<H2><A NAME="SECTION00045000000000000000">
|
||||
Heap data structure</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
Among the tools routines of sec. <A HREF="node71.html#sec:toolsrout">6</A>, we have a number
|
||||
of sorting utilities; the heap sort is implemented in terms of heaps
|
||||
having the following signatures:
|
||||
<DL>
|
||||
<DT><STRONG><TT>psb_T_heap</TT></STRONG></DT>
|
||||
<DD>: a heap containing elements of type T, where T
|
||||
can be <code>i,s,c,d,z</code> for integer, real and complex data;
|
||||
</DD>
|
||||
<DT><STRONG><TT>psb_T_idx_heap</TT></STRONG></DT>
|
||||
<DD>: a heap containing elements of type T, as
|
||||
above, together with an integer index.
|
||||
</DD>
|
||||
</DL>
|
||||
Given a heap object, the following methods are defined on it:
|
||||
<DL>
|
||||
<DT><STRONG>init</STRONG></DT>
|
||||
<DD>Initialize memory; also choose ascending or descending
|
||||
order;
|
||||
</DD>
|
||||
<DT><STRONG>howmany</STRONG></DT>
|
||||
<DD>Current heap occupancy;
|
||||
</DD>
|
||||
<DT><STRONG>insert</STRONG></DT>
|
||||
<DD>Add an item (or an item and its index);
|
||||
</DD>
|
||||
<DT><STRONG>get_first</STRONG></DT>
|
||||
<DD>Remove and return the first element;
|
||||
</DD>
|
||||
<DT><STRONG>dump</STRONG></DT>
|
||||
<DD>Print on file;
|
||||
</DD>
|
||||
<DT><STRONG>free</STRONG></DT>
|
||||
<DD>Release memory.
|
||||
</DD>
|
||||
</DL>
|
||||
These objects are used in MLD2P4 to implement the factorization
|
||||
algorithms.
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html872"
|
||||
HREF="node52.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
<LI><A NAME="tex2html873"
|
||||
HREF="node53.html">psb_gedot -- Dot Product</A>
|
||||
<LI><A NAME="tex2html874"
|
||||
HREF="node54.html">psb_gedots -- Generalized Dot Product</A>
|
||||
<LI><A NAME="tex2html875"
|
||||
HREF="node55.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html876"
|
||||
HREF="node56.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<LI><A NAME="tex2html877"
|
||||
HREF="node57.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html878"
|
||||
HREF="node58.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html879"
|
||||
HREF="node59.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html880"
|
||||
HREF="node60.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html881"
|
||||
HREF="node61.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html882"
|
||||
HREF="node62.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html883"
|
||||
HREF="node63.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<LI><A NAME="tex2html884"
|
||||
HREF="node64.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
+60
-246
@@ -1,279 +1,93 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_geaxpby -- General Dense Matrix Sum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geaxpby -- General Dense Matrix Sum">
|
||||
<TITLE>Computational routines</TITLE>
|
||||
<META NAME="description" CONTENT="Computational routines">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node53.html">
|
||||
<LINK REL="previous" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node66.html">
|
||||
<LINK REL="previous" HREF="node9.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node53.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html895"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html885"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html891"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html881"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html885"
|
||||
<A NAME="tex2html875"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html893"
|
||||
<A NAME="tex2html883"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html896"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html892"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html886"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html894"
|
||||
<B> Next:</B> <A NAME="tex2html886"
|
||||
HREF="node53.html">psb_geaxpby General</A>
|
||||
<B> Up:</B> <A NAME="tex2html882"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html876"
|
||||
HREF="node51.html">Heap data structure</A>
|
||||
<B> <A NAME="tex2html884"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00051000000000000000">
|
||||
psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
</H2>
|
||||
<H1><A NAME="SECTION00050000000000000000">
|
||||
Computational routines</A>
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
This subroutine is an interface to the computational kernel for
|
||||
dense matrix sum:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
y \leftarrow \alpha\> x+ \beta y
|
||||
\end{displaymath}
|
||||
-->
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<IMG
|
||||
WIDTH="93" HEIGHT="27" BORDER="0"
|
||||
SRC="img19.png"
|
||||
ALT="\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_geaxpby(alpha, x, beta, y, desc_a, info)
|
||||
</PRE>
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1948"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 1:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">, <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">, <IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$">, <IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>alpha</STRONG></DT>
|
||||
<DD>the scalar <IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data
|
||||
type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type
|
||||
specified in Table <A HREF="#tab:f90axpby">1</A>. The rank of <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> must be the same of <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
</DD>
|
||||
<DT><STRONG>beta</STRONG></DT>
|
||||
<DD>the scalar <IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of the global dense matrix
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT> containing numbers of the type
|
||||
indicated in Table <A HREF="#tab:f90axpby">1</A>. The rank of <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> must be the same of <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of result submatrix <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT> containing numbers of the type
|
||||
indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html895"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html891"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html885"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html893"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html896"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html892"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html886"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html894"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html887"
|
||||
HREF="node53.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
<LI><A NAME="tex2html888"
|
||||
HREF="node54.html">psb_gedot -- Dot Product</A>
|
||||
<LI><A NAME="tex2html889"
|
||||
HREF="node55.html">psb_gedots -- Generalized Dot Product</A>
|
||||
<LI><A NAME="tex2html890"
|
||||
HREF="node56.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html891"
|
||||
HREF="node57.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<LI><A NAME="tex2html892"
|
||||
HREF="node58.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html893"
|
||||
HREF="node59.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html894"
|
||||
HREF="node60.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html895"
|
||||
HREF="node61.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html896"
|
||||
HREF="node62.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html897"
|
||||
HREF="node63.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html898"
|
||||
HREF="node64.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<LI><A NAME="tex2html899"
|
||||
HREF="node65.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+125
-122
@@ -1,150 +1,116 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_gedot -- Dot Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_gedot -- Dot Product">
|
||||
<TITLE>psb_geaxpby -- General Dense Matrix Sum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geaxpby -- General Dense Matrix Sum">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node54.html">
|
||||
<LINK REL="previous" HREF="node52.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node54.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html907"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html910"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html903"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html906"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html897"
|
||||
<A NAME="tex2html900"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html905"
|
||||
<A NAME="tex2html908"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html908"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html904"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html898"
|
||||
HREF="node52.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html906"
|
||||
<B> Next:</B> <A NAME="tex2html911"
|
||||
HREF="node54.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html907"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html901"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html909"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00052000000000000000">
|
||||
psb_gedot -- Dot Product</A>
|
||||
<H2><A NAME="SECTION00051000000000000000">
|
||||
psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes dot product between two vectors <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
If <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> are real vectors
|
||||
it computes dot-product as:
|
||||
This subroutine is an interface to the computational kernel for
|
||||
dense matrix sum:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
dot \leftarrow x^T y
|
||||
y \leftarrow \alpha\> x+ \beta y
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="74" HEIGHT="27" BORDER="0"
|
||||
SRC="img24.png"
|
||||
ALT="\begin{displaymath}dot \leftarrow x^T y\end{displaymath}">
|
||||
WIDTH="93" HEIGHT="27" BORDER="0"
|
||||
SRC="img19.png"
|
||||
ALT="\begin{displaymath}y \leftarrow \alpha\> x+ \beta y \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
Else if <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> are complex vectors then it computes dot-product as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
dot \leftarrow x^H y
|
||||
\end{displaymath}
|
||||
-->
|
||||
<P></P>
|
||||
|
||||
<IMG
|
||||
WIDTH="75" HEIGHT="27" BORDER="0"
|
||||
SRC="img25.png"
|
||||
ALT="\begin{displaymath}dot \leftarrow x^H y\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
<P>
|
||||
<PRE>
|
||||
psb_gedot(x, y, desc_a, info)
|
||||
call psb_geaxpby(alpha, x, beta, y, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1949"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1977"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 2:</STRONG>
|
||||
<CAPTION><STRONG>Table 1:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="25" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img26.png"
|
||||
ALT="$dot$">, <IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">, <IMG
|
||||
ALT="$x$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
ALT="$y$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -161,12 +127,27 @@ Data types</CAPTION>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>alpha</STRONG></DT>
|
||||
<DD>the scalar <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data
|
||||
type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -174,38 +155,51 @@ Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90dot">2</A>. The rank of <IMG
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type
|
||||
specified in Table <A HREF="#tab:f90axpby">1</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> must be the same of <IMG
|
||||
ALT="$x$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>beta</STRONG></DT>
|
||||
<DD>the scalar <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<DD>the local portion of the global dense matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90dot">2</A>. The rank of <IMG
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT> containing numbers of the type
|
||||
indicated in Table <A HREF="#tab:f90axpby">1</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> must be the same of <IMG
|
||||
ALT="$y$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -217,23 +211,30 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the dot product of subvectors <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and <IMG
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of result submatrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90dot">2</A>.
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT> containing numbers of the type
|
||||
indicated in Table <A HREF="#tab:f90axpby">1</A>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -247,30 +248,32 @@ Intent: <B>out</B>.
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html907"
|
||||
<A NAME="tex2html910"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html903"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html906"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html897"
|
||||
<A NAME="tex2html900"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html905"
|
||||
<A NAME="tex2html908"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html908"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html904"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html898"
|
||||
HREF="node52.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html906"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html911"
|
||||
HREF="node54.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html907"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html901"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html909"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+105
-93
@@ -1,136 +1,148 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_gedots -- Generalized Dot Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_gedots -- Generalized Dot Product">
|
||||
<TITLE>psb_gedot -- Dot Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_gedot -- Dot Product">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node55.html">
|
||||
<LINK REL="previous" HREF="node53.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node55.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html919"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html922"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html915"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html918"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html909"
|
||||
<A NAME="tex2html912"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html917"
|
||||
<A NAME="tex2html920"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html920"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html916"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html910"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html918"
|
||||
<B> Next:</B> <A NAME="tex2html923"
|
||||
HREF="node55.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html919"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html913"
|
||||
HREF="node53.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html921"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00053000000000000000">
|
||||
psb_gedots -- Generalized Dot Product</A>
|
||||
<H2><A NAME="SECTION00052000000000000000">
|
||||
psb_gedot -- Dot Product</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of dot products among the columns of
|
||||
two dense matrices <IMG
|
||||
This function computes dot product between two vectors <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and <IMG
|
||||
ALT="$x$"></SPAN> and
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">:
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
If <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN> are real vectors
|
||||
it computes dot-product as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow x(:,i)^T y(:,i)
|
||||
dot \leftarrow x^T y
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="150" HEIGHT="28" BORDER="0"
|
||||
SRC="img27.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath}">
|
||||
WIDTH="74" HEIGHT="27" BORDER="0"
|
||||
SRC="img24.png"
|
||||
ALT="\begin{displaymath}dot \leftarrow x^T y\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
If the matrices are complex, then the
|
||||
usual convention applies, i.e. the conjugate transpose of <IMG
|
||||
Else if <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is
|
||||
used. If <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and <IMG
|
||||
ALT="$x$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> are of rank one, then <IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"> is a scalar, else it
|
||||
is a rank one array.
|
||||
ALT="$y$"></SPAN> are complex vectors then it computes dot-product as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
dot \leftarrow x^H y
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="75" HEIGHT="27" BORDER="0"
|
||||
SRC="img25.png"
|
||||
ALT="\begin{displaymath}dot \leftarrow x^H y\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_gedots(res, x, y, desc_a, info)
|
||||
psb_gedot(x, y, desc_a, info)
|
||||
</PRE>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1950"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1978"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 3:</STRONG>
|
||||
<CAPTION><STRONG>Table 2:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$">, <IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="25" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img26.png"
|
||||
ALT="$dot$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">, <IMG
|
||||
ALT="$x$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
ALT="$y$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -149,10 +161,10 @@ Data types</CAPTION>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -162,20 +174,20 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90mdot">3</A>. The rank of <IMG
|
||||
Table <A HREF="#tab:f90dot">2</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> must be the same of <IMG
|
||||
ALT="$x$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -185,13 +197,13 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90mdot">3</A>. The rank of <IMG
|
||||
Table <A HREF="#tab:f90dot">2</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> must be the same of <IMG
|
||||
ALT="$y$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -203,25 +215,24 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>is the dot product of subvectors <IMG
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the dot product of subvectors <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and <IMG
|
||||
ALT="$x$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: a number or a rank-one array of the data type indicated
|
||||
in Table <A HREF="#tab:f90dot">2</A>.
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90dot">2</A>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -237,29 +248,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html919"
|
||||
<A NAME="tex2html922"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html915"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html918"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html909"
|
||||
<A NAME="tex2html912"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html917"
|
||||
<A NAME="tex2html920"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html920"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html916"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html910"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html918"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html923"
|
||||
HREF="node55.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html919"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html913"
|
||||
HREF="node53.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html921"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+125
-101
@@ -1,145 +1,133 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_normi -- Infinity-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_normi -- Infinity-Norm of Vector">
|
||||
<TITLE>psb_gedots -- Generalized Dot Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_gedots -- Generalized Dot Product">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node56.html">
|
||||
<LINK REL="previous" HREF="node54.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node56.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html931"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html934"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html927"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html930"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html921"
|
||||
<A NAME="tex2html924"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html929"
|
||||
<A NAME="tex2html932"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html932"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html928"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html922"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html930"
|
||||
<B> Next:</B> <A NAME="tex2html935"
|
||||
HREF="node56.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html931"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html925"
|
||||
HREF="node54.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html933"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00054000000000000000">
|
||||
psb_normi -- Infinity-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00053000000000000000">
|
||||
psb_gedots -- Generalized Dot Product</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes
|
||||
the infinity-norm of a vector <IMG
|
||||
This subroutine computes a series of dot products among the columns of
|
||||
two dense matrices <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
If <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a real vector
|
||||
it computes infinity norm as:
|
||||
ALT="$x$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
amax \leftarrow \max_i |x_i|
|
||||
res(i) \leftarrow x(:,i)^T y(:,i)
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="118" HEIGHT="36" BORDER="0"
|
||||
SRC="img29.png"
|
||||
ALT="\begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath}">
|
||||
WIDTH="150" HEIGHT="28" BORDER="0"
|
||||
SRC="img27.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow x(:,i)^T y(:,i)\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
else if <IMG
|
||||
If the matrices are complex, then the
|
||||
usual convention applies, i.e. the conjugate transpose of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a complex vector then it computes the infinity-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
amax \leftarrow \max_i {(|re(x_i)| + |im(x_i)|)}
|
||||
\end{displaymath}
|
||||
-->
|
||||
ALT="$x$"></SPAN> is
|
||||
used. If <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN> are of rank one, then <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></SPAN> is a scalar, else it
|
||||
is a rank one array.
|
||||
|
||||
<IMG
|
||||
WIDTH="233" HEIGHT="36" BORDER="0"
|
||||
SRC="img30.png"
|
||||
ALT="\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
<P>
|
||||
<PRE>
|
||||
psb_geamax(x, desc_a, info)
|
||||
psb_normi(x, desc_a, info)
|
||||
call psb_gedots(res, x, y, desc_a, info)
|
||||
</PRE>
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1951"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1979"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 4:</STRONG>
|
||||
<CAPTION><STRONG>Table 3:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img31.png"
|
||||
ALT="$amax$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
ALT="$x$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -158,10 +146,10 @@ Data types</CAPTION>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -169,9 +157,38 @@ Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90amax">4</A>.
|
||||
Table <A HREF="#tab:f90mdot">3</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90mdot">3</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -183,20 +200,25 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the infinity norm of subvector <IMG
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>is the dot product of subvectors <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: a number or a rank-one array of the data type indicated
|
||||
in Table <A HREF="#tab:f90dot">2</A>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -210,30 +232,32 @@ Intent: <B>out</B>.
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html931"
|
||||
<A NAME="tex2html934"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html927"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html930"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html921"
|
||||
<A NAME="tex2html924"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html929"
|
||||
<A NAME="tex2html932"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html932"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html928"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html922"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html930"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html935"
|
||||
HREF="node56.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html931"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html925"
|
||||
HREF="node54.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html933"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+97
-72
@@ -1,121 +1,144 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_geamaxs -- Generalized Infinity Norm</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geamaxs -- Generalized Infinity Norm">
|
||||
<TITLE>psb_normi -- Infinity-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_normi -- Infinity-Norm of Vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node57.html">
|
||||
<LINK REL="previous" HREF="node55.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node57.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html943"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html946"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html939"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html942"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html933"
|
||||
<A NAME="tex2html936"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html941"
|
||||
<A NAME="tex2html944"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html944"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html940"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html934"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html942"
|
||||
<B> Next:</B> <A NAME="tex2html947"
|
||||
HREF="node57.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html943"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html937"
|
||||
HREF="node55.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html945"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00055000000000000000">
|
||||
psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<H2><A NAME="SECTION00054000000000000000">
|
||||
psb_normi -- Infinity-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of infinity norms on the columns of
|
||||
a dense matrix <IMG
|
||||
This function computes
|
||||
the infinity-norm of a vector <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">:
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
If <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> is a real vector
|
||||
it computes infinity norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \max_k |x(k,i)|
|
||||
amax \leftarrow \max_i |x_i|
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="148" HEIGHT="36" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}">
|
||||
WIDTH="118" HEIGHT="36" BORDER="0"
|
||||
SRC="img29.png"
|
||||
ALT="\begin{displaymath}amax \leftarrow \max_i \vert x_i\vert\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
else if <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> is a complex vector then it computes the infinity-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
amax \leftarrow \max_i {(|re(x_i)| + |im(x_i)|)}
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="233" HEIGHT="36" BORDER="0"
|
||||
SRC="img30.png"
|
||||
ALT="\begin{displaymath}amax \leftarrow \max_i {(\vert re(x_i)\vert + \vert im(x_i)\vert)}\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_geamaxs(res, x, desc_a, info)
|
||||
psb_geamax(x, desc_a, info)
|
||||
psb_normi(x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1952"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1980"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 5:</STRONG>
|
||||
<CAPTION><STRONG>Table 4:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img31.png"
|
||||
ALT="$amax$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
ALT="$x$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
<TD ALIGN="LEFT">psb_geamax</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -134,10 +157,11 @@ Data types</CAPTION>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -145,9 +169,9 @@ Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90mamax">5</A>.
|
||||
Table <A HREF="#tab:f90amax">4</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -159,21 +183,21 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>is the infinity norm of the columns of <IMG
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the infinity norm of subvector <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: a number or a rank-one array of long precision real numbers.
|
||||
Specified as: a long precision real number.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -189,29 +213,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html943"
|
||||
<A NAME="tex2html946"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html939"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html942"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html933"
|
||||
<A NAME="tex2html936"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html941"
|
||||
<A NAME="tex2html944"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html944"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html940"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html934"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html942"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html947"
|
||||
HREF="node57.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html943"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html937"
|
||||
HREF="node55.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html945"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+69
-96
@@ -1,146 +1,118 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_norm1 -- 1-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm1 -- 1-Norm of Vector">
|
||||
<TITLE>psb_geamaxs -- Generalized Infinity Norm</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geamaxs -- Generalized Infinity Norm">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node58.html">
|
||||
<LINK REL="previous" HREF="node56.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node58.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html955"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html958"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html951"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html954"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html945"
|
||||
<A NAME="tex2html948"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html953"
|
||||
<A NAME="tex2html956"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html956"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html952"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html946"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html954"
|
||||
<B> Next:</B> <A NAME="tex2html959"
|
||||
HREF="node58.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html955"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html949"
|
||||
HREF="node56.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html957"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00056000000000000000">
|
||||
psb_norm1 -- 1-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00055000000000000000">
|
||||
psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes the 1-norm of a vector <IMG
|
||||
This subroutine computes a series of infinity norms on the columns of
|
||||
a dense matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
If <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a real vector
|
||||
it computes 1-norm as:
|
||||
ALT="$x$"></SPAN>:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
asum \leftarrow \|x_i\|
|
||||
res(i) \leftarrow \max_k |x(k,i)|
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="92" HEIGHT="28" BORDER="0"
|
||||
SRC="img33.png"
|
||||
ALT="\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
else if <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a complex vector then it computes 1-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
asum \leftarrow \|re(x)\|_1 + \|im(x)\|_1
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="205" HEIGHT="28" BORDER="0"
|
||||
SRC="img34.png"
|
||||
ALT="\begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}">
|
||||
WIDTH="148" HEIGHT="36" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
psb_geasum(x, desc_a, info)
|
||||
psb_norm1(x, desc_a, info)
|
||||
call psb_geamaxs(res, x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1953"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1981"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 6:</STRONG>
|
||||
<CAPTION><STRONG>Table 5:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="43" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img35.png"
|
||||
ALT="$asum$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
ALT="$x$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
<TD ALIGN="LEFT">psb_geamaxs</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -159,10 +131,10 @@ Data types</CAPTION>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -172,7 +144,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90asum">6</A>.
|
||||
Table <A HREF="#tab:f90mamax">5</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -184,21 +156,21 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the 1-norm of vector <IMG
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>is the infinity norm of the columns of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: a number or a rank-one array of long precision real numbers.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -214,29 +186,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html955"
|
||||
<A NAME="tex2html958"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html951"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html954"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html945"
|
||||
<A NAME="tex2html948"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html953"
|
||||
<A NAME="tex2html956"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html956"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html952"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html946"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html954"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html959"
|
||||
HREF="node58.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html955"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html949"
|
||||
HREF="node56.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html957"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+76
-99
@@ -1,165 +1,143 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_geasums -- Generalized 1-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geasums -- Generalized 1-Norm of Vector">
|
||||
<TITLE>psb_norm1 -- 1-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm1 -- 1-Norm of Vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node59.html">
|
||||
<LINK REL="previous" HREF="node57.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node59.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html967"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html970"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html963"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html966"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html957"
|
||||
<A NAME="tex2html960"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html965"
|
||||
<A NAME="tex2html968"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html968"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html964"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html958"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html966"
|
||||
<B> Next:</B> <A NAME="tex2html971"
|
||||
HREF="node59.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html967"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html961"
|
||||
HREF="node57.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html969"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00057000000000000000">
|
||||
psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00056000000000000000">
|
||||
psb_norm1 -- 1-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of 1-norms on the columns of
|
||||
a dense matrix <IMG
|
||||
This function computes the 1-norm of a vector <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \max_k |x(k,i)|
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="148" HEIGHT="36" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
This function computes the 1-norm of a vector <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
If <IMG
|
||||
If <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a real vector
|
||||
ALT="$x$"></SPAN> is a real vector
|
||||
it computes 1-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \|x_i\|
|
||||
asum \leftarrow \|x_i\|
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="94" HEIGHT="28" BORDER="0"
|
||||
SRC="img36.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath}">
|
||||
WIDTH="92" HEIGHT="28" BORDER="0"
|
||||
SRC="img33.png"
|
||||
ALT="\begin{displaymath}asum \leftarrow \Vert x_i\Vert\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
else if <IMG
|
||||
else if <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a complex vector then it computes 1-norm as:
|
||||
ALT="$x$"></SPAN> is a complex vector then it computes 1-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \|re(x)\|_1 + \|im(x)\|_1
|
||||
asum \leftarrow \|re(x)\|_1 + \|im(x)\|_1
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="207" HEIGHT="28" BORDER="0"
|
||||
SRC="img37.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}">
|
||||
WIDTH="205" HEIGHT="28" BORDER="0"
|
||||
SRC="img34.png"
|
||||
ALT="\begin{displaymath}asum \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_geasums(res, x, desc_a, info)
|
||||
psb_geasum(x, desc_a, info)
|
||||
psb_norm1(x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1954"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1982"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 7:</STRONG>
|
||||
<CAPTION><STRONG>Table 6:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="43" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img35.png"
|
||||
ALT="$asum$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
ALT="$x$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
<TD ALIGN="LEFT">psb_geasum</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -178,10 +156,11 @@ Data types</CAPTION>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -191,7 +170,7 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90asums">7</A>.
|
||||
Table <A HREF="#tab:f90asum">6</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -209,17 +188,14 @@ Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>contains the 1-norm of (the columns of) <IMG
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the 1-norm of vector <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Short as: a long precision real number.
|
||||
Specified as: a long precision real number.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
@@ -236,29 +212,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html967"
|
||||
<A NAME="tex2html970"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html963"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html966"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html957"
|
||||
<A NAME="tex2html960"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html965"
|
||||
<A NAME="tex2html968"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html968"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html964"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html958"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html966"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html971"
|
||||
HREF="node59.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html967"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html961"
|
||||
HREF="node57.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html969"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+106
-84
@@ -1,139 +1,162 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_norm2 -- 2-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm2 -- 2-Norm of Vector">
|
||||
<TITLE>psb_geasums -- Generalized 1-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geasums -- Generalized 1-Norm of Vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node60.html">
|
||||
<LINK REL="previous" HREF="node58.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node60.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html979"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html982"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html975"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html978"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html969"
|
||||
<A NAME="tex2html972"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html977"
|
||||
<A NAME="tex2html980"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html980"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html976"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html970"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html978"
|
||||
<B> Next:</B> <A NAME="tex2html983"
|
||||
HREF="node60.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html979"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html973"
|
||||
HREF="node58.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html981"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00058000000000000000">
|
||||
psb_norm2 -- 2-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00057000000000000000">
|
||||
psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes the 2-norm of a vector <IMG
|
||||
This subroutine computes a series of 1-norms on the columns of
|
||||
a dense matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \max_k |x(k,i)|
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="148" HEIGHT="36" BORDER="0"
|
||||
SRC="img32.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \max_k \vert x(k,i)\vert \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
This function computes the 1-norm of a vector <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
If <IMG
|
||||
If <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a real vector
|
||||
it computes 2-norm as:
|
||||
ALT="$x$"></SPAN> is a real vector
|
||||
it computes 1-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrm2 \leftarrow \sqrt{x^T x}
|
||||
res(i) \leftarrow \|x_i\|
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="106" HEIGHT="24" BORDER="0"
|
||||
SRC="img38.png"
|
||||
ALT="\begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath}">
|
||||
WIDTH="94" HEIGHT="28" BORDER="0"
|
||||
SRC="img36.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \Vert x_i\Vert\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
else if <IMG
|
||||
else if <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a complex vector then it computes 2-norm as:
|
||||
ALT="$x$"></SPAN> is a complex vector then it computes 1-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrm2 \leftarrow \sqrt{x^H x}
|
||||
res(i) \leftarrow \|re(x)\|_1 + \|im(x)\|_1
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="108" HEIGHT="24" BORDER="0"
|
||||
SRC="img39.png"
|
||||
ALT="\begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath}">
|
||||
WIDTH="207" HEIGHT="28" BORDER="0"
|
||||
SRC="img37.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \Vert re(x)\Vert _1 + \Vert im(x)\Vert _1\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_geasums(res, x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1955"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1983"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 8:</STRONG>
|
||||
<CAPTION><STRONG>Table 7:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="43" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img40.png"
|
||||
ALT="$nrm2$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
ALT="$x$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
<TD ALIGN="LEFT">psb_geasums</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -142,11 +165,6 @@ Data types</CAPTION>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
psb_genrm2(x, desc_a, info)
|
||||
psb_norm2(x, desc_a, info)
|
||||
</PRE>
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -157,10 +175,11 @@ psb_norm2(x, desc_a, info)
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -168,9 +187,9 @@ Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90nrm2">8</A>.
|
||||
Table <A HREF="#tab:f90asums">7</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -182,22 +201,24 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function Value</STRONG></DT>
|
||||
<DD>is the 2-norm of subvector <IMG
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>contains the 1-norm of (the columns of) <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
Short as: a long precision real number.
|
||||
Specified as: a long precision real number.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -213,29 +234,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html979"
|
||||
<A NAME="tex2html982"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html975"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html978"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html969"
|
||||
<A NAME="tex2html972"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html977"
|
||||
<A NAME="tex2html980"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html980"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html976"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html970"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html978"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html983"
|
||||
HREF="node60.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html979"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html973"
|
||||
HREF="node58.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html981"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+53
-55
@@ -1,10 +1,6 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Application structure</TITLE>
|
||||
@@ -13,7 +9,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
@@ -25,30 +21,31 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html264"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html265"
|
||||
HREF="node7.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html260"
|
||||
<A NAME="tex2html261"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html254"
|
||||
<A NAME="tex2html255"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html262"
|
||||
<A NAME="tex2html263"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html265"
|
||||
<B> Next:</B> <A NAME="tex2html266"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
<B> Up:</B> <A NAME="tex2html261"
|
||||
<B> Up:</B> <A NAME="tex2html262"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html255"
|
||||
<B> Previous:</B> <A NAME="tex2html256"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> <A NAME="tex2html263"
|
||||
<B> <A NAME="tex2html264"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00033000000000000000"></A>
|
||||
@@ -63,10 +60,10 @@ library objects are created and exist with reference to a discretized
|
||||
space to which there corresponds an index space and a matrix sparsity
|
||||
pattern. As an example, consider a cell-centered finite-volume
|
||||
discretization of the Navier-Stokes equations on a simulation domain;
|
||||
the index space <IMG
|
||||
the index space <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="46" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img15.png"
|
||||
ALT="$1\dots n$"> is isomorphic to the set of cell centers,
|
||||
ALT="$1\dots n$"></SPAN> is isomorphic to the set of cell centers,
|
||||
whereas the pattern of the associated linear system matrix is
|
||||
isomorphic to the adjacency graph imposed on the discretization mesh
|
||||
by the discretization stencil.
|
||||
@@ -74,70 +71,70 @@ by the discretization stencil.
|
||||
<P>
|
||||
Thus the first order of business is to establish an index space, and
|
||||
this is done with a call to <code>psb_cdall</code> in which we specify the
|
||||
size of the index space <IMG
|
||||
size of the index space <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img16.png"
|
||||
ALT="$n$"> and the allocation of the elements of the
|
||||
ALT="$n$"></SPAN> and the allocation of the elements of the
|
||||
index space to the various processes making up the MPI (virtual)
|
||||
parallel machine.
|
||||
|
||||
<P>
|
||||
The index space is partitioned among processes, and this creates a
|
||||
mapping from the ``global'' numbering <IMG
|
||||
mapping from the “global” numbering <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="46" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img15.png"
|
||||
ALT="$1\dots n$"> to a numbering
|
||||
``local'' to each process; each process <IMG
|
||||
ALT="$1\dots n$"></SPAN> to a numbering
|
||||
“local” to each process; each process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$"> will own a certain subset
|
||||
ALT="$i$"></SPAN> will own a certain subset
|
||||
<!-- MATH
|
||||
$1\dots n_{\hbox{row}_i}$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="77" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img17.png"
|
||||
ALT="$1\dots n_{\hbox{row}_i}$">, each element of which corresponds to a certain
|
||||
element of <IMG
|
||||
ALT="$1\dots n_{\hbox{row}_i}$"></SPAN>, each element of which corresponds to a certain
|
||||
element of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="46" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img15.png"
|
||||
ALT="$1\dots n$">. The user does not set explicitly this mapping;
|
||||
ALT="$1\dots n$"></SPAN>. The user does not set explicitly this mapping;
|
||||
when the application needs to indicate to which element of the index
|
||||
space a certain item is related, such as the row and column index of a
|
||||
matrix coefficient, it does so in the ``global'' numbering, and the
|
||||
library will translate into the appropriate ``local'' numbering.
|
||||
matrix coefficient, it does so in the “global” numbering, and the
|
||||
library will translate into the appropriate “local” numbering.
|
||||
|
||||
<P>
|
||||
For a given index space <IMG
|
||||
For a given index space <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="46" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img15.png"
|
||||
ALT="$1\dots n$"> there are many possible associated
|
||||
ALT="$1\dots n$"></SPAN> there are many possible associated
|
||||
topologies, i.e. many different discretization stencils; thus the
|
||||
description of the index space is not completed until the user has
|
||||
defined a sparsity pattern, either explicitly through <code>psb_cdins</code>
|
||||
or implicitly through <code>psb_spins</code>. The descriptor is finalized
|
||||
with a call to <code>psb_cdasb</code> and a sparse matrix with a call to
|
||||
<code>psb_spasb</code>. After <code>psb_cdasb</code> each process <IMG
|
||||
<code>psb_spasb</code>. After <code>psb_cdasb</code> each process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$"> will have
|
||||
defined a set of ``halo'' (or ``ghost'') indices
|
||||
ALT="$i$"></SPAN> will have
|
||||
defined a set of “halo” (or “ghost”) indices
|
||||
<!-- MATH
|
||||
$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$
|
||||
-->
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="130" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img18.png"
|
||||
ALT="$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$">, denoting elements of the index
|
||||
space that are <I>not</I> assigned to process <IMG
|
||||
ALT="$n_{\hbox{row}_i}+1\dots n_{\hbox{col}_i}$"></SPAN>, denoting elements of the index
|
||||
space that are <SPAN CLASS="textit">not</SPAN> assigned to process <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="9" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img4.png"
|
||||
ALT="$i$">; however the
|
||||
ALT="$i$"></SPAN>; however the
|
||||
variables associated with them are needed to complete computations
|
||||
associated with the sparse matrix <IMG
|
||||
associated with the sparse matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">, and thus they have to be
|
||||
ALT="$A$"></SPAN>, and thus they have to be
|
||||
fetched from (neighbouring) processes. The descriptor of the index
|
||||
space is built exactly for the purpose of properly sequencing the
|
||||
communication steps required to achieve this objective.
|
||||
@@ -171,7 +168,7 @@ follows:
|
||||
</LI>
|
||||
<LI>Choose the preconditioner to be used with <code>prec%init</code> and
|
||||
build it with <code>prec%build</code><A NAME="tex2html5"
|
||||
HREF="footnode.html#foot278"><SUP>3</SUP></A>.
|
||||
HREF="footnode.html#foot278"><SUP><SPAN CLASS="arabic">3</SPAN></SUP></A>.
|
||||
</LI>
|
||||
<LI>Call the iterative method of choice, e.g. <code>psb_bicgstab</code>
|
||||
</LI>
|
||||
@@ -249,34 +246,35 @@ from optimal.
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html266"
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html267"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html264"
|
||||
<A NAME="tex2html265"
|
||||
HREF="node7.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html260"
|
||||
<A NAME="tex2html261"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html254"
|
||||
<A NAME="tex2html255"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html262"
|
||||
<A NAME="tex2html263"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html265"
|
||||
<B> Next:</B> <A NAME="tex2html266"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
<B> Up:</B> <A NAME="tex2html261"
|
||||
<B> Up:</B> <A NAME="tex2html262"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html255"
|
||||
<B> Previous:</B> <A NAME="tex2html256"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> <A NAME="tex2html263"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> <A NAME="tex2html264"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+99
-75
@@ -1,121 +1,137 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_genrm2s -- Generalized 2-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_genrm2s -- Generalized 2-Norm of Vector">
|
||||
<TITLE>psb_norm2 -- 2-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm2 -- 2-Norm of Vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node61.html">
|
||||
<LINK REL="previous" HREF="node59.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node61.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html991"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html994"
|
||||
HREF="node61.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html987"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html990"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html981"
|
||||
<A NAME="tex2html984"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html989"
|
||||
<A NAME="tex2html992"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html992"
|
||||
HREF="node61.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html988"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html982"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html990"
|
||||
<B> Next:</B> <A NAME="tex2html995"
|
||||
HREF="node61.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html991"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html985"
|
||||
HREF="node59.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html993"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00059000000000000000">
|
||||
psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00058000000000000000">
|
||||
psb_norm2 -- 2-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of 2-norms on the columns of
|
||||
a dense matrix <IMG
|
||||
This function computes the 2-norm of a vector <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">:
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
If <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> is a real vector
|
||||
it computes 2-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \|x(:,i)\|_2
|
||||
nrm2 \leftarrow \sqrt{x^T x}
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="126" HEIGHT="28" BORDER="0"
|
||||
SRC="img41.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath}">
|
||||
WIDTH="106" HEIGHT="24" BORDER="0"
|
||||
SRC="img38.png"
|
||||
ALT="\begin{displaymath}nrm2 \leftarrow \sqrt{x^T x}\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
else if <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> is a complex vector then it computes 2-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrm2 \leftarrow \sqrt{x^H x}
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="108" HEIGHT="24" BORDER="0"
|
||||
SRC="img39.png"
|
||||
ALT="\begin{displaymath}nrm2 \leftarrow \sqrt{x^H x}\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_genrm2s(res, x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1956"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1984"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 9:</STRONG>
|
||||
<CAPTION><STRONG>Table 8:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="43" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img40.png"
|
||||
ALT="$nrm2$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
ALT="$x$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -124,6 +140,12 @@ Data types</CAPTION>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
psb_genrm2(x, desc_a, info)
|
||||
psb_norm2(x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -134,10 +156,11 @@ Data types</CAPTION>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -145,9 +168,9 @@ Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90nrm2s">9</A>.
|
||||
Table <A HREF="#tab:f90nrm2">8</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -165,17 +188,17 @@ Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>contains the 1-norm of (the columns of) <IMG
|
||||
<DT><STRONG>Function Value</STRONG></DT>
|
||||
<DD>is the 2-norm of subvector <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
Specified as: a long precision real number.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -191,29 +214,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html991"
|
||||
<A NAME="tex2html994"
|
||||
HREF="node61.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html987"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html990"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html981"
|
||||
<A NAME="tex2html984"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html989"
|
||||
<A NAME="tex2html992"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html992"
|
||||
HREF="node61.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html988"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html982"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html990"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html995"
|
||||
HREF="node61.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html991"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html985"
|
||||
HREF="node59.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html993"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+95
-96
@@ -1,121 +1,118 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_norm1 -- 1-Norm of Sparse Matrix</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm1 -- 1-Norm of Sparse Matrix">
|
||||
<TITLE>psb_genrm2s -- Generalized 2-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_genrm2s -- Generalized 2-Norm of Vector">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node62.html">
|
||||
<LINK REL="previous" HREF="node60.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node62.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1003"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1006"
|
||||
HREF="node62.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html999"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html1002"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html993"
|
||||
<A NAME="tex2html996"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1001"
|
||||
<A NAME="tex2html1004"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1004"
|
||||
HREF="node62.html">psb_normi Infinity</A>
|
||||
<B> Up:</B> <A NAME="tex2html1000"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html994"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> <A NAME="tex2html1002"
|
||||
<B> Next:</B> <A NAME="tex2html1007"
|
||||
HREF="node62.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html1003"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html997"
|
||||
HREF="node60.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html1005"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000510000000000000000">
|
||||
psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<H2><A NAME="SECTION00059000000000000000">
|
||||
psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes the 1-norm of a matrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">:
|
||||
<BR>
|
||||
<P>
|
||||
This subroutine computes a series of 2-norms on the columns of
|
||||
a dense matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrm1 \leftarrow \|A\|_1
|
||||
res(i) \leftarrow \|x(:,i)\|_2
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="98" HEIGHT="28" BORDER="0"
|
||||
SRC="img42.png"
|
||||
ALT="\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath}">
|
||||
WIDTH="126" HEIGHT="28" BORDER="0"
|
||||
SRC="img41.png"
|
||||
ALT="\begin{displaymath}res(i) \leftarrow \Vert x(:,i)\Vert _2 \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
where:
|
||||
<DL>
|
||||
<DT><STRONG><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></STRONG></DT>
|
||||
<DD>represents the global matrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_genrm2s(res, x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1957"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1985"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 10:</STRONG>
|
||||
<CAPTION><STRONG>Table 9:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_genrm2s</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -124,12 +121,6 @@ Data types</CAPTION>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
psb_spnrm1(A, desc_a, info)
|
||||
psb_norm1(A, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -138,20 +129,23 @@ psb_norm1(A, desc_a, info)
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the local portion of the global sparse matrix
|
||||
<IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90nrm2s">9</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -163,19 +157,23 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the 1-norm of sparse submatrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>contains the 1-norm of (the columns of) <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -191,29 +189,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1003"
|
||||
<A NAME="tex2html1006"
|
||||
HREF="node62.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html999"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html1002"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html993"
|
||||
<A NAME="tex2html996"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1001"
|
||||
<A NAME="tex2html1004"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1004"
|
||||
HREF="node62.html">psb_normi Infinity</A>
|
||||
<B> Up:</B> <A NAME="tex2html1000"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html994"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> <A NAME="tex2html1002"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1007"
|
||||
HREF="node62.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html1003"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html997"
|
||||
HREF="node60.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html1005"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+49
-75
@@ -1,121 +1,118 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_normi -- Infinity Norm of Sparse Matrix</TITLE>
|
||||
<META NAME="description" CONTENT="psb_normi -- Infinity Norm of Sparse Matrix">
|
||||
<TITLE>psb_norm1 -- 1-Norm of Sparse Matrix</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm1 -- 1-Norm of Sparse Matrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node63.html">
|
||||
<LINK REL="previous" HREF="node61.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node63.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1015"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1018"
|
||||
HREF="node63.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1011"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html1014"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1005"
|
||||
<A NAME="tex2html1008"
|
||||
HREF="node61.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1013"
|
||||
<A NAME="tex2html1016"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1016"
|
||||
HREF="node63.html">psb_spmm Sparse</A>
|
||||
<B> Up:</B> <A NAME="tex2html1012"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1006"
|
||||
HREF="node61.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html1014"
|
||||
<B> Next:</B> <A NAME="tex2html1019"
|
||||
HREF="node63.html">psb_normi Infinity</A>
|
||||
<B> Up:</B> <A NAME="tex2html1015"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1009"
|
||||
HREF="node61.html">psb_genrm2s Generalized</A>
|
||||
<B> <A NAME="tex2html1017"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000511000000000000000">
|
||||
psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<H2><A NAME="SECTION000510000000000000000">
|
||||
psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes the infinity-norm of a matrix <IMG
|
||||
This function computes the 1-norm of a matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">:
|
||||
ALT="$A$"></SPAN>:
|
||||
<BR>
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrmi \leftarrow \|A\|_\infty
|
||||
nrm1 \leftarrow \|A\|_1
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="102" HEIGHT="28" BORDER="0"
|
||||
SRC="img43.png"
|
||||
ALT="\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath}">
|
||||
WIDTH="98" HEIGHT="28" BORDER="0"
|
||||
SRC="img42.png"
|
||||
ALT="\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
where:
|
||||
<DL>
|
||||
<DT><STRONG><IMG
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></STRONG></DT>
|
||||
<DD>represents the global matrix <IMG
|
||||
ALT="$A$"></SPAN></STRONG></DT>
|
||||
<DD>represents the global matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">
|
||||
ALT="$A$"></SPAN>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1958"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1986"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 11:</STRONG>
|
||||
<CAPTION><STRONG>Table 10:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></TD>
|
||||
ALT="$A$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -126,8 +123,8 @@ Data types</CAPTION>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
psb_spnrmi(A, desc_a, info)
|
||||
psb_normi(A, desc_a, info)
|
||||
psb_spnrm1(A, desc_a, info)
|
||||
psb_norm1(A, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -140,10 +137,10 @@ psb_normi(A, desc_a, info)
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the local portion of the global sparse matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
ALT="$A$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -168,10 +165,10 @@ Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the infinity-norm of sparse submatrix <IMG
|
||||
<DD>is the 1-norm of sparse submatrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
ALT="$A$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
@@ -191,30 +188,7 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1015"
|
||||
HREF="node63.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1011"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1005"
|
||||
HREF="node61.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1013"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1016"
|
||||
HREF="node63.html">psb_spmm Sparse</A>
|
||||
<B> Up:</B> <A NAME="tex2html1012"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1006"
|
||||
HREF="node61.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html1014"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+67
-296
@@ -1,193 +1,118 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_spmm -- Sparse Matrix by Dense Matrix Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_spmm -- Sparse Matrix by Dense Matrix Product">
|
||||
<TITLE>psb_normi -- Infinity Norm of Sparse Matrix</TITLE>
|
||||
<META NAME="description" CONTENT="psb_normi -- Infinity Norm of Sparse Matrix">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node64.html">
|
||||
<LINK REL="previous" HREF="node62.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node64.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1027"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1030"
|
||||
HREF="node64.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1023"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html1026"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1017"
|
||||
<A NAME="tex2html1020"
|
||||
HREF="node62.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1025"
|
||||
<A NAME="tex2html1028"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1028"
|
||||
HREF="node64.html">psb_spsm Triangular</A>
|
||||
<B> Up:</B> <A NAME="tex2html1024"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1018"
|
||||
HREF="node62.html">psb_normi Infinity</A>
|
||||
<B> <A NAME="tex2html1026"
|
||||
<B> Next:</B> <A NAME="tex2html1031"
|
||||
HREF="node64.html">psb_spmm Sparse</A>
|
||||
<B> Up:</B> <A NAME="tex2html1027"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1021"
|
||||
HREF="node62.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html1029"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000512000000000000000">
|
||||
psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<H2><A NAME="SECTION000511000000000000000">
|
||||
psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes the Sparse Matrix by Dense Matrix Product:
|
||||
|
||||
This function computes the infinity-norm of a matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>:
|
||||
<BR>
|
||||
<P>
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT">
|
||||
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{equation}
|
||||
y \leftarrow \alpha A x + \beta y
|
||||
\end{equation}
|
||||
\begin{displaymath}
|
||||
nrmi \leftarrow \|A\|_\infty
|
||||
\end{displaymath}
|
||||
-->
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:f90spmm_no_tra"></A><IMG
|
||||
WIDTH="102" HEIGHT="27" BORDER="0"
|
||||
SRC="img44.png"
|
||||
ALT="\begin{displaymath}
|
||||
y \leftarrow \alpha A x + \beta y
|
||||
\end{displaymath}"></TD>
|
||||
<TD WIDTH=10 ALIGN="RIGHT">
|
||||
(1)</TD></TR>
|
||||
</TABLE>
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT">
|
||||
|
||||
<!-- MATH
|
||||
\begin{equation}
|
||||
y \leftarrow \alpha A^T x + \beta y
|
||||
\end{equation}
|
||||
-->
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:f90spmm_tra"></A><IMG
|
||||
WIDTH="111" HEIGHT="27" BORDER="0"
|
||||
SRC="img45.png"
|
||||
ALT="\begin{displaymath}
|
||||
y \leftarrow \alpha A^T x + \beta y
|
||||
\end{displaymath}"></TD>
|
||||
<TD WIDTH=10 ALIGN="RIGHT">
|
||||
(2)</TD></TR>
|
||||
</TABLE>
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT">
|
||||
|
||||
<!-- MATH
|
||||
\begin{equation}
|
||||
y \leftarrow \alpha A^H x + \beta y
|
||||
\end{equation}
|
||||
-->
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:f90spmm_con"></A><IMG
|
||||
WIDTH="114" HEIGHT="27" BORDER="0"
|
||||
SRC="img46.png"
|
||||
ALT="\begin{displaymath}
|
||||
y \leftarrow \alpha A^H x + \beta y
|
||||
\end{displaymath}"></TD>
|
||||
<TD WIDTH=10 ALIGN="RIGHT">
|
||||
(3)</TD></TR>
|
||||
</TABLE>
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
|
||||
<P>
|
||||
<IMG
|
||||
WIDTH="102" HEIGHT="28" BORDER="0"
|
||||
SRC="img43.png"
|
||||
ALT="\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
where:
|
||||
<DL>
|
||||
<DT><STRONG><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></STRONG></DT>
|
||||
<DD>is the global dense matrix <IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img47.png"
|
||||
ALT="$x_{:, :}$">
|
||||
</DD>
|
||||
<DT><STRONG><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></STRONG></DT>
|
||||
<DD>is the global dense matrix <IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img48.png"
|
||||
ALT="$y_{:, :}$">
|
||||
</DD>
|
||||
<DT><STRONG><IMG
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></STRONG></DT>
|
||||
<DD>is the global sparse matrix <IMG
|
||||
ALT="$A$"></SPAN></STRONG></DT>
|
||||
<DD>represents the global matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">
|
||||
ALT="$A$"></SPAN>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1959"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1987"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 12:</STRONG>
|
||||
<CAPTION><STRONG>Table 11:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">, <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">, <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">, <IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$">, <IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
ALT="$A$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -198,10 +123,9 @@ Data types</CAPTION>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_spmm(alpha, a, x, beta, y, desc_a, info)
|
||||
call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
|
||||
& trans, work)
|
||||
</PRE>
|
||||
psb_spnrmi(A, desc_a, info)
|
||||
psb_normi(A, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
@@ -211,27 +135,12 @@ call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>alpha</STRONG></DT>
|
||||
<DD>the scalar <IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in
|
||||
Table <A HREF="#tab:f90spmm">12</A>.
|
||||
</DD>
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the local portion of the sparse matrix
|
||||
<IMG
|
||||
<DD>the local portion of the global sparse matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
ALT="$A$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -241,66 +150,6 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spmm">12</A>. The rank of <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> must be the same of <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
</DD>
|
||||
<DT><STRONG>beta</STRONG></DT>
|
||||
<DD>the scalar <IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90spmm">12</A>.
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spmm">12</A>. The rank of <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> must be the same of <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
<BR>
|
||||
@@ -312,73 +161,18 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>trans</STRONG></DT>
|
||||
<DD>indicates what kind of operation to perform.
|
||||
<DL>
|
||||
<DT><STRONG>trans = N</STRONG></DT>
|
||||
<DD>the operation is specified by equation <A HREF="#eq:f90spmm_no_tra">1</A>
|
||||
</DD>
|
||||
<DT><STRONG>trans = T</STRONG></DT>
|
||||
<DD>the operation is specified by equation
|
||||
<A HREF="#eq:f90spmm_tra">2</A>
|
||||
</DD>
|
||||
<DT><STRONG>trans = C</STRONG></DT>
|
||||
<DD>the operation is specified by equation
|
||||
<A HREF="#eq:f90spmm_con">3</A>
|
||||
</DD>
|
||||
</DL>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <IMG
|
||||
WIDTH="79" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img49.png"
|
||||
ALT="$trans = N$">
|
||||
<BR>
|
||||
Specified as: a character variable.
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>work</STRONG></DT>
|
||||
<DD>work array.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array of the same type of <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> and <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> with
|
||||
the TARGET attribute.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of result matrix <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the infinity-norm of sparse submatrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an array of rank one or two
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spmm">12</A>.
|
||||
Specified as: a long precision real number.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -394,30 +188,7 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1027"
|
||||
HREF="node64.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1023"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1017"
|
||||
HREF="node62.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1025"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1028"
|
||||
HREF="node64.html">psb_spsm Triangular</A>
|
||||
<B> Up:</B> <A NAME="tex2html1024"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1018"
|
||||
HREF="node62.html">psb_normi Infinity</A>
|
||||
<B> <A NAME="tex2html1026"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+180
-220
@@ -1,175 +1,193 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_spsm -- Triangular System Solve</TITLE>
|
||||
<META NAME="description" CONTENT="psb_spsm -- Triangular System Solve">
|
||||
<TITLE>psb_spmm -- Sparse Matrix by Dense Matrix Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_spmm -- Sparse Matrix by Dense Matrix Product">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node65.html">
|
||||
<LINK REL="previous" HREF="node63.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node65.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1037"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1042"
|
||||
HREF="node65.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1033"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html1038"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1029"
|
||||
<A NAME="tex2html1032"
|
||||
HREF="node63.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1035"
|
||||
<A NAME="tex2html1040"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1038"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1034"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1030"
|
||||
HREF="node63.html">psb_spmm Sparse</A>
|
||||
<B> <A NAME="tex2html1036"
|
||||
<B> Next:</B> <A NAME="tex2html1043"
|
||||
HREF="node65.html">psb_spsm Triangular</A>
|
||||
<B> Up:</B> <A NAME="tex2html1039"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1033"
|
||||
HREF="node63.html">psb_normi Infinity</A>
|
||||
<B> <A NAME="tex2html1041"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000513000000000000000">
|
||||
psb_spsm -- Triangular System Solve</A>
|
||||
<H2><A NAME="SECTION000512000000000000000">
|
||||
psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes the Triangular System Solve:
|
||||
This subroutine computes the Sparse Matrix by Dense Matrix Product:
|
||||
|
||||
<P>
|
||||
<P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
|
||||
|
||||
<!-- MATH
|
||||
\begin{eqnarray*}
|
||||
y &\leftarrow& \alpha T^{-1} x + \beta y\\
|
||||
y &\leftarrow& \alpha D T^{-1} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-1} D x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-T} x + \beta y\\
|
||||
y &\leftarrow& \alpha D T^{-T} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-T} D x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-H} x + \beta y\\
|
||||
y &\leftarrow& \alpha D T^{-H} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-H} D x + \beta y\\
|
||||
\end{eqnarray*}
|
||||
\begin{equation}
|
||||
y \leftarrow \alpha A x + \beta y
|
||||
\end{equation}
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="160" HEIGHT="239" BORDER="0"
|
||||
SRC="img50.png"
|
||||
ALT="\begin{eqnarray*}
|
||||
y &\leftarrow& \alpha T^{-1} x + \beta y\\
|
||||
y &\leftarrow& \al...
|
||||
...-H} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-H} D x + \beta y\\
|
||||
\end{eqnarray*}"></DIV>
|
||||
<BR CLEAR="ALL"><P></P>
|
||||
<A NAME="eq:f90spmm_no_tra"></A>
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:f90spmm_no_tra"></A><IMG
|
||||
WIDTH="102" HEIGHT="27" BORDER="0"
|
||||
SRC="img44.png"
|
||||
ALT="\begin{displaymath}
|
||||
y \leftarrow \alpha A x + \beta y
|
||||
\end{displaymath}"></TD>
|
||||
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
|
||||
(<SPAN CLASS="arabic">1</SPAN>)</TD></TR>
|
||||
</TABLE>
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
|
||||
|
||||
<!-- MATH
|
||||
\begin{equation}
|
||||
y \leftarrow \alpha A^T x + \beta y
|
||||
\end{equation}
|
||||
-->
|
||||
<A NAME="eq:f90spmm_tra"></A>
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:f90spmm_tra"></A><IMG
|
||||
WIDTH="111" HEIGHT="27" BORDER="0"
|
||||
SRC="img45.png"
|
||||
ALT="\begin{displaymath}
|
||||
y \leftarrow \alpha A^T x + \beta y
|
||||
\end{displaymath}"></TD>
|
||||
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
|
||||
(<SPAN CLASS="arabic">2</SPAN>)</TD></TR>
|
||||
</TABLE>
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT" CLASS="mathdisplay">
|
||||
|
||||
<!-- MATH
|
||||
\begin{equation}
|
||||
y \leftarrow \alpha A^H x + \beta y
|
||||
\end{equation}
|
||||
-->
|
||||
<A NAME="eq:f90spmm_con"></A>
|
||||
<TABLE WIDTH="100%" ALIGN="CENTER">
|
||||
<TR VALIGN="MIDDLE"><TD ALIGN="CENTER" NOWRAP><A NAME="eq:f90spmm_con"></A><IMG
|
||||
WIDTH="114" HEIGHT="27" BORDER="0"
|
||||
SRC="img46.png"
|
||||
ALT="\begin{displaymath}
|
||||
y \leftarrow \alpha A^H x + \beta y
|
||||
\end{displaymath}"></TD>
|
||||
<TD CLASS="eqno" WIDTH=10 ALIGN="RIGHT">
|
||||
(<SPAN CLASS="arabic">3</SPAN>)</TD></TR>
|
||||
</TABLE>
|
||||
<BR CLEAR="ALL"></DIV><P></P>
|
||||
|
||||
<P>
|
||||
where:
|
||||
<DL>
|
||||
<DT><STRONG><IMG
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></STRONG></DT>
|
||||
<DD>is the global dense matrix <IMG
|
||||
ALT="$x$"></SPAN></STRONG></DT>
|
||||
<DD>is the global dense matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img47.png"
|
||||
ALT="$x_{:, :}$">
|
||||
ALT="$x_{:, :}$"></SPAN>
|
||||
</DD>
|
||||
<DT><STRONG><IMG
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></STRONG></DT>
|
||||
<DD>is the global dense matrix <IMG
|
||||
ALT="$y$"></SPAN></STRONG></DT>
|
||||
<DD>is the global dense matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img48.png"
|
||||
ALT="$y_{:, :}$">
|
||||
ALT="$y_{:, :}$"></SPAN>
|
||||
</DD>
|
||||
<DT><STRONG><IMG
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$"></STRONG></DT>
|
||||
<DD>is the global sparse block triangular submatrix <IMG
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN></STRONG></DT>
|
||||
<DD>is the global sparse matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$">
|
||||
</DD>
|
||||
<DT><STRONG><IMG
|
||||
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img52.png"
|
||||
ALT="$D$"></STRONG></DT>
|
||||
<DD>is the scaling diagonal matrix.
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_spsm(alpha, t, x, beta, y, desc_a, info)
|
||||
call psb_spsm(alpha, t, x, beta, y, desc_a, info,&
|
||||
& trans, unit, choice, diag, work)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1960"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1988"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 13:</STRONG>
|
||||
<CAPTION><STRONG>Table 12:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$">, <IMG
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">, <IMG
|
||||
ALT="$x$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">, <IMG
|
||||
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img52.png"
|
||||
ALT="$D$">, <IMG
|
||||
ALT="$y$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$">, <IMG
|
||||
ALT="$\alpha$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$"></TD>
|
||||
ALT="$\beta$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -178,6 +196,13 @@ Data types</CAPTION>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_spmm(alpha, a, x, beta, y, desc_a, info)
|
||||
call psb_spmm(alpha, a, x, beta, y,desc_a, info, &
|
||||
& trans, work)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -187,10 +212,10 @@ Data types</CAPTION>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>alpha</STRONG></DT>
|
||||
<DD>the scalar <IMG
|
||||
<DD>the scalar <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$">.
|
||||
ALT="$\alpha$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
@@ -199,14 +224,14 @@ Type: <B>required</B>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in
|
||||
Table <A HREF="#tab:f90spsm">13</A>.
|
||||
Table <A HREF="#tab:f90spmm">12</A>.
|
||||
</DD>
|
||||
<DT><STRONG>t</STRONG></DT>
|
||||
<DD>the global portion of the sparse matrix
|
||||
<IMG
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the local portion of the sparse matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$">.
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -214,15 +239,15 @@ Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object type specified in
|
||||
§ <A HREF="node9.html#sec:datastruct">3</A>.
|
||||
Specified as: an object of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -232,19 +257,19 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spsm">13</A>. The rank of <IMG
|
||||
Table <A HREF="#tab:f90spmm">12</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> must be the same of <IMG
|
||||
ALT="$x$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>beta</STRONG></DT>
|
||||
<DD>the scalar <IMG
|
||||
<DD>the scalar <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$">.
|
||||
ALT="$\beta$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
@@ -252,14 +277,15 @@ Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90spsm">13</A>.
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90spmm">12</A>.
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -269,13 +295,13 @@ Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spsm">13</A>. The rank of <IMG
|
||||
Table <A HREF="#tab:f90spmm">12</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> must be the same of <IMG
|
||||
ALT="$y$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -289,16 +315,18 @@ Intent: <B>in</B>.
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>trans</STRONG></DT>
|
||||
<DD>specify with <EM>unitd</EM> the operation to perform.
|
||||
<DD>indicates what kind of operation to perform.
|
||||
<DL>
|
||||
<DT><STRONG>trans = 'N'</STRONG></DT>
|
||||
<DD>the operation is with no transposed matrix
|
||||
<DT><STRONG>trans = N</STRONG></DT>
|
||||
<DD>the operation is specified by equation <A HREF="#eq:f90spmm_no_tra">1</A>
|
||||
</DD>
|
||||
<DT><STRONG>trans = 'T'</STRONG></DT>
|
||||
<DD>the operation is with transposed matrix.
|
||||
<DT><STRONG>trans = T</STRONG></DT>
|
||||
<DD>the operation is specified by equation
|
||||
<A HREF="#eq:f90spmm_tra">2</A>
|
||||
</DD>
|
||||
<DT><STRONG>trans = 'C'</STRONG></DT>
|
||||
<DD>the operation is with conjugate transposed matrix.
|
||||
<DT><STRONG>trans = C</STRONG></DT>
|
||||
<DD>the operation is specified by equation
|
||||
<A HREF="#eq:f90spmm_con">3</A>
|
||||
</DD>
|
||||
</DL>
|
||||
Scope: <B>global</B>
|
||||
@@ -307,88 +335,17 @@ Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <IMG
|
||||
Default: <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="79" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img49.png"
|
||||
ALT="$trans = N$">
|
||||
ALT="$trans = N$"></SPAN>
|
||||
<BR>
|
||||
Specified as: a character variable.
|
||||
</DD>
|
||||
<DT><STRONG>unitd</STRONG></DT>
|
||||
<DD>specify with <EM>trans</EM> the operation to perform.
|
||||
<DL>
|
||||
<DT><STRONG>unitd = 'U'</STRONG></DT>
|
||||
<DD>the operation is with no scaling
|
||||
</DD>
|
||||
<DT><STRONG>unitd = 'L'</STRONG></DT>
|
||||
<DD>the operation is with left scaling
|
||||
</DD>
|
||||
<DT><STRONG>unitd = 'R'</STRONG></DT>
|
||||
<DD>the operation is with right scaling.
|
||||
</DD>
|
||||
</DL>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <IMG
|
||||
WIDTH="76" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img53.png"
|
||||
ALT="$unitd = U$">
|
||||
<BR>
|
||||
Specified as: a character variable.
|
||||
</DD>
|
||||
<DT><STRONG>choice</STRONG></DT>
|
||||
<DD>specifies the update of overlap elements to be performed
|
||||
on exit:
|
||||
<DL>
|
||||
<DT></DT>
|
||||
<DD><code>psb_none_</code>
|
||||
</DD>
|
||||
<DT></DT>
|
||||
<DD><code>psb_sum_</code>
|
||||
</DD>
|
||||
<DT></DT>
|
||||
<DD><code>psb_avg_</code>
|
||||
</DD>
|
||||
<DT></DT>
|
||||
<DD><code>psb_square_root_</code>
|
||||
</DD>
|
||||
</DL>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <code>psb_avg_</code>
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>diag</STRONG></DT>
|
||||
<DD>the diagonal scaling matrix.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <!-- MATH
|
||||
$diag(1) = 1 (no scaling)$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="164" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img54.png"
|
||||
ALT="$diag(1) = 1 (no scaling)$">
|
||||
<BR>
|
||||
Specified as: a rank one array containing numbers of the type
|
||||
indicated in Table <A HREF="#tab:f90spsm">13</A>.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG>work</STRONG></DT>
|
||||
<DD>a work array.
|
||||
<DD>work array.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -396,11 +353,14 @@ Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array of the same type of <IMG
|
||||
Specified as: a rank one array of the same type of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> with the
|
||||
TARGET attribute.
|
||||
ALT="$x$"></SPAN> and <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN> with
|
||||
the TARGET attribute.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
@@ -408,11 +368,10 @@ TARGET attribute.
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
<DD>the local portion of result matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
ALT="$y$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -422,7 +381,7 @@ Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an array of rank one or two
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spsm">13</A>.
|
||||
Table <A HREF="#tab:f90spmm">12</A>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -438,29 +397,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1037"
|
||||
<A NAME="tex2html1042"
|
||||
HREF="node65.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1033"
|
||||
HREF="node51.html">
|
||||
<A NAME="tex2html1038"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1029"
|
||||
<A NAME="tex2html1032"
|
||||
HREF="node63.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1035"
|
||||
<A NAME="tex2html1040"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1038"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1034"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1030"
|
||||
HREF="node63.html">psb_spmm Sparse</A>
|
||||
<B> <A NAME="tex2html1036"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<B> Next:</B> <A NAME="tex2html1043"
|
||||
HREF="node65.html">psb_spsm Triangular</A>
|
||||
<B> Up:</B> <A NAME="tex2html1039"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1033"
|
||||
HREF="node63.html">psb_normi Infinity</A>
|
||||
<B> <A NAME="tex2html1041"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
|
||||
+436
-46
@@ -1,79 +1,469 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Communication routines</TITLE>
|
||||
<META NAME="description" CONTENT="Communication routines">
|
||||
<TITLE>psb_spsm -- Triangular System Solve</TITLE>
|
||||
<META NAME="description" CONTENT="psb_spsm -- Triangular System Solve">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node70.html">
|
||||
<LINK REL="previous" HREF="node51.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="previous" HREF="node64.html">
|
||||
<LINK REL="up" HREF="node52.html">
|
||||
<LINK REL="next" HREF="node66.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1049"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1052"
|
||||
HREF="node66.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1045"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1048"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1039"
|
||||
<A NAME="tex2html1044"
|
||||
HREF="node64.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1047"
|
||||
<A NAME="tex2html1050"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1050"
|
||||
HREF="node66.html">psb_halo Halo</A>
|
||||
<B> Up:</B> <A NAME="tex2html1046"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1040"
|
||||
HREF="node64.html">psb_spsm Triangular</A>
|
||||
<B> <A NAME="tex2html1048"
|
||||
<B> Next:</B> <A NAME="tex2html1053"
|
||||
HREF="node66.html">Communication routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1049"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1045"
|
||||
HREF="node64.html">psb_spmm Sparse</A>
|
||||
<B> <A NAME="tex2html1051"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00060000000000000000">
|
||||
Communication routines</A>
|
||||
</H1>The routines in this chapter implement various global communication operators
|
||||
on vectors associated with a discretization mesh. For auxiliary communication
|
||||
routines not tied to a discretization space see <A HREF="node70.html#sec:toolsrout">6</A>.
|
||||
<H2><A NAME="SECTION000513000000000000000">
|
||||
psb_spsm -- Triangular System Solve</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
This subroutine computes the Triangular System Solve:
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1051"
|
||||
HREF="node66.html">psb_halo -- Halo Data Communication</A>
|
||||
<LI><A NAME="tex2html1052"
|
||||
HREF="node67.html">psb_ovrl -- Overlap Update</A>
|
||||
<LI><A NAME="tex2html1053"
|
||||
HREF="node68.html">psb_gather -- Gather Global Dense Matrix</A>
|
||||
<LI><A NAME="tex2html1054"
|
||||
HREF="node69.html">psb_scatter -- Scatter Global Dense Matrix</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
<P>
|
||||
<P></P>
|
||||
<DIV ALIGN="CENTER" CLASS="mathdisplay">
|
||||
<!-- MATH
|
||||
\begin{eqnarray*}
|
||||
y &\leftarrow& \alpha T^{-1} x + \beta y\\
|
||||
y &\leftarrow& \alpha D T^{-1} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-1} D x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-T} x + \beta y\\
|
||||
y &\leftarrow& \alpha D T^{-T} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-T} D x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-H} x + \beta y\\
|
||||
y &\leftarrow& \alpha D T^{-H} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-H} D x + \beta y\\
|
||||
\end{eqnarray*}
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="160" HEIGHT="239" BORDER="0"
|
||||
SRC="img50.png"
|
||||
ALT="\begin{eqnarray*}
|
||||
y &\leftarrow& \alpha T^{-1} x + \beta y\\
|
||||
y &\leftarrow& \al...
|
||||
...-H} x + \beta y\\
|
||||
y &\leftarrow& \alpha T^{-H} D x + \beta y\\
|
||||
\end{eqnarray*}"></DIV>
|
||||
<BR CLEAR="ALL"><P></P>
|
||||
<BR CLEAR="ALL"><P></P>
|
||||
|
||||
<P>
|
||||
where:
|
||||
<DL>
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN></STRONG></DT>
|
||||
<DD>is the global dense matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="25" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img47.png"
|
||||
ALT="$x_{:, :}$"></SPAN>
|
||||
</DD>
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN></STRONG></DT>
|
||||
<DD>is the global dense matrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="23" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img48.png"
|
||||
ALT="$y_{:, :}$"></SPAN>
|
||||
</DD>
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$"></SPAN></STRONG></DT>
|
||||
<DD>is the global sparse block triangular submatrix <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$"></SPAN>
|
||||
</DD>
|
||||
<DT><STRONG><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img52.png"
|
||||
ALT="$D$"></SPAN></STRONG></DT>
|
||||
<DD>is the scaling diagonal matrix.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_spsm(alpha, t, x, beta, y, desc_a, info)
|
||||
call psb_spsm(alpha, t, x, beta, y, desc_a, info,&
|
||||
& trans, unit, choice, diag, work)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1989"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 13:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="17" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img52.png"
|
||||
ALT="$D$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$"></SPAN>, <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$"></SPAN></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spsm</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>alpha</STRONG></DT>
|
||||
<DD>the scalar <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in
|
||||
Table <A HREF="#tab:f90spsm">13</A>.
|
||||
</DD>
|
||||
<DT><STRONG>t</STRONG></DT>
|
||||
<DD>the global portion of the sparse matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img51.png"
|
||||
ALT="$T$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object type specified in
|
||||
§ <A HREF="node9.html#sec:datastruct">3</A>.
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spsm">13</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>beta</STRONG></DT>
|
||||
<DD>the scalar <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="14" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img23.png"
|
||||
ALT="$\beta$"></SPAN>.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a number of the data type indicated in Table <A HREF="#tab:f90spsm">13</A>.
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spsm">13</A>. The rank of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN> must be the same of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>trans</STRONG></DT>
|
||||
<DD>specify with <EM>unitd</EM> the operation to perform.
|
||||
<DL>
|
||||
<DT><STRONG>trans = 'N'</STRONG></DT>
|
||||
<DD>the operation is with no transposed matrix
|
||||
</DD>
|
||||
<DT><STRONG>trans = 'T'</STRONG></DT>
|
||||
<DD>the operation is with transposed matrix.
|
||||
</DD>
|
||||
<DT><STRONG>trans = 'C'</STRONG></DT>
|
||||
<DD>the operation is with conjugate transposed matrix.
|
||||
</DD>
|
||||
</DL>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="79" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img49.png"
|
||||
ALT="$trans = N$"></SPAN>
|
||||
<BR>
|
||||
Specified as: a character variable.
|
||||
</DD>
|
||||
<DT><STRONG>unitd</STRONG></DT>
|
||||
<DD>specify with <EM>trans</EM> the operation to perform.
|
||||
<DL>
|
||||
<DT><STRONG>unitd = 'U'</STRONG></DT>
|
||||
<DD>the operation is with no scaling
|
||||
</DD>
|
||||
<DT><STRONG>unitd = 'L'</STRONG></DT>
|
||||
<DD>the operation is with left scaling
|
||||
</DD>
|
||||
<DT><STRONG>unitd = 'R'</STRONG></DT>
|
||||
<DD>the operation is with right scaling.
|
||||
</DD>
|
||||
</DL>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="76" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img53.png"
|
||||
ALT="$unitd = U$"></SPAN>
|
||||
<BR>
|
||||
Specified as: a character variable.
|
||||
</DD>
|
||||
<DT><STRONG>choice</STRONG></DT>
|
||||
<DD>specifies the update of overlap elements to be performed
|
||||
on exit:
|
||||
<DL>
|
||||
<DT></DT>
|
||||
<DD><code>psb_none_</code>
|
||||
</DD>
|
||||
<DT></DT>
|
||||
<DD><code>psb_sum_</code>
|
||||
</DD>
|
||||
<DT></DT>
|
||||
<DD><code>psb_avg_</code>
|
||||
</DD>
|
||||
<DT></DT>
|
||||
<DD><code>psb_square_root_</code>
|
||||
</DD>
|
||||
</DL>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <code>psb_avg_</code>
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>diag</STRONG></DT>
|
||||
<DD>the diagonal scaling matrix.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Default: <!-- MATH
|
||||
$diag(1) = 1 (no scaling)$
|
||||
-->
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="164" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img54.png"
|
||||
ALT="$diag(1) = 1 (no scaling)$"></SPAN>
|
||||
<BR>
|
||||
Specified as: a rank one array containing numbers of the type
|
||||
indicated in Table <A HREF="#tab:f90spsm">13</A>.
|
||||
</DD>
|
||||
<DT><STRONG>work</STRONG></DT>
|
||||
<DD>a work array.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array of the same type of <SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></SPAN> with the
|
||||
TARGET attribute.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>y</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<SPAN CLASS="MATH"><IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></SPAN>.
|
||||
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: an array of rank one or two
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90spsm">13</A>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
<DIV CLASS="navigation"><HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1052"
|
||||
HREF="node66.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1048"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1044"
|
||||
HREF="node64.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1050"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1053"
|
||||
HREF="node66.html">Communication routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1049"
|
||||
HREF="node52.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1045"
|
||||
HREF="node64.html">psb_spmm Sparse</A>
|
||||
<B> <A NAME="tex2html1051"
|
||||
HREF="node1.html">Contents</A></B> </DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+44
-605
@@ -1,638 +1,77 @@
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
|
||||
<!--Converted with LaTeX2HTML 2012 (1.2)
|
||||
original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
|
||||
* with significant contributions from:
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<!--Converted with LaTeX2HTML 2017.2 (Released Jan 23, 2017) -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_halo -- Halo Data Communication</TITLE>
|
||||
<META NAME="description" CONTENT="psb_halo -- Halo Data Communication">
|
||||
<TITLE>Communication routines</TITLE>
|
||||
<META NAME="description" CONTENT="Communication routines">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2012">
|
||||
<META NAME="Generator" CONTENT="LaTeX2HTML v2017.2">
|
||||
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node67.html">
|
||||
<LINK REL="previous" HREF="node65.html">
|
||||
<LINK REL="up" HREF="node65.html">
|
||||
<LINK REL="next" HREF="node71.html">
|
||||
<LINK REL="previous" HREF="node52.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node67.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1065"
|
||||
|
||||
<DIV CLASS="navigation"><!--Navigation Panel-->
|
||||
<A NAME="tex2html1064"
|
||||
HREF="node67.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1061"
|
||||
HREF="node65.html">
|
||||
<A NAME="tex2html1060"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1055"
|
||||
<A NAME="tex2html1054"
|
||||
HREF="node65.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1063"
|
||||
<A NAME="tex2html1062"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1066"
|
||||
HREF="node67.html">psb_ovrl Overlap</A>
|
||||
<B> Up:</B> <A NAME="tex2html1062"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1056"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<B> <A NAME="tex2html1064"
|
||||
<B> Next:</B> <A NAME="tex2html1065"
|
||||
HREF="node67.html">psb_halo Halo</A>
|
||||
<B> Up:</B> <A NAME="tex2html1061"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1055"
|
||||
HREF="node65.html">psb_spsm Triangular</A>
|
||||
<B> <A NAME="tex2html1063"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<BR></DIV>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00061000000000000000">
|
||||
psb_halo -- Halo Data Communication</A>
|
||||
</H2>
|
||||
<H1><A NAME="SECTION00060000000000000000">
|
||||
Communication routines</A>
|
||||
</H1>
|
||||
The routines in this chapter implement various global communication operators
|
||||
on vectors associated with a discretization mesh. For auxiliary communication
|
||||
routines not tied to a discretization space see <A HREF="node71.html#sec:toolsrout">6</A>.
|
||||
|
||||
<P>
|
||||
These subroutines gathers the values of the halo
|
||||
elements:
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
x \leftarrow x
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="43" HEIGHT="24" BORDER="0"
|
||||
SRC="img55.png"
|
||||
ALT="\begin{displaymath}x \leftarrow x \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
where:
|
||||
<DL>
|
||||
<DT><STRONG><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></STRONG></DT>
|
||||
<DD>is a global dense submatrix.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="3338"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 14:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 BORDER="1" ALIGN="CENTER">
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="14" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img22.png"
|
||||
ALT="$\alpha$">, <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Subroutine</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Integer</TD>
|
||||
<TD ALIGN="LEFT">psb_halo</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_halo</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_halo</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_halo</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_halo</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
</TD></TR>
|
||||
</TABLE>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="395" HEIGHT="35" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img56.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_halo(x, desc_a, info)
|
||||
call psb_halo(x, desc_a, info, work, data)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>global dense matrix <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one or two array or an object of type vdata<TT>psb_T_vect_type</TT>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90halo">14</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: a structured data of type descdata<TT>psb_desc_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>work</STRONG></DT>
|
||||
<DD>the work array.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Specified as: a rank one array of the same type of <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
</DD>
|
||||
<DT><STRONG>data</STRONG></DT>
|
||||
<DD>index list selector.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Specified as: an integer. Values:<code>psb_comm_halo_</code>,<code>psb_comm_mov_</code>,
|
||||
<code>psb_comm_ext_</code>, default: <code>psb_comm_halo_</code>. Chooses the
|
||||
index list on which to base the data exchange.
|
||||
|
||||
<P>
|
||||
</DD>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>global dense result matrix <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
<BR>
|
||||
Returned as: a rank one or two array
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90halo">14</A>.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>the local portion of result submatrix <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
An integer value that contains an error code.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:try8x8"></A><A NAME="3340"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 7:</STRONG>
|
||||
Sample discretization mesh.</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
<IMG
|
||||
WIDTH="358" HEIGHT="313" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img58.png"
|
||||
ALT="\includegraphics[scale=0.45]{figures/try8x8.eps}">
|
||||
|
||||
<!-- MATH
|
||||
$\rotatebox{-90}{\includegraphics[scale=0.45]{figures/try8x8}}$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="1" HEIGHT="2" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img57.png"
|
||||
ALT="\rotatebox{-90}{\includegraphics[scale=0.45]{figures/try8x8}}">
|
||||
|
||||
</DIV></TD></TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Usage Example</B></FONT>
|
||||
Consider the discretization mesh depicted in fig. <A HREF="#fig:try8x8">7</A>,
|
||||
partitioned among two processes as shown by the dashed line; the data
|
||||
distribution is such that each process will own 32 entries in the
|
||||
index space, with a halo made of 8 entries placed at local indices 33
|
||||
through 40. If process 0 assigns an initial value of 1 to its entries
|
||||
in the <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> vector, and process 1 assigns a value of 2, then after a
|
||||
call to <code>psb_halo</code> the contents of the local vectors will be the
|
||||
following:
|
||||
<BR>
|
||||
<DIV ALIGN="CENTER">
|
||||
<TABLE CELLPADDING=3 ALIGN="CENTER">
|
||||
<TR><TD ALIGN="CENTER" COLSPAN=3><FONT SIZE="-1">
|
||||
Process 0</FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="CENTER" COLSPAN=3><FONT SIZE="-1">
|
||||
Process 1</FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
I </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> GLOB(I) </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> X(I) </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> I </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> GLOB(I) </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> X(I) </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
1 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 1 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 33 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
2 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 2 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 34 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
3 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 3 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 3 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 35 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
4 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 4 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 4 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 36 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
5 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 5 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 5 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 37 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
6 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 6 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 6 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 38 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
7 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 7 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 7 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 39 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
8 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 8 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 8 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 40 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
9 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 9 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 9 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 41 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
10 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 10 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 10 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 42 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
11 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 11 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 11 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 43 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
12 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 12 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 12 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 44 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
13 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 13 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 13 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 45 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
14 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 14 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 14 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 46 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
15 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 15 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 15 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 47 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
16 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 16 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 16 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 48 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
17 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 17 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 17 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 49 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
18 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 18 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 18 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 50 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
19 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 19 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 19 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 51 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
20 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 20 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 20 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 52 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
21 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 21 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 21 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 53 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
22 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 22 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 22 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 54 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
23 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 23 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 23 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 55 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
24 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 24 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 24 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 56 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
25 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 25 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 25 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 57 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
26 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 26 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 26 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 58 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
27 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 27 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 27 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 59 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
28 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 28 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 28 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 60 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
29 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 29 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 29 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 61 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
30 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 30 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 30 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 62 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
31 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 31 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 31 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 63 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
32 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 32 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 32 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 64 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
33 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 33 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 33 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 25 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
34 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 34 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 34 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 26 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
35 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 35 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 35 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 27 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
36 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 36 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 36 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 28 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
37 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 37 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 37 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 29 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
38 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 38 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 38 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 30 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
39 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 39 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 39 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 31 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="RIGHT"><FONT SIZE="-1">
|
||||
40 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 40 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 2.0 </FONT></TD>
|
||||
<TD ALIGN="LEFT"> </TD><TD ALIGN="RIGHT"><FONT SIZE="-1"> 40 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 32 </FONT></TD>
|
||||
<TD ALIGN="RIGHT"><FONT SIZE="-1"> 1.0 </FONT></TD>
|
||||
</TR>
|
||||
</TABLE></DIV>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1065"
|
||||
HREF="node67.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1061"
|
||||
HREF="node65.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1055"
|
||||
HREF="node65.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1063"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1066"
|
||||
HREF="node67.html">psb_ovrl Overlap</A>
|
||||
<B> Up:</B> <A NAME="tex2html1062"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1056"
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<B> <A NAME="tex2html1064"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<UL CLASS="ChildLinks">
|
||||
<LI><A NAME="tex2html1066"
|
||||
HREF="node67.html">psb_halo -- Halo Data Communication</A>
|
||||
<LI><A NAME="tex2html1067"
|
||||
HREF="node68.html">psb_ovrl -- Overlap Update</A>
|
||||
<LI><A NAME="tex2html1068"
|
||||
HREF="node69.html">psb_gather -- Gather Global Dense Matrix</A>
|
||||
<LI><A NAME="tex2html1069"
|
||||
HREF="node70.html">psb_scatter -- Scatter Global Dense Matrix</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
+403
-533
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user