psblas3:
Updated docs.
@@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node129.html">
|
||||
<LINK REL="previous" HREF="node131.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
</HEAD>
|
||||
|
||||
@@ -104,8 +104,8 @@ sample scatter/gather routines.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot7514">... follows</A><A
|
||||
HREF="node122.html#tex2html30"><SUP>3</SUP></A></DT>
|
||||
<DT><A NAME="foot7596">... follows</A><A
|
||||
HREF="node124.html#tex2html30"><SUP>3</SUP></A></DT>
|
||||
<DD>The string is case-insensitive
|
||||
|
||||
<PRE>.
|
||||
@@ -140,12 +140,12 @@ sample scatter/gather routines.
|
||||
.
|
||||
</PRE>
|
||||
</DD>
|
||||
<DT><A NAME="foot7870">... method</A><A
|
||||
HREF="node128.html#tex2html31"><SUP>4</SUP></A></DT>
|
||||
<DT><A NAME="foot7956">... method</A><A
|
||||
HREF="node130.html#tex2html31"><SUP>4</SUP></A></DT>
|
||||
<DD>Note:
|
||||
the implementation is for <IMG
|
||||
WIDTH="62" HEIGHT="32" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img161.png"
|
||||
SRC="img162.png"
|
||||
ALT="$FCG(1)$">.
|
||||
|
||||
<PRE>.
|
||||
|
||||
|
Before Width: | Height: | Size: 207 B After Width: | Height: | Size: 591 B |
|
Before Width: | Height: | Size: 383 B After Width: | Height: | Size: 207 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 383 B |
|
Before Width: | Height: | Size: 435 B After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 439 B After Width: | Height: | Size: 435 B |
|
Before Width: | Height: | Size: 401 B After Width: | Height: | Size: 439 B |
|
Before Width: | Height: | Size: 334 B After Width: | Height: | Size: 401 B |
|
Before Width: | Height: | Size: 355 B After Width: | Height: | Size: 334 B |
|
Before Width: | Height: | Size: 252 B After Width: | Height: | Size: 355 B |
@@ -153,252 +153,256 @@ of a sparse matrix</A>
|
||||
<LI><A NAME="tex2html68"
|
||||
HREF="node33.html">csclip -- Reduce to a submatrix</A>
|
||||
<LI><A NAME="tex2html69"
|
||||
HREF="node34.html">get_diag -- Get main diagonal</A>
|
||||
HREF="node34.html">clean_zeros -- Eliminate zero coefficients</A>
|
||||
<LI><A NAME="tex2html70"
|
||||
HREF="node35.html">clip_diag -- Cut out main diagonal</A>
|
||||
HREF="node35.html">get_diag -- Get main diagonal</A>
|
||||
<LI><A NAME="tex2html71"
|
||||
HREF="node36.html">tril -- Return the lower triangle</A>
|
||||
HREF="node36.html">clip_diag -- Cut out main diagonal</A>
|
||||
<LI><A NAME="tex2html72"
|
||||
HREF="node37.html">triu -- Return the upper triangle</A>
|
||||
HREF="node37.html">tril -- Return the lower triangle</A>
|
||||
<LI><A NAME="tex2html73"
|
||||
HREF="node38.html">psb_set_mat_default -- Set default storage format</A>
|
||||
HREF="node38.html">triu -- Return the upper triangle</A>
|
||||
<LI><A NAME="tex2html74"
|
||||
HREF="node39.html">clone -- Clone current object</A>
|
||||
HREF="node39.html">psb_set_mat_default -- Set default storage format</A>
|
||||
<LI><A NAME="tex2html75"
|
||||
HREF="node40.html">Named Constants</A>
|
||||
</UL>
|
||||
HREF="node40.html">clone -- Clone current object</A>
|
||||
<LI><A NAME="tex2html76"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
<UL>
|
||||
HREF="node41.html">Named Constants</A>
|
||||
</UL>
|
||||
<LI><A NAME="tex2html77"
|
||||
HREF="node42.html">Vector Methods</A>
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html78"
|
||||
HREF="node43.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<LI><A NAME="tex2html79"
|
||||
HREF="node44.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
HREF="node44.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
<LI><A NAME="tex2html80"
|
||||
HREF="node45.html">get_vect -- Get a copy of the vector contents</A>
|
||||
HREF="node45.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
<LI><A NAME="tex2html81"
|
||||
HREF="node46.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
HREF="node46.html">set -- Set contents of the vector</A>
|
||||
<LI><A NAME="tex2html82"
|
||||
HREF="node47.html">Preconditioner data structure</A>
|
||||
HREF="node47.html">get_vect -- Get a copy of the vector contents</A>
|
||||
<LI><A NAME="tex2html83"
|
||||
HREF="node48.html">Heap data structure</A>
|
||||
HREF="node48.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html84"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<UL>
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
<LI><A NAME="tex2html85"
|
||||
HREF="node50.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html86"
|
||||
HREF="node51.html">psb_gedot -- Dot Product</A>
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html87"
|
||||
HREF="node52.html">psb_gedots -- Generalized Dot Product</A>
|
||||
HREF="node52.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
<LI><A NAME="tex2html88"
|
||||
HREF="node53.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
HREF="node53.html">psb_gedot -- Dot Product</A>
|
||||
<LI><A NAME="tex2html89"
|
||||
HREF="node54.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
HREF="node54.html">psb_gedots -- Generalized Dot Product</A>
|
||||
<LI><A NAME="tex2html90"
|
||||
HREF="node55.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
HREF="node55.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html91"
|
||||
HREF="node56.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
HREF="node56.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<LI><A NAME="tex2html92"
|
||||
HREF="node57.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
HREF="node57.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html93"
|
||||
HREF="node58.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
HREF="node58.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html94"
|
||||
HREF="node59.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
HREF="node59.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html95"
|
||||
HREF="node60.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
HREF="node60.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html96"
|
||||
HREF="node61.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
HREF="node61.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html97"
|
||||
HREF="node62.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<BR>
|
||||
HREF="node62.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html98"
|
||||
HREF="node63.html">Communication routines</A>
|
||||
<UL>
|
||||
HREF="node63.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<LI><A NAME="tex2html99"
|
||||
HREF="node64.html">psb_halo -- Halo Data Communication</A>
|
||||
HREF="node64.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html100"
|
||||
HREF="node65.html">psb_ovrl -- Overlap Update</A>
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html101"
|
||||
HREF="node66.html">psb_gather -- Gather Global Dense Matrix</A>
|
||||
HREF="node66.html">psb_halo -- Halo Data Communication</A>
|
||||
<LI><A NAME="tex2html102"
|
||||
HREF="node67.html">psb_scatter -- Scatter Global Dense Matrix</A>
|
||||
</UL>
|
||||
<BR>
|
||||
HREF="node67.html">psb_ovrl -- Overlap Update</A>
|
||||
<LI><A NAME="tex2html103"
|
||||
HREF="node68.html">Data management routines</A>
|
||||
<UL>
|
||||
HREF="node68.html">psb_gather -- Gather Global Dense Matrix</A>
|
||||
<LI><A NAME="tex2html104"
|
||||
HREF="node69.html">psb_cdall -- Allocates a communication descriptor</A>
|
||||
<LI><A NAME="tex2html105"
|
||||
HREF="node70.html">psb_cdins -- Communication descriptor insert
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html106"
|
||||
HREF="node71.html">psb_cdasb -- Communication descriptor assembly
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html107"
|
||||
HREF="node72.html">psb_cdcpy -- Copies a communication descriptor</A>
|
||||
<LI><A NAME="tex2html108"
|
||||
HREF="node73.html">psb_cdfree -- Frees a communication descriptor</A>
|
||||
<LI><A NAME="tex2html109"
|
||||
HREF="node74.html">psb_cdbldext -- Build an extended communication
|
||||
descriptor</A>
|
||||
<LI><A NAME="tex2html110"
|
||||
HREF="node75.html">psb_spall -- Allocates a sparse matrix</A>
|
||||
<LI><A NAME="tex2html111"
|
||||
HREF="node76.html">psb_spins -- Insert a cloud of elements into a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html112"
|
||||
HREF="node77.html">psb_spasb -- Sparse matrix assembly routine</A>
|
||||
<LI><A NAME="tex2html113"
|
||||
HREF="node78.html">psb_spfree -- Frees a sparse matrix</A>
|
||||
<LI><A NAME="tex2html114"
|
||||
HREF="node79.html">psb_sprn -- Reinit sparse matrix structure for psblas
|
||||
routines.</A>
|
||||
<LI><A NAME="tex2html115"
|
||||
HREF="node80.html">psb_geall -- Allocates a dense matrix</A>
|
||||
<LI><A NAME="tex2html116"
|
||||
HREF="node81.html">psb_geins -- Dense matrix insertion routine</A>
|
||||
<LI><A NAME="tex2html117"
|
||||
HREF="node82.html">psb_geasb -- Assembly a dense matrix</A>
|
||||
<LI><A NAME="tex2html118"
|
||||
HREF="node83.html">psb_gefree -- Frees a dense matrix</A>
|
||||
<LI><A NAME="tex2html119"
|
||||
HREF="node84.html">psb_gelp -- Applies a left permutation to a dense
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html120"
|
||||
HREF="node85.html">psb_glob_to_loc -- Global to local indices
|
||||
convertion</A>
|
||||
<LI><A NAME="tex2html121"
|
||||
HREF="node86.html">psb_loc_to_glob -- Local to global indices
|
||||
conversion</A>
|
||||
<LI><A NAME="tex2html122"
|
||||
HREF="node87.html">psb_is_owned -- </A>
|
||||
<LI><A NAME="tex2html123"
|
||||
HREF="node88.html">psb_owned_index -- </A>
|
||||
<LI><A NAME="tex2html124"
|
||||
HREF="node89.html">psb_is_local -- </A>
|
||||
<LI><A NAME="tex2html125"
|
||||
HREF="node90.html">psb_local_index -- </A>
|
||||
<LI><A NAME="tex2html126"
|
||||
HREF="node91.html">psb_get_boundary -- Extract list of boundary
|
||||
elements</A>
|
||||
<LI><A NAME="tex2html127"
|
||||
HREF="node92.html">psb_get_overlap -- Extract list of overlap
|
||||
elements</A>
|
||||
<LI><A NAME="tex2html128"
|
||||
HREF="node93.html">psb_sp_getrow -- Extract row(s) from a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html129"
|
||||
HREF="node94.html">psb_sizeof -- Memory occupation</A>
|
||||
<LI><A NAME="tex2html130"
|
||||
HREF="node95.html">Sorting utilities -- </A>
|
||||
HREF="node69.html">psb_scatter -- Scatter Global Dense Matrix</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html131"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<LI><A NAME="tex2html105"
|
||||
HREF="node70.html">Data management routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html106"
|
||||
HREF="node71.html">psb_cdall -- Allocates a communication descriptor</A>
|
||||
<LI><A NAME="tex2html107"
|
||||
HREF="node72.html">psb_cdins -- Communication descriptor insert
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html108"
|
||||
HREF="node73.html">psb_cdasb -- Communication descriptor assembly
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html109"
|
||||
HREF="node74.html">psb_cdcpy -- Copies a communication descriptor</A>
|
||||
<LI><A NAME="tex2html110"
|
||||
HREF="node75.html">psb_cdfree -- Frees a communication descriptor</A>
|
||||
<LI><A NAME="tex2html111"
|
||||
HREF="node76.html">psb_cdbldext -- Build an extended communication
|
||||
descriptor</A>
|
||||
<LI><A NAME="tex2html112"
|
||||
HREF="node77.html">psb_spall -- Allocates a sparse matrix</A>
|
||||
<LI><A NAME="tex2html113"
|
||||
HREF="node78.html">psb_spins -- Insert a cloud of elements into a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html114"
|
||||
HREF="node79.html">psb_spasb -- Sparse matrix assembly routine</A>
|
||||
<LI><A NAME="tex2html115"
|
||||
HREF="node80.html">psb_spfree -- Frees a sparse matrix</A>
|
||||
<LI><A NAME="tex2html116"
|
||||
HREF="node81.html">psb_sprn -- Reinit sparse matrix structure for psblas
|
||||
routines.</A>
|
||||
<LI><A NAME="tex2html117"
|
||||
HREF="node82.html">psb_geall -- Allocates a dense matrix</A>
|
||||
<LI><A NAME="tex2html118"
|
||||
HREF="node83.html">psb_geins -- Dense matrix insertion routine</A>
|
||||
<LI><A NAME="tex2html119"
|
||||
HREF="node84.html">psb_geasb -- Assembly a dense matrix</A>
|
||||
<LI><A NAME="tex2html120"
|
||||
HREF="node85.html">psb_gefree -- Frees a dense matrix</A>
|
||||
<LI><A NAME="tex2html121"
|
||||
HREF="node86.html">psb_gelp -- Applies a left permutation to a dense
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html122"
|
||||
HREF="node87.html">psb_glob_to_loc -- Global to local indices
|
||||
convertion</A>
|
||||
<LI><A NAME="tex2html123"
|
||||
HREF="node88.html">psb_loc_to_glob -- Local to global indices
|
||||
conversion</A>
|
||||
<LI><A NAME="tex2html124"
|
||||
HREF="node89.html">psb_is_owned -- </A>
|
||||
<LI><A NAME="tex2html125"
|
||||
HREF="node90.html">psb_owned_index -- </A>
|
||||
<LI><A NAME="tex2html126"
|
||||
HREF="node91.html">psb_is_local -- </A>
|
||||
<LI><A NAME="tex2html127"
|
||||
HREF="node92.html">psb_local_index -- </A>
|
||||
<LI><A NAME="tex2html128"
|
||||
HREF="node93.html">psb_get_boundary -- Extract list of boundary
|
||||
elements</A>
|
||||
<LI><A NAME="tex2html129"
|
||||
HREF="node94.html">psb_get_overlap -- Extract list of overlap
|
||||
elements</A>
|
||||
<LI><A NAME="tex2html130"
|
||||
HREF="node95.html">psb_sp_getrow -- Extract row(s) from a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html131"
|
||||
HREF="node96.html">psb_sizeof -- Memory occupation</A>
|
||||
<LI><A NAME="tex2html132"
|
||||
HREF="node97.html">psb_init -- Initializes PSBLAS parallel
|
||||
environment</A>
|
||||
HREF="node97.html">Sorting utilities -- </A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html133"
|
||||
HREF="node98.html">psb_info -- Return information about PSBLAS parallel
|
||||
environment</A>
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html134"
|
||||
HREF="node99.html">psb_exit -- Exit from PSBLAS parallel
|
||||
HREF="node99.html">psb_init -- Initializes PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html135"
|
||||
HREF="node100.html">psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
<LI><A NAME="tex2html136"
|
||||
HREF="node101.html">psb_get_rank -- Get the MPI rank</A>
|
||||
<LI><A NAME="tex2html137"
|
||||
HREF="node102.html">psb_wtime -- Wall clock timing</A>
|
||||
<LI><A NAME="tex2html138"
|
||||
HREF="node103.html">psb_barrier -- Sinchronization point parallel
|
||||
HREF="node100.html">psb_info -- Return information about PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html136"
|
||||
HREF="node101.html">psb_exit -- Exit from PSBLAS parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html137"
|
||||
HREF="node102.html">psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
<LI><A NAME="tex2html138"
|
||||
HREF="node103.html">psb_get_rank -- Get the MPI rank</A>
|
||||
<LI><A NAME="tex2html139"
|
||||
HREF="node104.html">psb_abort -- Abort a computation</A>
|
||||
HREF="node104.html">psb_wtime -- Wall clock timing</A>
|
||||
<LI><A NAME="tex2html140"
|
||||
HREF="node105.html">psb_bcast -- Broadcast data</A>
|
||||
HREF="node105.html">psb_barrier -- Sinchronization point parallel
|
||||
environment</A>
|
||||
<LI><A NAME="tex2html141"
|
||||
HREF="node106.html">psb_sum -- Global sum</A>
|
||||
HREF="node106.html">psb_abort -- Abort a computation</A>
|
||||
<LI><A NAME="tex2html142"
|
||||
HREF="node107.html">psb_max -- Global maximum</A>
|
||||
HREF="node107.html">psb_bcast -- Broadcast data</A>
|
||||
<LI><A NAME="tex2html143"
|
||||
HREF="node108.html">psb_min -- Global minimum</A>
|
||||
HREF="node108.html">psb_sum -- Global sum</A>
|
||||
<LI><A NAME="tex2html144"
|
||||
HREF="node109.html">psb_amx -- Global maximum absolute value</A>
|
||||
HREF="node109.html">psb_max -- Global maximum</A>
|
||||
<LI><A NAME="tex2html145"
|
||||
HREF="node110.html">psb_amn -- Global minimum absolute value</A>
|
||||
HREF="node110.html">psb_min -- Global minimum</A>
|
||||
<LI><A NAME="tex2html146"
|
||||
HREF="node111.html">psb_snd -- Send data</A>
|
||||
HREF="node111.html">psb_amx -- Global maximum absolute value</A>
|
||||
<LI><A NAME="tex2html147"
|
||||
HREF="node112.html">psb_rcv -- Receive data</A>
|
||||
HREF="node112.html">psb_amn -- Global minimum absolute value</A>
|
||||
<LI><A NAME="tex2html148"
|
||||
HREF="node113.html">psb_snd -- Send data</A>
|
||||
<LI><A NAME="tex2html149"
|
||||
HREF="node114.html">psb_rcv -- Receive data</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html148"
|
||||
HREF="node113.html">Error handling</A>
|
||||
<LI><A NAME="tex2html149"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html150"
|
||||
HREF="node115.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
HREF="node115.html">Error handling</A>
|
||||
<LI><A NAME="tex2html151"
|
||||
HREF="node116.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
HREF="node116.html">Utilities</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html152"
|
||||
HREF="node117.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
HREF="node117.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html153"
|
||||
HREF="node118.html">mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
HREF="node118.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html154"
|
||||
HREF="node119.html">mm_mat_write -- Write a sparse matrix to a
|
||||
HREF="node119.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html155"
|
||||
HREF="node120.html">mm_array_write -- Write a dense array from a
|
||||
HREF="node120.html">mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html156"
|
||||
HREF="node121.html">mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html157"
|
||||
HREF="node122.html">mm_array_write -- Write a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html156"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html157"
|
||||
HREF="node122.html">psb_precinit -- Initialize a preconditioner</A>
|
||||
<LI><A NAME="tex2html158"
|
||||
HREF="node123.html">psb_precbld -- Builds a preconditioner</A>
|
||||
<LI><A NAME="tex2html159"
|
||||
HREF="node124.html">psb_precaply -- Preconditioner application
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html160"
|
||||
HREF="node125.html">psb_precdescr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html161"
|
||||
HREF="node126.html">clone -- clone current
|
||||
preconditioner</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html162"
|
||||
HREF="node127.html">Iterative Methods</A>
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html159"
|
||||
HREF="node124.html">psb_precinit -- Initialize a preconditioner</A>
|
||||
<LI><A NAME="tex2html160"
|
||||
HREF="node125.html">psb_precbld -- Builds a preconditioner</A>
|
||||
<LI><A NAME="tex2html161"
|
||||
HREF="node126.html">psb_precaply -- Preconditioner application
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html162"
|
||||
HREF="node127.html">psb_precdescr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html163"
|
||||
HREF="node128.html">psb_krylov -- Krylov Methods Driver
|
||||
Routine</A>
|
||||
HREF="node128.html">clone -- clone current
|
||||
preconditioner</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html164"
|
||||
HREF="node129.html">Bibliography</A>
|
||||
HREF="node129.html">Iterative Methods</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html165"
|
||||
HREF="node130.html">About this document ...</A>
|
||||
HREF="node130.html">psb_krylov -- Krylov Methods Driver
|
||||
Routine</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html166"
|
||||
HREF="node131.html">Bibliography</A>
|
||||
<LI><A NAME="tex2html167"
|
||||
HREF="node132.html">About this document ...</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
@@ -26,21 +26,21 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html174"
|
||||
<A NAME="tex2html176"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html172"
|
||||
<A NAME="tex2html174"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html166"
|
||||
<A NAME="tex2html168"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html175"
|
||||
<B> Next:</B> <A NAME="tex2html177"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<B> Up:</B> <A NAME="tex2html173"
|
||||
<B> Up:</B> <A NAME="tex2html175"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html167"
|
||||
<B> Previous:</B> <A NAME="tex2html169"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -53,54 +53,54 @@ Contents</A>
|
||||
<!--Table of Contents-->
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html176"
|
||||
<LI><A NAME="tex2html178"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<LI><A NAME="tex2html177"
|
||||
<LI><A NAME="tex2html179"
|
||||
HREF="node3.html">General overview</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html178"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<LI><A NAME="tex2html179"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<LI><A NAME="tex2html180"
|
||||
HREF="node6.html">Application structure</A>
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<LI><A NAME="tex2html181"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<LI><A NAME="tex2html182"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<LI><A NAME="tex2html183"
|
||||
HREF="node8.html">Programming model</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html182"
|
||||
<LI><A NAME="tex2html184"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html183"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<LI><A NAME="tex2html184"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<LI><A NAME="tex2html185"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<LI><A NAME="tex2html186"
|
||||
HREF="node47.html">Preconditioner data structure</A>
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<LI><A NAME="tex2html187"
|
||||
HREF="node48.html">Heap data structure</A>
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<LI><A NAME="tex2html188"
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
<LI><A NAME="tex2html189"
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html188"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<LI><A NAME="tex2html189"
|
||||
HREF="node63.html">Communication routines</A>
|
||||
<LI><A NAME="tex2html190"
|
||||
HREF="node68.html">Data management routines</A>
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<LI><A NAME="tex2html191"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
HREF="node65.html">Communication routines</A>
|
||||
<LI><A NAME="tex2html192"
|
||||
HREF="node113.html">Error handling</A>
|
||||
HREF="node70.html">Data management routines</A>
|
||||
<LI><A NAME="tex2html193"
|
||||
HREF="node114.html">Utilities</A>
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<LI><A NAME="tex2html194"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
HREF="node115.html">Error handling</A>
|
||||
<LI><A NAME="tex2html195"
|
||||
HREF="node127.html">Iterative Methods</A>
|
||||
HREF="node116.html">Utilities</A>
|
||||
<LI><A NAME="tex2html196"
|
||||
HREF="node129.html">Bibliography</A>
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<LI><A NAME="tex2html197"
|
||||
HREF="node129.html">Iterative Methods</A>
|
||||
<LI><A NAME="tex2html198"
|
||||
HREF="node131.html">Bibliography</A>
|
||||
</UL>
|
||||
<!--End of Table of Contents-->
|
||||
<P>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html344"
|
||||
<A NAME="tex2html348"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html340"
|
||||
<A NAME="tex2html344"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html334"
|
||||
<A NAME="tex2html338"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html342"
|
||||
<A NAME="tex2html346"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html345"
|
||||
<B> Next:</B> <A NAME="tex2html349"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html341"
|
||||
<B> Up:</B> <A NAME="tex2html345"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html335"
|
||||
<B> Previous:</B> <A NAME="tex2html339"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> <A NAME="tex2html343"
|
||||
<B> <A NAME="tex2html347"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -66,7 +66,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="node68.html#sec:toolsrout">6</A> or the query routines detailed below;
|
||||
Sec. <A HREF="node70.html#sec:toolsrout">6</A> or the query routines detailed below;
|
||||
nevertheless we include here a description for the curious
|
||||
reader.
|
||||
|
||||
@@ -117,7 +117,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="node68.html#sec:toolsrout">6</A>).
|
||||
the mode of initialization (see also <A HREF="node70.html#sec:toolsrout">6</A>).
|
||||
|
||||
<P>
|
||||
The descriptor contents are as follows:
|
||||
@@ -202,7 +202,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="878"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:desctype"></A><A NAME="912"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 3:</STRONG>
|
||||
The PSBLAS defined data type that
|
||||
@@ -250,54 +250,54 @@ state, which can take the following values:
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html346"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<LI><A NAME="tex2html347"
|
||||
HREF="node12.html">get_local_rows -- Get number of local rows</A>
|
||||
<LI><A NAME="tex2html348"
|
||||
HREF="node13.html">get_local_cols -- Get number of local cols</A>
|
||||
<LI><A NAME="tex2html349"
|
||||
HREF="node14.html">get_global_rows -- Get number of global rows</A>
|
||||
<LI><A NAME="tex2html350"
|
||||
HREF="node15.html">get_global_cols -- Get number of global cols</A>
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<LI><A NAME="tex2html351"
|
||||
HREF="node16.html">get_global_indices -- Get vector of global indices</A>
|
||||
HREF="node12.html">get_local_rows -- Get number of local rows</A>
|
||||
<LI><A NAME="tex2html352"
|
||||
HREF="node17.html">get_context -- Get communication context</A>
|
||||
HREF="node13.html">get_local_cols -- Get number of local cols</A>
|
||||
<LI><A NAME="tex2html353"
|
||||
HREF="node18.html">Clone -- clone current object</A>
|
||||
HREF="node14.html">get_global_rows -- Get number of global rows</A>
|
||||
<LI><A NAME="tex2html354"
|
||||
HREF="node15.html">get_global_cols -- Get number of global cols</A>
|
||||
<LI><A NAME="tex2html355"
|
||||
HREF="node16.html">get_global_indices -- Get vector of global indices</A>
|
||||
<LI><A NAME="tex2html356"
|
||||
HREF="node17.html">get_context -- Get communication context</A>
|
||||
<LI><A NAME="tex2html357"
|
||||
HREF="node18.html">Clone -- clone current object</A>
|
||||
<LI><A NAME="tex2html358"
|
||||
HREF="node19.html">psb_cd_get_large_threshold -- Get threshold for
|
||||
index mapping switch</A>
|
||||
<LI><A NAME="tex2html355"
|
||||
<LI><A NAME="tex2html359"
|
||||
HREF="node20.html">psb_cd_set_large_threshold -- Set threshold for
|
||||
index mapping switch</A>
|
||||
<LI><A NAME="tex2html356"
|
||||
<LI><A NAME="tex2html360"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html344"
|
||||
<A NAME="tex2html348"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html340"
|
||||
<A NAME="tex2html344"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html334"
|
||||
<A NAME="tex2html338"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html342"
|
||||
<A NAME="tex2html346"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html345"
|
||||
<B> Next:</B> <A NAME="tex2html349"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html341"
|
||||
<B> Up:</B> <A NAME="tex2html345"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html335"
|
||||
<B> Previous:</B> <A NAME="tex2html339"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> <A NAME="tex2html343"
|
||||
<B> <A NAME="tex2html347"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_get_mpicomm -- Get the MPI communicator</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_mpicomm -- Get the MPI communicator">
|
||||
<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">
|
||||
@@ -20,48 +20,50 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node101.html">
|
||||
<LINK REL="previous" HREF="node99.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node101.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1504"
|
||||
<A NAME="tex2html1510"
|
||||
HREF="node101.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1500"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1506"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1494"
|
||||
<A NAME="tex2html1500"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1502"
|
||||
<A NAME="tex2html1508"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1505"
|
||||
HREF="node101.html">psb_get_rank Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1501"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1495"
|
||||
HREF="node99.html">psb_exit Exit</A>
|
||||
<B> <A NAME="tex2html1503"
|
||||
<B> Next:</B> <A NAME="tex2html1511"
|
||||
HREF="node101.html">psb_exit Exit</A>
|
||||
<B> Up:</B> <A NAME="tex2html1507"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1501"
|
||||
HREF="node99.html">psb_init Initializes</A>
|
||||
<B> <A NAME="tex2html1509"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00084000000000000000">
|
||||
psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
<H2><A NAME="SECTION00082000000000000000">
|
||||
psb_info -- Return information about PSBLAS parallel
|
||||
environment</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_get_mpicomm(icontxt, icomm)
|
||||
call psb_info(icontxt, iam, np)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine returns the MPI communicator associated with a PSBLAS context
|
||||
This subroutine returns information about the PSBLAS parallel environment, defining
|
||||
a virtual parallel machine.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -88,19 +90,83 @@ Specified as: an integer variable.
|
||||
<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>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.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
<BR>
|
||||
Specified as: an integer variable. </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1510"
|
||||
HREF="node101.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1506"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1500"
|
||||
HREF="node99.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1508"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1511"
|
||||
HREF="node101.html">psb_exit Exit</A>
|
||||
<B> Up:</B> <A NAME="tex2html1507"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1501"
|
||||
HREF="node99.html">psb_init Initializes</A>
|
||||
<B> <A NAME="tex2html1509"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_get_rank -- Get the MPI rank</TITLE>
|
||||
<META NAME="description" CONTENT="psb_get_rank -- Get the MPI rank">
|
||||
<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">
|
||||
@@ -20,54 +20,53 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node102.html">
|
||||
<LINK REL="previous" HREF="node100.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node102.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1516"
|
||||
<A NAME="tex2html1522"
|
||||
HREF="node102.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1512"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1518"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1506"
|
||||
<A NAME="tex2html1512"
|
||||
HREF="node100.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1514"
|
||||
<A NAME="tex2html1520"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1517"
|
||||
HREF="node102.html">psb_wtime Wall</A>
|
||||
<B> Up:</B> <A NAME="tex2html1513"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1507"
|
||||
HREF="node100.html">psb_get_mpicomm Get</A>
|
||||
<B> <A NAME="tex2html1515"
|
||||
<B> Next:</B> <A NAME="tex2html1523"
|
||||
HREF="node102.html">psb_get_mpicomm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1519"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1513"
|
||||
HREF="node100.html">psb_info Return</A>
|
||||
<B> <A NAME="tex2html1521"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00085000000000000000">
|
||||
psb_get_rank -- Get the MPI rank</A>
|
||||
<H2><A NAME="SECTION00083000000000000000">
|
||||
psb_exit -- Exit from PSBLAS parallel
|
||||
environment</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_get_rank(rank, icontxt, id)
|
||||
call psb_exit(icontxt)
|
||||
call psb_exit(icontxt,close)
|
||||
</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 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>
|
||||
@@ -84,45 +83,69 @@ 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.
|
||||
<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>local</B>.
|
||||
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 \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>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
Specified as: a logical variable, default value: true.
|
||||
</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$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
|
||||
<OL>
|
||||
<LI>This routine may be called even if a previous call to
|
||||
<code>psb_info</code> has returned with <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.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1522"
|
||||
HREF="node102.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1518"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1512"
|
||||
HREF="node100.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1520"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1523"
|
||||
HREF="node102.html">psb_get_mpicomm Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1519"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1513"
|
||||
HREF="node100.html">psb_info Return</A>
|
||||
<B> <A NAME="tex2html1521"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_wtime -- Wall clock timing</TITLE>
|
||||
<META NAME="description" CONTENT="psb_wtime -- Wall clock timing">
|
||||
<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">
|
||||
@@ -20,63 +20,85 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node103.html">
|
||||
<LINK REL="previous" HREF="node101.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node103.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1528"
|
||||
<A NAME="tex2html1534"
|
||||
HREF="node103.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1524"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1530"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1518"
|
||||
<A NAME="tex2html1524"
|
||||
HREF="node101.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1526"
|
||||
<A NAME="tex2html1532"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1529"
|
||||
HREF="node103.html">psb_barrier Sinchronization</A>
|
||||
<B> Up:</B> <A NAME="tex2html1525"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1519"
|
||||
HREF="node101.html">psb_get_rank Get</A>
|
||||
<B> <A NAME="tex2html1527"
|
||||
<B> Next:</B> <A NAME="tex2html1535"
|
||||
HREF="node103.html">psb_get_rank Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html1531"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1525"
|
||||
HREF="node101.html">psb_exit Exit</A>
|
||||
<B> <A NAME="tex2html1533"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00086000000000000000">
|
||||
psb_wtime -- Wall clock timing</A>
|
||||
<H2><A NAME="SECTION00084000000000000000">
|
||||
psb_get_mpicomm -- Get the MPI communicator</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
time = psb_wtime()
|
||||
call psb_get_mpicomm(icontxt, icomm)
|
||||
</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 communicator associated with a PSBLAS context
|
||||
<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>
|
||||
</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.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_barrier -- Sinchronization point parallel environment</TITLE>
|
||||
<META NAME="description" CONTENT="psb_barrier -- Sinchronization point parallel environment">
|
||||
<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">
|
||||
@@ -20,53 +20,54 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node104.html">
|
||||
<LINK REL="previous" HREF="node102.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node104.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1540"
|
||||
<A NAME="tex2html1546"
|
||||
HREF="node104.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1536"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1542"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1530"
|
||||
<A NAME="tex2html1536"
|
||||
HREF="node102.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1538"
|
||||
<A NAME="tex2html1544"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1541"
|
||||
HREF="node104.html">psb_abort Abort</A>
|
||||
<B> Up:</B> <A NAME="tex2html1537"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1531"
|
||||
HREF="node102.html">psb_wtime Wall</A>
|
||||
<B> <A NAME="tex2html1539"
|
||||
<B> Next:</B> <A NAME="tex2html1547"
|
||||
HREF="node104.html">psb_wtime Wall</A>
|
||||
<B> Up:</B> <A NAME="tex2html1543"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1537"
|
||||
HREF="node102.html">psb_get_mpicomm Get</A>
|
||||
<B> <A NAME="tex2html1545"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00087000000000000000">
|
||||
psb_barrier -- Sinchronization point parallel
|
||||
environment</A>
|
||||
<H2><A NAME="SECTION00085000000000000000">
|
||||
psb_get_rank -- Get the MPI rank</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_barrier(icontxt)
|
||||
call psb_get_rank(rank, icontxt, id)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine acts as an explicit synchronization point for the PSBLAS
|
||||
parallel virtual machine.
|
||||
This subroutine returns the MPI rank of the PSBLAS process <IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img129.png"
|
||||
ALT="$id$">
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
<DD>Asynchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry </B></STRONG></DT>
|
||||
<DD>
|
||||
@@ -83,6 +84,41 @@ 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>
|
||||
<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 <IMG
|
||||
WIDTH="18" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img129.png"
|
||||
ALT="$id$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_abort -- Abort a computation</TITLE>
|
||||
<META NAME="description" CONTENT="psb_abort -- Abort a computation">
|
||||
<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">
|
||||
@@ -20,66 +20,60 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node105.html">
|
||||
<LINK REL="previous" HREF="node103.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node105.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1552"
|
||||
<A NAME="tex2html1558"
|
||||
HREF="node105.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1548"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1554"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1542"
|
||||
<A NAME="tex2html1548"
|
||||
HREF="node103.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1550"
|
||||
<A NAME="tex2html1556"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1553"
|
||||
HREF="node105.html">psb_bcast Broadcast</A>
|
||||
<B> Up:</B> <A NAME="tex2html1549"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1543"
|
||||
HREF="node103.html">psb_barrier Sinchronization</A>
|
||||
<B> <A NAME="tex2html1551"
|
||||
<B> Next:</B> <A NAME="tex2html1559"
|
||||
HREF="node105.html">psb_barrier Sinchronization</A>
|
||||
<B> Up:</B> <A NAME="tex2html1555"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1549"
|
||||
HREF="node103.html">psb_get_rank Get</A>
|
||||
<B> <A NAME="tex2html1557"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00088000000000000000">
|
||||
psb_abort -- Abort a computation</A>
|
||||
<H2><A NAME="SECTION00086000000000000000">
|
||||
psb_wtime -- Wall clock timing</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_abort(icontxt)
|
||||
time = psb_wtime()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine aborts computation on the 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>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>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_bcast -- Broadcast data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_bcast -- Broadcast data">
|
||||
<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">
|
||||
@@ -20,49 +20,50 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node106.html">
|
||||
<LINK REL="previous" HREF="node104.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node106.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1564"
|
||||
<A NAME="tex2html1570"
|
||||
HREF="node106.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1560"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1566"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1554"
|
||||
<A NAME="tex2html1560"
|
||||
HREF="node104.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1562"
|
||||
<A NAME="tex2html1568"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1565"
|
||||
HREF="node106.html">psb_sum Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1561"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1555"
|
||||
HREF="node104.html">psb_abort Abort</A>
|
||||
<B> <A NAME="tex2html1563"
|
||||
<B> Next:</B> <A NAME="tex2html1571"
|
||||
HREF="node106.html">psb_abort Abort</A>
|
||||
<B> Up:</B> <A NAME="tex2html1567"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1561"
|
||||
HREF="node104.html">psb_wtime Wall</A>
|
||||
<B> <A NAME="tex2html1569"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00089000000000000000">
|
||||
psb_bcast -- Broadcast data</A>
|
||||
<H2><A NAME="SECTION00087000000000000000">
|
||||
psb_barrier -- Sinchronization point parallel
|
||||
environment</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_bcast(icontxt, dat, root)
|
||||
call psb_barrier(icontxt)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a broadcast operation based on the
|
||||
underlying communication library.
|
||||
This subroutine acts as an explicit synchronization point for the PSBLAS
|
||||
parallel virtual machine.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
@@ -82,81 +83,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="tex2html1564"
|
||||
HREF="node106.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1560"
|
||||
HREF="node96.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1554"
|
||||
HREF="node104.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1562"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1565"
|
||||
HREF="node106.html">psb_sum Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1561"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1555"
|
||||
HREF="node104.html">psb_abort Abort</A>
|
||||
<B> <A NAME="tex2html1563"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_sum -- Global sum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_sum -- Global sum">
|
||||
<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">
|
||||
@@ -20,52 +20,51 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node107.html">
|
||||
<LINK REL="previous" HREF="node105.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node107.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1576"
|
||||
<A NAME="tex2html1582"
|
||||
HREF="node107.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1572"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1578"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1566"
|
||||
<A NAME="tex2html1572"
|
||||
HREF="node105.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1574"
|
||||
<A NAME="tex2html1580"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1577"
|
||||
HREF="node107.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1573"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1567"
|
||||
HREF="node105.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1575"
|
||||
<B> Next:</B> <A NAME="tex2html1583"
|
||||
HREF="node107.html">psb_bcast Broadcast</A>
|
||||
<B> Up:</B> <A NAME="tex2html1579"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1573"
|
||||
HREF="node105.html">psb_barrier Sinchronization</A>
|
||||
<B> <A NAME="tex2html1581"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000810000000000000000">
|
||||
psb_sum -- Global sum</A>
|
||||
<H2><A NAME="SECTION00088000000000000000">
|
||||
psb_abort -- Abort a computation</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_sum(icontxt, dat, root)
|
||||
call psb_abort(icontxt)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a sum reduction 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,98 +81,10 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The local contribution to the global sum.
|
||||
<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. 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.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$-1<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1. </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>On destination process(es), the result of the sum 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>
|
||||
|
||||
<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="tex2html1576"
|
||||
HREF="node107.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1572"
|
||||
HREF="node96.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1566"
|
||||
HREF="node105.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1574"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1577"
|
||||
HREF="node107.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1573"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1567"
|
||||
HREF="node105.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1575"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_max -- Global maximum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_max -- Global maximum">
|
||||
<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">
|
||||
@@ -20,49 +20,49 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node108.html">
|
||||
<LINK REL="previous" HREF="node106.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node108.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1588"
|
||||
<A NAME="tex2html1594"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1584"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1590"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1578"
|
||||
<A NAME="tex2html1584"
|
||||
HREF="node106.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1586"
|
||||
<A NAME="tex2html1592"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1589"
|
||||
HREF="node108.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1585"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1579"
|
||||
HREF="node106.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1587"
|
||||
<B> Next:</B> <A NAME="tex2html1595"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1591"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1585"
|
||||
HREF="node106.html">psb_abort Abort</A>
|
||||
<B> <A NAME="tex2html1593"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000811000000000000000">
|
||||
psb_max -- Global maximum</A>
|
||||
<H2><A NAME="SECTION00089000000000000000">
|
||||
psb_bcast -- Broadcast data</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_max(icontxt, dat, root)
|
||||
call psb_bcast(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a maximum valuereduction
|
||||
operation based on the underlying communication library.
|
||||
This subroutine implements a broadcast operation based on the
|
||||
underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
@@ -83,23 +83,20 @@ Intent: <B>in</B>.
|
||||
Specified as: an integer variable.
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The local contribution to the global maximum.
|
||||
<DD>On the root process, the data to be broadcast.
|
||||
<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
|
||||
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, 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 maximum, 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,13 +105,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.
|
||||
<BR></DD>
|
||||
WIDTH="153" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img131.png"
|
||||
ALT="$0<= root <= np-1$">, default 0 </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -123,54 +119,42 @@ 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 processes other than root, the data to be broadcast.
|
||||
<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, 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="tex2html1588"
|
||||
<A NAME="tex2html1594"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1584"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1590"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1578"
|
||||
<A NAME="tex2html1584"
|
||||
HREF="node106.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1586"
|
||||
<A NAME="tex2html1592"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1589"
|
||||
HREF="node108.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1585"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1579"
|
||||
HREF="node106.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1587"
|
||||
<B> Next:</B> <A NAME="tex2html1595"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1591"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1585"
|
||||
HREF="node106.html">psb_abort Abort</A>
|
||||
<B> <A NAME="tex2html1593"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_min -- Global minimum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_min -- Global minimum">
|
||||
<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">
|
||||
@@ -20,49 +20,49 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node109.html">
|
||||
<LINK REL="previous" HREF="node107.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node109.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1600"
|
||||
<A NAME="tex2html1606"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1596"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1602"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1590"
|
||||
<A NAME="tex2html1596"
|
||||
HREF="node107.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1598"
|
||||
<A NAME="tex2html1604"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1601"
|
||||
HREF="node109.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1597"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1591"
|
||||
HREF="node107.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1599"
|
||||
<B> Next:</B> <A NAME="tex2html1607"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1603"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1597"
|
||||
HREF="node107.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1605"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000812000000000000000">
|
||||
psb_min -- Global minimum</A>
|
||||
<H2><A NAME="SECTION000810000000000000000">
|
||||
psb_sum -- Global sum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_min(icontxt, dat, root)
|
||||
call psb_sum(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a minimum value reduction
|
||||
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,19 +83,19 @@ 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 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 value, or <IMG
|
||||
<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
|
||||
@@ -113,8 +113,7 @@ Specified as: an integer value <!-- 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$">, default -1. </DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
@@ -123,7 +122,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 sum operation.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
@@ -131,7 +130,7 @@ 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.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
@@ -153,26 +152,26 @@ Type, kind, rank and size must agree on all processes.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1600"
|
||||
<A NAME="tex2html1606"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1596"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1602"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1590"
|
||||
<A NAME="tex2html1596"
|
||||
HREF="node107.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1598"
|
||||
<A NAME="tex2html1604"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1601"
|
||||
HREF="node109.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1597"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1591"
|
||||
HREF="node107.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1599"
|
||||
<B> Next:</B> <A NAME="tex2html1607"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1603"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1597"
|
||||
HREF="node107.html">psb_bcast Broadcast</A>
|
||||
<B> <A NAME="tex2html1605"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_amx -- Global maximum absolute value</TITLE>
|
||||
<META NAME="description" CONTENT="psb_amx -- Global maximum absolute value">
|
||||
<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">
|
||||
@@ -20,48 +20,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node110.html">
|
||||
<LINK REL="previous" HREF="node108.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node110.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1612"
|
||||
<A NAME="tex2html1618"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1608"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1614"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1602"
|
||||
<A NAME="tex2html1608"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1610"
|
||||
<A NAME="tex2html1616"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1613"
|
||||
HREF="node110.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1609"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1603"
|
||||
HREF="node108.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1611"
|
||||
<B> Next:</B> <A NAME="tex2html1619"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1615"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1609"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1617"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000813000000000000000">
|
||||
psb_amx -- Global maximum absolute value</A>
|
||||
<H2><A NAME="SECTION000811000000000000000">
|
||||
psb_max -- Global maximum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_amx(icontxt, dat, root)
|
||||
call psb_max(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a maximum absolute value reduction
|
||||
This subroutine implements a maximum valuereduction
|
||||
operation based on the underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -91,11 +91,11 @@ 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 maximum, or <IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> to make it available
|
||||
@@ -129,9 +129,9 @@ Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>inout</B>.
|
||||
Intent: <B>in</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>
|
||||
</DL>
|
||||
@@ -151,26 +151,26 @@ scalar, or a rank 1 or 2 array. Type, kind, rank and size must agree on all pro
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1612"
|
||||
<A NAME="tex2html1618"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1608"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1614"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1602"
|
||||
<A NAME="tex2html1608"
|
||||
HREF="node108.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1610"
|
||||
<A NAME="tex2html1616"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1613"
|
||||
HREF="node110.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1609"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1603"
|
||||
HREF="node108.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1611"
|
||||
<B> Next:</B> <A NAME="tex2html1619"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1615"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1609"
|
||||
HREF="node108.html">psb_sum Global</A>
|
||||
<B> <A NAME="tex2html1617"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html367"
|
||||
<A NAME="tex2html371"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html363"
|
||||
<A NAME="tex2html367"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html357"
|
||||
<A NAME="tex2html361"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html365"
|
||||
<A NAME="tex2html369"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html368"
|
||||
<B> Next:</B> <A NAME="tex2html372"
|
||||
HREF="node12.html">get_local_rows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html364"
|
||||
<B> Up:</B> <A NAME="tex2html368"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html358"
|
||||
<B> Previous:</B> <A NAME="tex2html362"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> <A NAME="tex2html366"
|
||||
<B> <A NAME="tex2html370"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_amn -- Global minimum absolute value</TITLE>
|
||||
<META NAME="description" CONTENT="psb_amn -- Global minimum 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">
|
||||
@@ -20,48 +20,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node111.html">
|
||||
<LINK REL="previous" HREF="node109.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node111.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1624"
|
||||
<A NAME="tex2html1630"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1620"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1626"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1614"
|
||||
<A NAME="tex2html1620"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1622"
|
||||
<A NAME="tex2html1628"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1625"
|
||||
HREF="node111.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1621"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1615"
|
||||
HREF="node109.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1623"
|
||||
<B> Next:</B> <A NAME="tex2html1631"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1627"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1621"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1629"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000814000000000000000">
|
||||
psb_amn -- Global minimum absolute value</A>
|
||||
<H2><A NAME="SECTION000812000000000000000">
|
||||
psb_min -- Global minimum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_amn(icontxt, dat, root)
|
||||
call psb_min(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine implements a minimum absolute value reduction
|
||||
This subroutine implements a minimum value reduction
|
||||
operation based on the underlying communication library.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -91,7 +91,7 @@ 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>
|
||||
@@ -131,7 +131,7 @@ 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.
|
||||
<BR>
|
||||
Type, kind, rank and size must agree on all processes.
|
||||
@@ -153,26 +153,26 @@ Type, kind, rank and size must agree on all processes.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1624"
|
||||
<A NAME="tex2html1630"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1620"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1626"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1614"
|
||||
<A NAME="tex2html1620"
|
||||
HREF="node109.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1622"
|
||||
<A NAME="tex2html1628"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1625"
|
||||
HREF="node111.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1621"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1615"
|
||||
HREF="node109.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1623"
|
||||
<B> Next:</B> <A NAME="tex2html1631"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1627"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1621"
|
||||
HREF="node109.html">psb_max Global</A>
|
||||
<B> <A NAME="tex2html1629"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_snd -- Send data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_snd -- Send data">
|
||||
<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">
|
||||
@@ -20,51 +20,52 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node112.html">
|
||||
<LINK REL="previous" HREF="node110.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node112.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1636"
|
||||
<A NAME="tex2html1642"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1632"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1638"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1626"
|
||||
<A NAME="tex2html1632"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1634"
|
||||
<A NAME="tex2html1640"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1637"
|
||||
HREF="node112.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1633"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1627"
|
||||
HREF="node110.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1635"
|
||||
<B> Next:</B> <A NAME="tex2html1643"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1639"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1633"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1641"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000815000000000000000">
|
||||
psb_snd -- Send data</A>
|
||||
<H2><A NAME="SECTION000813000000000000000">
|
||||
psb_amx -- Global maximum absolute value</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_snd(icontxt, dat, dst, m)
|
||||
call psb_amx(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine sends a packet of data to a destination.
|
||||
This subroutine implements a maximum 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 +83,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 maximum.
|
||||
<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 <IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> 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$">.
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, 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,43 +122,55 @@ 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 maximum 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. Type, kind, rank and size must agree on all processes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
|
||||
<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>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1636"
|
||||
<A NAME="tex2html1642"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1632"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1638"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1626"
|
||||
<A NAME="tex2html1632"
|
||||
HREF="node110.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1634"
|
||||
<A NAME="tex2html1640"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1637"
|
||||
HREF="node112.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1633"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1627"
|
||||
HREF="node110.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1635"
|
||||
<B> Next:</B> <A NAME="tex2html1643"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> Up:</B> <A NAME="tex2html1639"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1633"
|
||||
HREF="node110.html">psb_min Global</A>
|
||||
<B> <A NAME="tex2html1641"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_rcv -- Receive data</TITLE>
|
||||
<META NAME="description" CONTENT="psb_rcv -- Receive 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">
|
||||
@@ -18,52 +18,54 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node113.html">
|
||||
<LINK REL="previous" HREF="node111.html">
|
||||
<LINK REL="up" HREF="node96.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node113.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1646"
|
||||
<A NAME="tex2html1654"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1642"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1650"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1638"
|
||||
<A NAME="tex2html1644"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1644"
|
||||
<A NAME="tex2html1652"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1647"
|
||||
HREF="node113.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1643"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1639"
|
||||
HREF="node111.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1645"
|
||||
<B> Next:</B> <A NAME="tex2html1655"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1651"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1645"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1653"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000816000000000000000">
|
||||
psb_rcv -- Receive data</A>
|
||||
<H2><A NAME="SECTION000814000000000000000">
|
||||
psb_amn -- Global minimum absolute value</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_rcv(icontxt, dat, src, m)
|
||||
call psb_amn(icontxt, dat, root)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine receives 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>
|
||||
@@ -80,59 +82,8 @@ Intent: <B>in</B>.
|
||||
<BR>
|
||||
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$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="147" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img139.png"
|
||||
ALT="$0<= src <= np-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>
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>dat</STRONG></DT>
|
||||
<DD>The data to be received.
|
||||
<DD>The local contribution to the global minimum.
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR>
|
||||
@@ -141,11 +92,49 @@ 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, 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>root</STRONG></DT>
|
||||
<DD>Process to hold the final value, or <IMG
|
||||
WIDTH="24" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img78.png"
|
||||
ALT="$-1$"> to make it available
|
||||
on all processes.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>optional</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$-1<= root <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="165" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img132.png"
|
||||
ALT="$-1<= root <= np-1$">, default -1.
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<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>
|
||||
|
||||
@@ -153,37 +142,37 @@ not specified, size must agree as well.
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
|
||||
<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$">.
|
||||
<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="tex2html1646"
|
||||
<A NAME="tex2html1654"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1642"
|
||||
HREF="node96.html">
|
||||
<A NAME="tex2html1650"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1638"
|
||||
<A NAME="tex2html1644"
|
||||
HREF="node111.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1644"
|
||||
<A NAME="tex2html1652"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1647"
|
||||
HREF="node113.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1643"
|
||||
HREF="node96.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1639"
|
||||
HREF="node111.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1645"
|
||||
<B> Next:</B> <A NAME="tex2html1655"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> Up:</B> <A NAME="tex2html1651"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1645"
|
||||
HREF="node111.html">psb_amx Global</A>
|
||||
<B> <A NAME="tex2html1653"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Error handling</TITLE>
|
||||
<META NAME="description" CONTENT="Error handling">
|
||||
<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">
|
||||
@@ -19,324 +19,172 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node114.html">
|
||||
<LINK REL="previous" HREF="node96.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="previous" HREF="node112.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node114.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1658"
|
||||
<A NAME="tex2html1666"
|
||||
HREF="node114.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1654"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1662"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1648"
|
||||
<A NAME="tex2html1656"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1656"
|
||||
<A NAME="tex2html1664"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1659"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1655"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1649"
|
||||
HREF="node112.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1657"
|
||||
<B> Next:</B> <A NAME="tex2html1667"
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1663"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1657"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1665"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00090000000000000000">
|
||||
Error handling</A>
|
||||
</H1>
|
||||
<H2><A NAME="SECTION000815000000000000000">
|
||||
psb_snd -- Send 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="7135"></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="7136"></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_snd(icontxt, dat, dst, m)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
This subroutine sends 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>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 <IMG
|
||||
WIDTH="18" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img133.png"
|
||||
ALT="$m$"> is
|
||||
not specified, size must agree as well.
|
||||
</DD>
|
||||
<DT><STRONG>dst</STRONG></DT>
|
||||
<DD>Destination process.
|
||||
<BR>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer value <!-- MATH
|
||||
$0<= dst <= np-1$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="145" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img134.png"
|
||||
ALT="$0<= dst <= np-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>
|
||||
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
|
||||
<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.
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
|
||||
<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>
|
||||
<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>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1658"
|
||||
<A NAME="tex2html1666"
|
||||
HREF="node114.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1654"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1662"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1648"
|
||||
<A NAME="tex2html1656"
|
||||
HREF="node112.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1656"
|
||||
<A NAME="tex2html1664"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1659"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1655"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1649"
|
||||
HREF="node112.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1657"
|
||||
<B> Next:</B> <A NAME="tex2html1667"
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> Up:</B> <A NAME="tex2html1663"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1657"
|
||||
HREF="node112.html">psb_amn Global</A>
|
||||
<B> <A NAME="tex2html1665"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Utilities</TITLE>
|
||||
<META NAME="description" CONTENT="Utilities">
|
||||
<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">
|
||||
@@ -18,77 +18,174 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node121.html">
|
||||
<LINK REL="previous" HREF="node113.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="up" HREF="node98.html">
|
||||
<LINK REL="next" HREF="node115.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1670"
|
||||
<A NAME="tex2html1676"
|
||||
HREF="node115.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1666"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1672"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1660"
|
||||
<A NAME="tex2html1668"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1668"
|
||||
<A NAME="tex2html1674"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1671"
|
||||
HREF="node115.html">hb_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1667"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1661"
|
||||
HREF="node113.html">Error handling</A>
|
||||
<B> <A NAME="tex2html1669"
|
||||
<B> Next:</B> <A NAME="tex2html1677"
|
||||
HREF="node115.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1673"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1669"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1675"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION000100000000000000000"></A>
|
||||
<A NAME="sec:util"></A>
|
||||
<H2><A NAME="SECTION000816000000000000000">
|
||||
psb_rcv -- Receive data</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<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>Synchronous: see usage notes.
|
||||
</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.
|
||||
<BR>
|
||||
Utilities
|
||||
</H1>
|
||||
Scope: <B>global</B>.
|
||||
<BR>
|
||||
Type: <B>required</B>.
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
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$
|
||||
-->
|
||||
<IMG
|
||||
WIDTH="147" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img139.png"
|
||||
ALT="$0<= src <= np-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>
|
||||
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>.
|
||||
<DL>
|
||||
<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>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
<FONT SIZE="+1"><B>Notes</B></FONT>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1672"
|
||||
HREF="node115.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html1673"
|
||||
HREF="node116.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html1674"
|
||||
HREF="node117.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1675"
|
||||
HREF="node118.html">mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1676"
|
||||
HREF="node119.html">mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1677"
|
||||
HREF="node120.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>
|
||||
<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$">.
|
||||
</LI>
|
||||
</OL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1676"
|
||||
HREF="node115.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1672"
|
||||
HREF="node98.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1668"
|
||||
HREF="node113.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1674"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1677"
|
||||
HREF="node115.html">Error handling</A>
|
||||
<B> Up:</B> <A NAME="tex2html1673"
|
||||
HREF="node98.html">Parallel environment routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1669"
|
||||
HREF="node113.html">psb_snd Send</A>
|
||||
<B> <A NAME="tex2html1675"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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>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">
|
||||
@@ -19,8 +19,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node116.html">
|
||||
<LINK REL="previous" HREF="node114.html">
|
||||
<LINK REL="up" HREF="node114.html">
|
||||
<LINK REL="previous" HREF="node98.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node116.html">
|
||||
</HEAD>
|
||||
|
||||
@@ -30,7 +30,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1684"
|
||||
HREF="node114.html">
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1678"
|
||||
HREF="node114.html">
|
||||
@@ -40,29 +40,121 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1689"
|
||||
HREF="node116.html">hb_write Write</A>
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1685"
|
||||
HREF="node114.html">Utilities</A>
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1679"
|
||||
HREF="node114.html">Utilities</A>
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1687"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000101000000000000000">
|
||||
hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
</H2>
|
||||
<H1><A NAME="SECTION00090000000000000000">
|
||||
Error handling</A>
|
||||
</H1>
|
||||
|
||||
<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="7217"></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="7218"></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="462" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img148.png"
|
||||
WIDTH="423" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img144.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call hb_read(a, iret, iunit, filename, b, mtitle)
|
||||
call psb_errpush(err_c, r_name, i_err, a_err)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
@@ -71,63 +163,154 @@ call hb_read(a, iret, iunit, filename, b, mtitle)
|
||||
<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>filename</STRONG></DT>
|
||||
<DD>The name of the file to be read.
|
||||
<DT><STRONG>err_c</STRONG></DT>
|
||||
<DD>the error code
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
Scope: <B>local</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>.
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
</DD>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
<DD>The Fortran file unit number.
|
||||
<DT><STRONG>r_name</STRONG></DT>
|
||||
<DD>the soutine where the error has been caught.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Specified as: an integer value. Only meaningful if filename is not <code>-</code>.
|
||||
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><B>On Return</B></STRONG></DT>
|
||||
<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 read from file.
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the verbosity level
|
||||
<BR>
|
||||
Type:<B>required</B>.
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Specified as: a structured data of type spdata<TT>psb_Tspmat_type</TT>.
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer.
|
||||
</DD>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
ifstarsubroutinesubroutinepsb_set_erractionSet the type of action to be
|
||||
taken upon error condition.
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
Type: <B>Optional</B>
|
||||
<IMG
|
||||
WIDTH="291" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img147.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call psb_set_erraction(err_act)
|
||||
\end{lstlisting}">
|
||||
<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.
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</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.
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>iret</STRONG></DT>
|
||||
<DD>Error code.
|
||||
<DT><STRONG>err_act</STRONG></DT>
|
||||
<DD>the type of action.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
An integer value; 0 means no error has been detected.
|
||||
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>
|
||||
|
||||
@@ -138,7 +321,7 @@ An integer value; 0 means no error has been detected.
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1684"
|
||||
HREF="node114.html">
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1678"
|
||||
HREF="node114.html">
|
||||
@@ -148,11 +331,11 @@ An integer value; 0 means no error has been detected.
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1689"
|
||||
HREF="node116.html">hb_write Write</A>
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Up:</B> <A NAME="tex2html1685"
|
||||
HREF="node114.html">Utilities</A>
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1679"
|
||||
HREF="node114.html">Utilities</A>
|
||||
HREF="node114.html">psb_rcv Receive</A>
|
||||
<B> <A NAME="tex2html1687"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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>Utilities</TITLE>
|
||||
<META NAME="description" CONTENT="Utilities">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -18,9 +18,9 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node117.html">
|
||||
<LINK REL="next" HREF="node123.html">
|
||||
<LINK REL="previous" HREF="node115.html">
|
||||
<LINK REL="up" HREF="node114.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node117.html">
|
||||
</HEAD>
|
||||
|
||||
@@ -30,7 +30,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1696"
|
||||
HREF="node114.html">
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1690"
|
||||
HREF="node115.html">
|
||||
@@ -40,131 +40,55 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1701"
|
||||
HREF="node117.html">mm_mat_read Read</A>
|
||||
HREF="node117.html">hb_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1697"
|
||||
HREF="node114.html">Utilities</A>
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1691"
|
||||
HREF="node115.html">hb_read Read</A>
|
||||
HREF="node115.html">Error handling</A>
|
||||
<B> <A NAME="tex2html1699"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000102000000000000000">
|
||||
hb_write -- Write a sparse matrix to a file
|
||||
<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>
|
||||
<LI><A NAME="tex2html1702"
|
||||
HREF="node117.html">hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
<LI><A NAME="tex2html1703"
|
||||
HREF="node118.html">hb_write -- Write a sparse matrix to a file
|
||||
in the Harwell-Boeing format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="539" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img149.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call hb_write(a, iret, iunit, filename, key, rhs, 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>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.
|
||||
<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
|
||||
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>
|
||||
<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>
|
||||
<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>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1700"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1696"
|
||||
HREF="node114.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1690"
|
||||
HREF="node115.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1698"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1701"
|
||||
HREF="node117.html">mm_mat_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1697"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1691"
|
||||
HREF="node115.html">hb_read Read</A>
|
||||
<B> <A NAME="tex2html1699"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<LI><A NAME="tex2html1704"
|
||||
HREF="node119.html">mm_mat_read -- Read a sparse matrix from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1705"
|
||||
HREF="node120.html">mm_array_read -- Read a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1706"
|
||||
HREF="node121.html">mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
<LI><A NAME="tex2html1707"
|
||||
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>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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_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">
|
||||
@@ -20,49 +20,49 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node118.html">
|
||||
<LINK REL="previous" HREF="node116.html">
|
||||
<LINK REL="up" HREF="node114.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="next" HREF="node118.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1712"
|
||||
<A NAME="tex2html1718"
|
||||
HREF="node118.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1708"
|
||||
HREF="node114.html">
|
||||
<A NAME="tex2html1714"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1702"
|
||||
<A NAME="tex2html1708"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1710"
|
||||
<A NAME="tex2html1716"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1713"
|
||||
HREF="node118.html">mm_array_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1709"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1703"
|
||||
HREF="node116.html">hb_write Write</A>
|
||||
<B> <A NAME="tex2html1711"
|
||||
<B> Next:</B> <A NAME="tex2html1719"
|
||||
HREF="node118.html">hb_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1715"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1709"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> <A NAME="tex2html1717"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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="SECTION000101000000000000000">
|
||||
hb_read -- Read a sparse matrix from a file in the
|
||||
Harwell-Boeing format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
<IMG
|
||||
WIDTH="395" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img150.png"
|
||||
WIDTH="462" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img148.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_mat_read(a, iret, iunit, filename)
|
||||
call hb_read(a, iret, iunit, filename, b, mtitle)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
@@ -104,6 +104,24 @@ 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>
|
||||
@@ -114,7 +132,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1718"
|
||||
HREF="node118.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1714"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1708"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1716"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1719"
|
||||
HREF="node118.html">hb_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1715"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1709"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> <A NAME="tex2html1717"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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>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">
|
||||
@@ -20,49 +20,49 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node119.html">
|
||||
<LINK REL="previous" HREF="node117.html">
|
||||
<LINK REL="up" HREF="node114.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="next" HREF="node119.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1724"
|
||||
<A NAME="tex2html1730"
|
||||
HREF="node119.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1720"
|
||||
HREF="node114.html">
|
||||
<A NAME="tex2html1726"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1714"
|
||||
<A NAME="tex2html1720"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1722"
|
||||
<A NAME="tex2html1728"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1725"
|
||||
HREF="node119.html">mm_mat_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1721"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1715"
|
||||
HREF="node117.html">mm_mat_read Read</A>
|
||||
<B> <A NAME="tex2html1723"
|
||||
<B> Next:</B> <A NAME="tex2html1731"
|
||||
HREF="node119.html">mm_mat_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1727"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1721"
|
||||
HREF="node117.html">hb_read Read</A>
|
||||
<B> <A NAME="tex2html1729"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000104000000000000000">
|
||||
mm_array_read -- Read a dense array 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="415" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img151.png"
|
||||
WIDTH="539" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img149.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_array_read(b, iret, iunit, filename)
|
||||
call hb_write(a, iret, iunit, filename, key, rhs, mtitle)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
@@ -74,13 +74,29 @@ call mm_array_read(b, 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 +106,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,15 +131,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>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>
|
||||
@@ -116,7 +141,30 @@ An integer value; 0 means no error has been detected.
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1730"
|
||||
HREF="node119.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1726"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1720"
|
||||
HREF="node117.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1728"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1731"
|
||||
HREF="node119.html">mm_mat_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1727"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1721"
|
||||
HREF="node117.html">hb_read Read</A>
|
||||
<B> <A NAME="tex2html1729"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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_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">
|
||||
@@ -20,51 +20,53 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node120.html">
|
||||
<LINK REL="previous" HREF="node118.html">
|
||||
<LINK REL="up" HREF="node114.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="next" HREF="node120.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1736"
|
||||
<A NAME="tex2html1742"
|
||||
HREF="node120.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1732"
|
||||
HREF="node114.html">
|
||||
<A NAME="tex2html1738"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1726"
|
||||
<A NAME="tex2html1732"
|
||||
HREF="node118.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1734"
|
||||
<A NAME="tex2html1740"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1737"
|
||||
HREF="node120.html">mm_array_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1733"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1727"
|
||||
HREF="node118.html">mm_array_read Read</A>
|
||||
<B> <A NAME="tex2html1735"
|
||||
<B> Next:</B> <A NAME="tex2html1743"
|
||||
HREF="node120.html">mm_array_read Read</A>
|
||||
<B> Up:</B> <A NAME="tex2html1739"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1733"
|
||||
HREF="node118.html">hb_write Write</A>
|
||||
<B> <A NAME="tex2html1741"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000105000000000000000">
|
||||
mm_mat_write -- Write a sparse matrix to 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="481" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img152.png"
|
||||
WIDTH="395" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img150.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_mat_write(a, mtitle, iret, iunit, filename)
|
||||
call mm_mat_read(a, iret, iunit, filename)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -72,28 +74,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 +97,13 @@ 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>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html379"
|
||||
<A NAME="tex2html383"
|
||||
HREF="node13.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html375"
|
||||
<A NAME="tex2html379"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html369"
|
||||
<A NAME="tex2html373"
|
||||
HREF="node11.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html377"
|
||||
<A NAME="tex2html381"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html380"
|
||||
<B> Next:</B> <A NAME="tex2html384"
|
||||
HREF="node13.html">get_local_cols Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html376"
|
||||
<B> Up:</B> <A NAME="tex2html380"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html370"
|
||||
<B> Previous:</B> <A NAME="tex2html374"
|
||||
HREF="node11.html">Descriptor Methods</A>
|
||||
<B> <A NAME="tex2html378"
|
||||
<B> <A NAME="tex2html382"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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_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">
|
||||
@@ -18,50 +18,51 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node121.html">
|
||||
<LINK REL="previous" HREF="node119.html">
|
||||
<LINK REL="up" HREF="node114.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="next" HREF="node121.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1746"
|
||||
<A NAME="tex2html1754"
|
||||
HREF="node121.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1742"
|
||||
HREF="node114.html">
|
||||
<A NAME="tex2html1750"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1738"
|
||||
<A NAME="tex2html1744"
|
||||
HREF="node119.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1744"
|
||||
<A NAME="tex2html1752"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1747"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1743"
|
||||
HREF="node114.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1739"
|
||||
HREF="node119.html">mm_mat_write Write</A>
|
||||
<B> <A NAME="tex2html1745"
|
||||
<B> Next:</B> <A NAME="tex2html1755"
|
||||
HREF="node121.html">mm_mat_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1751"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1745"
|
||||
HREF="node119.html">mm_mat_read Read</A>
|
||||
<B> <A NAME="tex2html1753"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000106000000000000000">
|
||||
mm_array_write -- Write a dense array from 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="424" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img153.png"
|
||||
WIDTH="415" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img151.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_array_write(b, iret, iunit, filename)
|
||||
call mm_array_read(b, iret, iunit, filename)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
|
||||
@@ -73,14 +74,8 @@ 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).
|
||||
<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.
|
||||
<DD>The name of the file to be read.
|
||||
<BR>
|
||||
Type:<B>optional</B>.
|
||||
<BR>
|
||||
@@ -102,6 +97,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>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Preconditioner routines</TITLE>
|
||||
<META NAME="description" CONTENT="Preconditioner routines">
|
||||
<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">
|
||||
@@ -18,80 +18,109 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node127.html">
|
||||
<LINK REL="previous" HREF="node114.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node122.html">
|
||||
<LINK REL="previous" HREF="node120.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="next" HREF="node122.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1758"
|
||||
<A NAME="tex2html1766"
|
||||
HREF="node122.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1754"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1762"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1748"
|
||||
<A NAME="tex2html1756"
|
||||
HREF="node120.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1756"
|
||||
<A NAME="tex2html1764"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1759"
|
||||
HREF="node122.html">psb_precinit Initialize</A>
|
||||
<B> Up:</B> <A NAME="tex2html1755"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1749"
|
||||
HREF="node120.html">mm_array_write Write</A>
|
||||
<B> <A NAME="tex2html1757"
|
||||
<B> Next:</B> <A NAME="tex2html1767"
|
||||
HREF="node122.html">mm_array_write Write</A>
|
||||
<B> Up:</B> <A NAME="tex2html1763"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1757"
|
||||
HREF="node120.html">mm_array_read Read</A>
|
||||
<B> <A NAME="tex2html1765"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION000110000000000000000"></A>
|
||||
<A NAME="sec:precs"></A>
|
||||
<H2><A NAME="SECTION000105000000000000000">
|
||||
mm_mat_write -- Write a sparse matrix to a
|
||||
file in the MatrixMarket format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<BR>
|
||||
Preconditioner routines
|
||||
</H1>
|
||||
<IMG
|
||||
WIDTH="481" HEIGHT="16" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img152.png"
|
||||
ALT="\begin{lstlisting}
|
||||
call mm_mat_write(a, mtitle, iret, iunit, filename)
|
||||
\end{lstlisting}">
|
||||
<BR>
|
||||
<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 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.
|
||||
<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
|
||||
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>
|
||||
<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>.
|
||||
<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>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1760"
|
||||
HREF="node122.html">psb_precinit -- Initialize a preconditioner</A>
|
||||
<LI><A NAME="tex2html1761"
|
||||
HREF="node123.html">psb_precbld -- Builds a preconditioner</A>
|
||||
<LI><A NAME="tex2html1762"
|
||||
HREF="node124.html">psb_precaply -- Preconditioner application
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html1763"
|
||||
HREF="node125.html">psb_precdescr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html1764"
|
||||
HREF="node126.html">clone -- clone current
|
||||
preconditioner</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_precinit -- Initialize a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precinit -- Initialize a preconditioner">
|
||||
<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">
|
||||
@@ -18,119 +18,96 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node123.html">
|
||||
<LINK REL="previous" HREF="node121.html">
|
||||
<LINK REL="up" HREF="node121.html">
|
||||
<LINK REL="up" HREF="node116.html">
|
||||
<LINK REL="next" HREF="node123.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1775"
|
||||
<A NAME="tex2html1776"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1771"
|
||||
HREF="node121.html">
|
||||
<A NAME="tex2html1772"
|
||||
HREF="node116.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1765"
|
||||
<A NAME="tex2html1768"
|
||||
HREF="node121.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1773"
|
||||
<A NAME="tex2html1774"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1776"
|
||||
HREF="node123.html">psb_precbld Builds</A>
|
||||
<B> Up:</B> <A NAME="tex2html1772"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1766"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<B> <A NAME="tex2html1774"
|
||||
<B> Next:</B> <A NAME="tex2html1777"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html1773"
|
||||
HREF="node116.html">Utilities</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1769"
|
||||
HREF="node121.html">mm_mat_write Write</A>
|
||||
<B> <A NAME="tex2html1775"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000111000000000000000">
|
||||
psb_precinit -- Initialize a preconditioner</A>
|
||||
<H2><A NAME="SECTION000106000000000000000">
|
||||
mm_array_write -- Write a dense array from a
|
||||
file in the MatrixMarket format</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_precinit(prec, ptype, info)
|
||||
</PRE>
|
||||
<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>
|
||||
|
||||
<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>ptype</STRONG></DT>
|
||||
<DD>the type of preconditioner.
|
||||
Scope: <B>global</B>
|
||||
<DT><STRONG>b</STRONG></DT>
|
||||
<DD>Rigth hand side(s).
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
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>
|
||||
Specified as: a character string, see usage notes.
|
||||
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><B>On Exit</B></STRONG></DT>
|
||||
<DD><P>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>Scope: <B>local</B>
|
||||
<DT><STRONG>iunit</STRONG></DT>
|
||||
<DD>The Fortran file unit number.
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
Type:<B>optional</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.
|
||||
Specified as: an integer value. Only meaningful if filename is not <code>-</code>.
|
||||
</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="tex2html30"
|
||||
HREF="footnode.html#foot7514"><SUP>3</SUP></A>:
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>NONE</STRONG></DT>
|
||||
<DD>No preconditioning, i.e. the preconditioner is just a copy
|
||||
operator.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</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.
|
||||
<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>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_precbld -- Builds a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precbld -- Builds 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">
|
||||
@@ -18,143 +18,79 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node124.html">
|
||||
<LINK REL="previous" HREF="node122.html">
|
||||
<LINK REL="up" HREF="node121.html">
|
||||
<LINK REL="next" HREF="node129.html">
|
||||
<LINK REL="previous" HREF="node116.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node124.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1787"
|
||||
<A NAME="tex2html1788"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1783"
|
||||
HREF="node121.html">
|
||||
<A NAME="tex2html1784"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1777"
|
||||
<A NAME="tex2html1778"
|
||||
HREF="node122.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1785"
|
||||
<A NAME="tex2html1786"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1788"
|
||||
HREF="node124.html">psb_precaply Preconditioner</A>
|
||||
<B> Up:</B> <A NAME="tex2html1784"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1778"
|
||||
HREF="node122.html">psb_precinit Initialize</A>
|
||||
<B> <A NAME="tex2html1786"
|
||||
<B> Next:</B> <A NAME="tex2html1789"
|
||||
HREF="node124.html">psb_precinit Initialize</A>
|
||||
<B> Up:</B> <A NAME="tex2html1785"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1779"
|
||||
HREF="node122.html">mm_array_write Write</A>
|
||||
<B> <A NAME="tex2html1787"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000112000000000000000">
|
||||
psb_precbld -- Builds a preconditioner</A>
|
||||
</H2>
|
||||
<H1><A NAME="SECTION000110000000000000000"></A>
|
||||
<A NAME="sec:precs"></A>
|
||||
<BR>
|
||||
Preconditioner routines
|
||||
</H1>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_precbld(a, desc_a, prec, info,amold,vmold)
|
||||
</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>.
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
</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>
|
||||
<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.
|
||||
<BR>
|
||||
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>.
|
||||
</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>.
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<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.
|
||||
<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>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1790"
|
||||
HREF="node124.html">psb_precinit -- Initialize a preconditioner</A>
|
||||
<LI><A NAME="tex2html1791"
|
||||
HREF="node125.html">psb_precbld -- Builds a preconditioner</A>
|
||||
<LI><A NAME="tex2html1792"
|
||||
HREF="node126.html">psb_precaply -- Preconditioner application
|
||||
routine</A>
|
||||
<LI><A NAME="tex2html1793"
|
||||
HREF="node127.html">psb_precdescr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<LI><A NAME="tex2html1794"
|
||||
HREF="node128.html">clone -- clone current
|
||||
preconditioner</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_precaply -- Preconditioner application routine</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precaply -- Preconditioner application routine">
|
||||
<TITLE>psb_precinit -- Initialize a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precinit -- Initialize a preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -20,132 +20,117 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node125.html">
|
||||
<LINK REL="previous" HREF="node123.html">
|
||||
<LINK REL="up" HREF="node121.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="next" HREF="node125.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1799"
|
||||
<A NAME="tex2html1805"
|
||||
HREF="node125.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1795"
|
||||
HREF="node121.html">
|
||||
<A NAME="tex2html1801"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1789"
|
||||
<A NAME="tex2html1795"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1797"
|
||||
<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="tex2html1800"
|
||||
HREF="node125.html">psb_precdescr Prints</A>
|
||||
<B> Up:</B> <A NAME="tex2html1796"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1790"
|
||||
HREF="node123.html">psb_precbld Builds</A>
|
||||
<B> <A NAME="tex2html1798"
|
||||
<B> Next:</B> <A NAME="tex2html1806"
|
||||
HREF="node125.html">psb_precbld Builds</A>
|
||||
<B> Up:</B> <A NAME="tex2html1802"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1796"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> <A NAME="tex2html1804"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000113000000000000000">
|
||||
psb_precaply -- Preconditioner application
|
||||
routine</A>
|
||||
<H2><A NAME="SECTION000111000000000000000">
|
||||
psb_precinit -- Initialize a preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_precaply(prec,x,y,desc_a,info,trans,work)
|
||||
call psb_precaply(prec,x,desc_a,info,trans)
|
||||
call psb_precinit(prec, 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>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
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>.
|
||||
<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>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>
|
||||
<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: 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.
|
||||
<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>
|
||||
<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="tex2html30"
|
||||
HREF="footnode.html#foot7596"><SUP>3</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>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_precdescr -- Prints a description of current preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precdescr -- Prints a description of current preconditioner">
|
||||
<TITLE>psb_precbld -- Builds a preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precbld -- Builds a preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -20,75 +20,137 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node126.html">
|
||||
<LINK REL="previous" HREF="node124.html">
|
||||
<LINK REL="up" HREF="node121.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="next" HREF="node126.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1811"
|
||||
<A NAME="tex2html1817"
|
||||
HREF="node126.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1807"
|
||||
HREF="node121.html">
|
||||
<A NAME="tex2html1813"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1801"
|
||||
<A NAME="tex2html1807"
|
||||
HREF="node124.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1809"
|
||||
<A NAME="tex2html1815"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1812"
|
||||
HREF="node126.html">clone clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html1808"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1802"
|
||||
HREF="node124.html">psb_precaply Preconditioner</A>
|
||||
<B> <A NAME="tex2html1810"
|
||||
<B> Next:</B> <A NAME="tex2html1818"
|
||||
HREF="node126.html">psb_precaply Preconditioner</A>
|
||||
<B> Up:</B> <A NAME="tex2html1814"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1808"
|
||||
HREF="node124.html">psb_precinit Initialize</A>
|
||||
<B> <A NAME="tex2html1816"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000114000000000000000">
|
||||
psb_precdescr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
<H2><A NAME="SECTION000112000000000000000">
|
||||
psb_precbld -- Builds a preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_precdescr(prec)
|
||||
call psb_precdescr(prec, iout)
|
||||
call psb_precbld(a, desc_a, prec, info,amold,vmold)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
<DD>Synchronous.
|
||||
</DD>
|
||||
<DT><STRONG><B>On Entry</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
<DT><STRONG>a</STRONG></DT>
|
||||
<DD>the system sparse matrix.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Intent: <B>in</B>, target.
|
||||
<BR>
|
||||
Specified as: a preconditioner data structure precdata<TT>psb_prec_type</TT>.
|
||||
Specified as: a sparse matrix data structure spdata<TT>psb_Tspmat_type</TT>.
|
||||
</DD>
|
||||
<DT><STRONG>iout</STRONG></DT>
|
||||
<DD>output unit.
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optiona</B>
|
||||
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>.
|
||||
</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 integer number.
|
||||
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.
|
||||
<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>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>clone -- clone current preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- clone current preconditioner">
|
||||
<TITLE>psb_precaply -- Preconditioner application routine</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precaply -- Preconditioner application routine">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -18,60 +18,107 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node127.html">
|
||||
<LINK REL="previous" HREF="node125.html">
|
||||
<LINK REL="up" HREF="node121.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="next" HREF="node127.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1821"
|
||||
<A NAME="tex2html1829"
|
||||
HREF="node127.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1817"
|
||||
HREF="node121.html">
|
||||
<A NAME="tex2html1825"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1813"
|
||||
<A NAME="tex2html1819"
|
||||
HREF="node125.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1819"
|
||||
<A NAME="tex2html1827"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1822"
|
||||
HREF="node127.html">Iterative Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html1818"
|
||||
HREF="node121.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1814"
|
||||
HREF="node125.html">psb_precdescr Prints</A>
|
||||
<B> <A NAME="tex2html1820"
|
||||
<B> Next:</B> <A NAME="tex2html1830"
|
||||
HREF="node127.html">psb_precdescr Prints</A>
|
||||
<B> Up:</B> <A NAME="tex2html1826"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1820"
|
||||
HREF="node125.html">psb_precbld Builds</A>
|
||||
<B> <A NAME="tex2html1828"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000115000000000000000">
|
||||
clone -- clone current
|
||||
preconditioner</A>
|
||||
<H2><A NAME="SECTION000113000000000000000">
|
||||
psb_precaply -- Preconditioner application
|
||||
routine</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call prec%clone(precout,info)
|
||||
call psb_precaply(prec,x,y,desc_a,info,trans,work)
|
||||
call psb_precaply(prec,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>
|
||||
</DD>
|
||||
<DT><STRONG>prec</STRONG></DT>
|
||||
<DD>the preconditioner.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Scope: <B>local</B>.
|
||||
<BR></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>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>
|
||||
<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: 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>
|
||||
@@ -79,11 +126,26 @@ Scope: <B>local</B>.
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>precout</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
<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>Return code.
|
||||
<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>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Iterative Methods</TITLE>
|
||||
<META NAME="description" CONTENT="Iterative Methods">
|
||||
<TITLE>psb_precdescr -- Prints a description of current preconditioner</TITLE>
|
||||
<META NAME="description" CONTENT="psb_precdescr -- Prints a description of current preconditioner">
|
||||
<META NAME="keywords" CONTENT="userhtml">
|
||||
<META NAME="resource-type" CONTENT="document">
|
||||
<META NAME="distribution" CONTENT="global">
|
||||
@@ -18,61 +18,81 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node129.html">
|
||||
<LINK REL="previous" HREF="node121.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node128.html">
|
||||
<LINK REL="previous" HREF="node126.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="next" HREF="node128.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1833"
|
||||
<A NAME="tex2html1841"
|
||||
HREF="node128.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1829"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1837"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1823"
|
||||
<A NAME="tex2html1831"
|
||||
HREF="node126.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1831"
|
||||
<A NAME="tex2html1839"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1834"
|
||||
HREF="node128.html">psb_krylov Krylov</A>
|
||||
<B> Up:</B> <A NAME="tex2html1830"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1824"
|
||||
HREF="node126.html">clone clone</A>
|
||||
<B> <A NAME="tex2html1832"
|
||||
<B> Next:</B> <A NAME="tex2html1842"
|
||||
HREF="node128.html">clone clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html1838"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1832"
|
||||
HREF="node126.html">psb_precaply Preconditioner</A>
|
||||
<B> <A NAME="tex2html1840"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION000120000000000000000"></A>
|
||||
<A NAME="sec:methods"></A>
|
||||
<H2><A NAME="SECTION000114000000000000000">
|
||||
psb_precdescr -- Prints a description of current
|
||||
preconditioner</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_precdescr(prec)
|
||||
call psb_precdescr(prec, iout)
|
||||
</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.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Iterative Methods
|
||||
</H1>
|
||||
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>iout</STRONG></DT>
|
||||
<DD>output unit.
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Type: <B>optiona</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
<BR>
|
||||
Specified as: an integer number.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<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="tex2html1835"
|
||||
HREF="node128.html">psb_krylov -- Krylov Methods Driver
|
||||
Routine</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_krylov -- Krylov Methods Driver Routine</TITLE>
|
||||
<META NAME="description" CONTENT="psb_krylov -- Krylov Methods Driver Routine">
|
||||
<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">
|
||||
@@ -19,388 +19,76 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node127.html">
|
||||
<LINK REL="up" HREF="node127.html">
|
||||
<LINK REL="up" HREF="node123.html">
|
||||
<LINK REL="next" HREF="node129.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1844"
|
||||
<A NAME="tex2html1851"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1840"
|
||||
HREF="node127.html">
|
||||
<A NAME="tex2html1847"
|
||||
HREF="node123.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1836"
|
||||
<A NAME="tex2html1843"
|
||||
HREF="node127.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1842"
|
||||
<A NAME="tex2html1849"
|
||||
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="node129.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1841"
|
||||
HREF="node127.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1837"
|
||||
HREF="node127.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1843"
|
||||
<B> Next:</B> <A NAME="tex2html1852"
|
||||
HREF="node129.html">Iterative Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html1848"
|
||||
HREF="node123.html">Preconditioner routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1844"
|
||||
HREF="node127.html">psb_precdescr Prints</A>
|
||||
<B> <A NAME="tex2html1850"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000121000000000000000"></A><A NAME="krylov"></A>
|
||||
<BR>
|
||||
psb_krylov -- Krylov Methods Driver
|
||||
Routine
|
||||
<H2><A NAME="SECTION000115000000000000000">
|
||||
clone -- clone current
|
||||
preconditioner</A>
|
||||
</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 is the normwise backward error, in the infinity
|
||||
norm, i.e. 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}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="204" HEIGHT="44" BORDER="0"
|
||||
SRC="img156.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>
|
||||
or the 2-norm residual reduction
|
||||
<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="img157.png"
|
||||
ALT="\begin{displaymath}err = \frac{\Vert r_i\Vert}{\Vert b\Vert _2} < eps \end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
according to the value passed through the istop argument (see
|
||||
later). In the above formulae, <IMG
|
||||
WIDTH="18" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img158.png"
|
||||
ALT="$x_i$"> is the tentative solution and
|
||||
<IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img159.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="img160.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>
|
||||
<PRE>
|
||||
call prec%clone(precout,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>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="tex2html31"
|
||||
HREF="footnode.html#foot7870"><SUP>4</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.
|
||||
<DD>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="100" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img162.png"
|
||||
ALT="$itmax = 1000$">.
|
||||
<BR>
|
||||
Specified as: an integer variable <IMG
|
||||
WIDTH="75" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img163.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="46" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img164.png"
|
||||
ALT="$itrace$"> iterations.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>optional</B>
|
||||
<BR>
|
||||
Intent: <B>in</B>.
|
||||
Scope: <B>local</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="59" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img165.png"
|
||||
ALT="$irst>0$">. This is employed for the BiCGSTABL or RGMRES
|
||||
methods, otherwise it is ignored.
|
||||
</DL>
|
||||
|
||||
<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. Default: 2.
|
||||
</DD>
|
||||
<DL>
|
||||
<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="img166.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.
|
||||
<DT><STRONG>precout</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
</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>Return code.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1844"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1840"
|
||||
HREF="node127.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1836"
|
||||
HREF="node127.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1842"
|
||||
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="node129.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1841"
|
||||
HREF="node127.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1837"
|
||||
HREF="node127.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1843"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Bibliography</TITLE>
|
||||
<META NAME="description" CONTENT="Bibliography">
|
||||
<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">
|
||||
@@ -18,155 +18,61 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node130.html">
|
||||
<LINK REL="previous" HREF="node127.html">
|
||||
<LINK REL="next" HREF="node131.html">
|
||||
<LINK REL="previous" HREF="node123.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node130.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html1856"
|
||||
<A NAME="tex2html1863"
|
||||
HREF="node130.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1852"
|
||||
<A NAME="tex2html1859"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1846"
|
||||
<A NAME="tex2html1853"
|
||||
HREF="node128.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1854"
|
||||
<A NAME="tex2html1861"
|
||||
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="node130.html">About this document ...</A>
|
||||
<B> Up:</B> <A NAME="tex2html1853"
|
||||
<B> Next:</B> <A NAME="tex2html1864"
|
||||
HREF="node130.html">psb_krylov Krylov</A>
|
||||
<B> Up:</B> <A NAME="tex2html1860"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1847"
|
||||
HREF="node128.html">psb_krylov Krylov</A>
|
||||
<B> <A NAME="tex2html1855"
|
||||
<B> Previous:</B> <A NAME="tex2html1854"
|
||||
HREF="node128.html">clone clone</A>
|
||||
<B> <A NAME="tex2html1862"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR><BR>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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
|
||||
<H1><A NAME="SECTION000120000000000000000"></A>
|
||||
<A NAME="sec:methods"></A>
|
||||
<BR>
|
||||
Applied Numerical Mathematics, Elsevier Science,
|
||||
Volume 57, Issues 11-12, November-December 2007, Pages 1181-1196.
|
||||
<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>,
|
||||
<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.
|
||||
Iterative Methods
|
||||
</H1>
|
||||
|
||||
<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.
|
||||
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>
|
||||
<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)
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></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>
|
||||
|
||||
<P>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html1865"
|
||||
HREF="node130.html">psb_krylov -- Krylov Methods Driver
|
||||
Routine</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html391"
|
||||
<A NAME="tex2html395"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html387"
|
||||
<A NAME="tex2html391"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html381"
|
||||
<A NAME="tex2html385"
|
||||
HREF="node12.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html389"
|
||||
<A NAME="tex2html393"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html392"
|
||||
<B> Next:</B> <A NAME="tex2html396"
|
||||
HREF="node14.html">get_global_rows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html388"
|
||||
<B> Up:</B> <A NAME="tex2html392"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html382"
|
||||
<B> Previous:</B> <A NAME="tex2html386"
|
||||
HREF="node12.html">get_local_rows Get</A>
|
||||
<B> <A NAME="tex2html390"
|
||||
<B> <A NAME="tex2html394"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>About this document ...</TITLE>
|
||||
<META NAME="description" CONTENT="About this document ...">
|
||||
<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">
|
||||
@@ -19,52 +19,415 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node129.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="up" HREF="node129.html">
|
||||
<LINK REL="next" HREF="node131.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next_g.png">
|
||||
<A NAME="tex2html1862"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html1874"
|
||||
HREF="node131.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1870"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1858"
|
||||
<A NAME="tex2html1866"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1864"
|
||||
<A NAME="tex2html1872"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Up:</B> <A NAME="tex2html1863"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1859"
|
||||
HREF="node129.html">Bibliography</A>
|
||||
<B> <A NAME="tex2html1865"
|
||||
<B> Next:</B> <A NAME="tex2html1875"
|
||||
HREF="node131.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1871"
|
||||
HREF="node129.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1867"
|
||||
HREF="node129.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1873"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<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.
|
||||
<H2><A NAME="SECTION000121000000000000000"></A><A NAME="krylov"></A>
|
||||
<BR>
|
||||
Copyright © 1997, 1998, 1999,
|
||||
<A HREF="http://www.maths.mq.edu.au/~ross/">Ross Moore</A>,
|
||||
Mathematics Department, Macquarie University, Sydney.
|
||||
psb_krylov -- Krylov Methods Driver
|
||||
Routine
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
The command line arguments were: <BR>
|
||||
<STRONG>latex2html</STRONG> <TT>-local_icons -noaddress -dir ../../html userhtml.tex</TT>
|
||||
This subroutine is a driver that provides a general interface for all
|
||||
the Krylov-Subspace family methods implemented in PSBLAS version 2.
|
||||
|
||||
<P>
|
||||
The translation was initiated by Salvatore Filippone on 2016-05-25
|
||||
<BR><HR>
|
||||
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}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="204" HEIGHT="44" BORDER="0"
|
||||
SRC="img156.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="img157.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="img158.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="img159.png"
|
||||
ALT="$x_i$"> is the tentative solution and
|
||||
<IMG
|
||||
WIDTH="91" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img160.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="img161.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="tex2html31"
|
||||
HREF="footnode.html#foot7956"><SUP>4</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="100" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img163.png"
|
||||
ALT="$itmax = 1000$">.
|
||||
<BR>
|
||||
Specified as: an integer variable <IMG
|
||||
WIDTH="75" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img164.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="46" HEIGHT="17" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img165.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="59" HEIGHT="29" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img166.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="img167.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="tex2html1874"
|
||||
HREF="node131.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html1870"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html1866"
|
||||
HREF="node129.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html1872"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html1875"
|
||||
HREF="node131.html">Bibliography</A>
|
||||
<B> Up:</B> <A NAME="tex2html1871"
|
||||
HREF="node129.html">Iterative Methods</A>
|
||||
<B> Previous:</B> <A NAME="tex2html1867"
|
||||
HREF="node129.html">Iterative Methods</A>
|
||||
<B> <A NAME="tex2html1873"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html403"
|
||||
<A NAME="tex2html407"
|
||||
HREF="node15.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html399"
|
||||
<A NAME="tex2html403"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html393"
|
||||
<A NAME="tex2html397"
|
||||
HREF="node13.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html401"
|
||||
<A NAME="tex2html405"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html404"
|
||||
<B> Next:</B> <A NAME="tex2html408"
|
||||
HREF="node15.html">get_global_cols Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html400"
|
||||
<B> Up:</B> <A NAME="tex2html404"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html394"
|
||||
<B> Previous:</B> <A NAME="tex2html398"
|
||||
HREF="node13.html">get_local_cols Get</A>
|
||||
<B> <A NAME="tex2html402"
|
||||
<B> <A NAME="tex2html406"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html415"
|
||||
<A NAME="tex2html419"
|
||||
HREF="node16.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html411"
|
||||
<A NAME="tex2html415"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html405"
|
||||
<A NAME="tex2html409"
|
||||
HREF="node14.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html413"
|
||||
<A NAME="tex2html417"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html416"
|
||||
<B> Next:</B> <A NAME="tex2html420"
|
||||
HREF="node16.html">get_global_indices Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html412"
|
||||
<B> Up:</B> <A NAME="tex2html416"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html406"
|
||||
<B> Previous:</B> <A NAME="tex2html410"
|
||||
HREF="node14.html">get_global_rows Get</A>
|
||||
<B> <A NAME="tex2html414"
|
||||
<B> <A NAME="tex2html418"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html427"
|
||||
<A NAME="tex2html431"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html423"
|
||||
<A NAME="tex2html427"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html417"
|
||||
<A NAME="tex2html421"
|
||||
HREF="node15.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html425"
|
||||
<A NAME="tex2html429"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html428"
|
||||
<B> Next:</B> <A NAME="tex2html432"
|
||||
HREF="node17.html">get_context Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html424"
|
||||
<B> Up:</B> <A NAME="tex2html428"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html418"
|
||||
<B> Previous:</B> <A NAME="tex2html422"
|
||||
HREF="node15.html">get_global_cols Get</A>
|
||||
<B> <A NAME="tex2html426"
|
||||
<B> <A NAME="tex2html430"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html439"
|
||||
<A NAME="tex2html443"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html435"
|
||||
<A NAME="tex2html439"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html429"
|
||||
<A NAME="tex2html433"
|
||||
HREF="node16.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html437"
|
||||
<A NAME="tex2html441"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html440"
|
||||
<B> Next:</B> <A NAME="tex2html444"
|
||||
HREF="node18.html">Clone clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html436"
|
||||
<B> Up:</B> <A NAME="tex2html440"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html430"
|
||||
<B> Previous:</B> <A NAME="tex2html434"
|
||||
HREF="node16.html">get_global_indices Get</A>
|
||||
<B> <A NAME="tex2html438"
|
||||
<B> <A NAME="tex2html442"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html451"
|
||||
<A NAME="tex2html455"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html447"
|
||||
<A NAME="tex2html451"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html441"
|
||||
<A NAME="tex2html445"
|
||||
HREF="node17.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html449"
|
||||
<A NAME="tex2html453"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html452"
|
||||
<B> Next:</B> <A NAME="tex2html456"
|
||||
HREF="node19.html">psb_cd_get_large_threshold Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html448"
|
||||
<B> Up:</B> <A NAME="tex2html452"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html442"
|
||||
<B> Previous:</B> <A NAME="tex2html446"
|
||||
HREF="node17.html">get_context Get</A>
|
||||
<B> <A NAME="tex2html450"
|
||||
<B> <A NAME="tex2html454"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html463"
|
||||
<A NAME="tex2html467"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html459"
|
||||
<A NAME="tex2html463"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html453"
|
||||
<A NAME="tex2html457"
|
||||
HREF="node18.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html461"
|
||||
<A NAME="tex2html465"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html464"
|
||||
<B> Next:</B> <A NAME="tex2html468"
|
||||
HREF="node20.html">psb_cd_set_large_threshold Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html460"
|
||||
<B> Up:</B> <A NAME="tex2html464"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html454"
|
||||
<B> Previous:</B> <A NAME="tex2html458"
|
||||
HREF="node18.html">Clone clone</A>
|
||||
<B> <A NAME="tex2html462"
|
||||
<B> <A NAME="tex2html466"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html207"
|
||||
<A NAME="tex2html209"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html203"
|
||||
<A NAME="tex2html205"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html197"
|
||||
<A NAME="tex2html199"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html205"
|
||||
<A NAME="tex2html207"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html208"
|
||||
<B> Next:</B> <A NAME="tex2html210"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Up:</B> <A NAME="tex2html204"
|
||||
<B> Up:</B> <A NAME="tex2html206"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html198"
|
||||
<B> Previous:</B> <A NAME="tex2html200"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html206"
|
||||
<B> <A NAME="tex2html208"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -71,7 +71,7 @@ passing.
|
||||
<P>
|
||||
The PSBLAS library version 3 is implemented in
|
||||
the Fortran 2003 [<A
|
||||
HREF="node129.html#metcalf">17</A>] programming language, with reuse and/or
|
||||
HREF="node131.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 +81,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="node129.html#Sparse03">11</A>]; other
|
||||
HREF="node131.html#Sparse03">11</A>]; other
|
||||
works discussing advanced programming in Fortran 2003
|
||||
include [<A
|
||||
HREF="node129.html#DesPat:11">1</A>,<A
|
||||
HREF="node129.html#RouXiaXu:11">18</A>]; sufficient support for
|
||||
HREF="node131.html#DesPat:11">1</A>,<A
|
||||
HREF="node131.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 +94,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="node129.html#machiels">16</A>]. Moreover, the Fortran 95 facilities for dynamic
|
||||
HREF="node131.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 +105,12 @@ implementation or compilation time.
|
||||
The presentation of the
|
||||
PSBLAS library follows the general structure of the proposal for
|
||||
serial Sparse BLAS [<A
|
||||
HREF="node129.html#sblas97">8</A>,<A
|
||||
HREF="node129.html#sblas02">9</A>], which in its turn is based on the
|
||||
HREF="node131.html#sblas97">8</A>,<A
|
||||
HREF="node131.html#sblas02">9</A>], which in its turn is based on the
|
||||
proposal for BLAS on dense matrices [<A
|
||||
HREF="node129.html#BLAS1">15</A>,<A
|
||||
HREF="node129.html#BLAS2">5</A>,<A
|
||||
HREF="node129.html#BLAS3">6</A>].
|
||||
HREF="node131.html#BLAS1">15</A>,<A
|
||||
HREF="node131.html#BLAS2">5</A>,<A
|
||||
HREF="node131.html#BLAS3">6</A>].
|
||||
|
||||
<P>
|
||||
The applicability of sparse iterative solvers to many different areas
|
||||
@@ -144,26 +144,26 @@ computational fluid dynamics applications.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html207"
|
||||
<A NAME="tex2html209"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html203"
|
||||
<A NAME="tex2html205"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html197"
|
||||
<A NAME="tex2html199"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html205"
|
||||
<A NAME="tex2html207"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html208"
|
||||
<B> Next:</B> <A NAME="tex2html210"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Up:</B> <A NAME="tex2html204"
|
||||
<B> Up:</B> <A NAME="tex2html206"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html198"
|
||||
<B> Previous:</B> <A NAME="tex2html200"
|
||||
HREF="node1.html">Contents</A>
|
||||
<B> <A NAME="tex2html206"
|
||||
<B> <A NAME="tex2html208"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html475"
|
||||
<A NAME="tex2html479"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html471"
|
||||
<A NAME="tex2html475"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html465"
|
||||
<A NAME="tex2html469"
|
||||
HREF="node19.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html473"
|
||||
<A NAME="tex2html477"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html476"
|
||||
<B> Next:</B> <A NAME="tex2html480"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
<B> Up:</B> <A NAME="tex2html472"
|
||||
<B> Up:</B> <A NAME="tex2html476"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html466"
|
||||
<B> Previous:</B> <A NAME="tex2html470"
|
||||
HREF="node19.html">psb_cd_get_large_threshold Get</A>
|
||||
<B> <A NAME="tex2html474"
|
||||
<B> <A NAME="tex2html478"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -25,26 +25,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html485"
|
||||
<A NAME="tex2html489"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html481"
|
||||
<A NAME="tex2html485"
|
||||
HREF="node10.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html477"
|
||||
<A NAME="tex2html481"
|
||||
HREF="node20.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html483"
|
||||
<A NAME="tex2html487"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html486"
|
||||
<B> Next:</B> <A NAME="tex2html490"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Up:</B> <A NAME="tex2html482"
|
||||
<B> Up:</B> <A NAME="tex2html486"
|
||||
HREF="node10.html">Descriptor data structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html478"
|
||||
<B> Previous:</B> <A NAME="tex2html482"
|
||||
HREF="node20.html">psb_cd_set_large_threshold Set</A>
|
||||
<B> <A NAME="tex2html484"
|
||||
<B> <A NAME="tex2html488"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -18,7 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node41.html">
|
||||
<LINK REL="next" HREF="node42.html">
|
||||
<LINK REL="previous" HREF="node10.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node23.html">
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html497"
|
||||
<A NAME="tex2html501"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html493"
|
||||
<A NAME="tex2html497"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html487"
|
||||
<A NAME="tex2html491"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html495"
|
||||
<A NAME="tex2html499"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html498"
|
||||
<B> Next:</B> <A NAME="tex2html502"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html494"
|
||||
<B> Up:</B> <A NAME="tex2html498"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html488"
|
||||
<B> Previous:</B> <A NAME="tex2html492"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html496"
|
||||
<B> <A NAME="tex2html500"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -60,9 +60,9 @@ 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="node129.html#DesignPatterns">13</A>] as detailed
|
||||
HREF="node131.html#DesignPatterns">13</A>] as detailed
|
||||
in [<A
|
||||
HREF="node129.html#Sparse03">11</A>]; the type declaration is shown in
|
||||
HREF="node131.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>
|
||||
@@ -85,7 +85,7 @@ 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="881"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:spmattype"></A><A NAME="915"></A>
|
||||
<TABLE>
|
||||
<CAPTION ALIGN="BOTTOM"><STRONG>Figure 4:</STRONG>
|
||||
The PSBLAS defined data type that
|
||||
@@ -145,71 +145,73 @@ variants are obtained by conversion to/from it.
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html499"
|
||||
<LI><A NAME="tex2html503"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<LI><A NAME="tex2html500"
|
||||
<LI><A NAME="tex2html504"
|
||||
HREF="node24.html">get_nrows -- Get number of rows in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html501"
|
||||
<LI><A NAME="tex2html505"
|
||||
HREF="node25.html">get_ncols -- Get number of columns in a sparse
|
||||
matrix</A>
|
||||
<LI><A NAME="tex2html502"
|
||||
<LI><A NAME="tex2html506"
|
||||
HREF="node26.html">get_nnzeros -- Get number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html503"
|
||||
<LI><A NAME="tex2html507"
|
||||
HREF="node27.html">get_size -- Get maximum number of nonzero elements
|
||||
in a sparse matrix</A>
|
||||
<LI><A NAME="tex2html504"
|
||||
<LI><A NAME="tex2html508"
|
||||
HREF="node28.html">sizeof -- Get memory occupation in bytes
|
||||
of a sparse matrix</A>
|
||||
<LI><A NAME="tex2html505"
|
||||
<LI><A NAME="tex2html509"
|
||||
HREF="node29.html">get_fmt -- Short description of the dynamic type</A>
|
||||
<LI><A NAME="tex2html506"
|
||||
<LI><A NAME="tex2html510"
|
||||
HREF="node30.html">is_bld, is_upd, is_asb -- Status check</A>
|
||||
<LI><A NAME="tex2html507"
|
||||
<LI><A NAME="tex2html511"
|
||||
HREF="node31.html">is_lower, is_upper, is_triangle, is_unit --
|
||||
Format check</A>
|
||||
<LI><A NAME="tex2html508"
|
||||
HREF="node32.html">cscnv -- Convert to a different storage format</A>
|
||||
<LI><A NAME="tex2html509"
|
||||
HREF="node33.html">csclip -- Reduce to a submatrix</A>
|
||||
<LI><A NAME="tex2html510"
|
||||
HREF="node34.html">get_diag -- Get main diagonal</A>
|
||||
<LI><A NAME="tex2html511"
|
||||
HREF="node35.html">clip_diag -- Cut out main diagonal</A>
|
||||
<LI><A NAME="tex2html512"
|
||||
HREF="node36.html">tril -- Return the lower triangle</A>
|
||||
HREF="node32.html">cscnv -- Convert to a different storage format</A>
|
||||
<LI><A NAME="tex2html513"
|
||||
HREF="node37.html">triu -- Return the upper triangle</A>
|
||||
HREF="node33.html">csclip -- Reduce to a submatrix</A>
|
||||
<LI><A NAME="tex2html514"
|
||||
HREF="node38.html">psb_set_mat_default -- Set default storage format</A>
|
||||
HREF="node34.html">clean_zeros -- Eliminate zero coefficients</A>
|
||||
<LI><A NAME="tex2html515"
|
||||
HREF="node39.html">clone -- Clone current object</A>
|
||||
HREF="node35.html">get_diag -- Get main diagonal</A>
|
||||
<LI><A NAME="tex2html516"
|
||||
HREF="node40.html">Named Constants</A>
|
||||
HREF="node36.html">clip_diag -- Cut out main diagonal</A>
|
||||
<LI><A NAME="tex2html517"
|
||||
HREF="node37.html">tril -- Return the lower triangle</A>
|
||||
<LI><A NAME="tex2html518"
|
||||
HREF="node38.html">triu -- Return the upper triangle</A>
|
||||
<LI><A NAME="tex2html519"
|
||||
HREF="node39.html">psb_set_mat_default -- Set default storage format</A>
|
||||
<LI><A NAME="tex2html520"
|
||||
HREF="node40.html">clone -- Clone current object</A>
|
||||
<LI><A NAME="tex2html521"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html497"
|
||||
<A NAME="tex2html501"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html493"
|
||||
<A NAME="tex2html497"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html487"
|
||||
<A NAME="tex2html491"
|
||||
HREF="node21.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html495"
|
||||
<A NAME="tex2html499"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html498"
|
||||
<B> Next:</B> <A NAME="tex2html502"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html494"
|
||||
<B> Up:</B> <A NAME="tex2html498"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html488"
|
||||
<B> Previous:</B> <A NAME="tex2html492"
|
||||
HREF="node21.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html496"
|
||||
<B> <A NAME="tex2html500"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html527"
|
||||
<A NAME="tex2html532"
|
||||
HREF="node24.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html523"
|
||||
<A NAME="tex2html528"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html517"
|
||||
<A NAME="tex2html522"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html525"
|
||||
<A NAME="tex2html530"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html528"
|
||||
<B> Next:</B> <A NAME="tex2html533"
|
||||
HREF="node24.html">get_nrows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html524"
|
||||
<B> Up:</B> <A NAME="tex2html529"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html518"
|
||||
<B> Previous:</B> <A NAME="tex2html523"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> <A NAME="tex2html526"
|
||||
<B> <A NAME="tex2html531"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html539"
|
||||
<A NAME="tex2html544"
|
||||
HREF="node25.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html535"
|
||||
<A NAME="tex2html540"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html529"
|
||||
<A NAME="tex2html534"
|
||||
HREF="node23.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html537"
|
||||
<A NAME="tex2html542"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html540"
|
||||
<B> Next:</B> <A NAME="tex2html545"
|
||||
HREF="node25.html">get_ncols Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html536"
|
||||
<B> Up:</B> <A NAME="tex2html541"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html530"
|
||||
<B> Previous:</B> <A NAME="tex2html535"
|
||||
HREF="node23.html">Sparse Matrix Methods</A>
|
||||
<B> <A NAME="tex2html538"
|
||||
<B> <A NAME="tex2html543"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html551"
|
||||
<A NAME="tex2html556"
|
||||
HREF="node26.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html547"
|
||||
<A NAME="tex2html552"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html541"
|
||||
<A NAME="tex2html546"
|
||||
HREF="node24.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html549"
|
||||
<A NAME="tex2html554"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html552"
|
||||
<B> Next:</B> <A NAME="tex2html557"
|
||||
HREF="node26.html">get_nnzeros Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html548"
|
||||
<B> Up:</B> <A NAME="tex2html553"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html542"
|
||||
<B> Previous:</B> <A NAME="tex2html547"
|
||||
HREF="node24.html">get_nrows Get</A>
|
||||
<B> <A NAME="tex2html550"
|
||||
<B> <A NAME="tex2html555"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html563"
|
||||
<A NAME="tex2html568"
|
||||
HREF="node27.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html559"
|
||||
<A NAME="tex2html564"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html553"
|
||||
<A NAME="tex2html558"
|
||||
HREF="node25.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html561"
|
||||
<A NAME="tex2html566"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html564"
|
||||
<B> Next:</B> <A NAME="tex2html569"
|
||||
HREF="node27.html">get_size Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html560"
|
||||
<B> Up:</B> <A NAME="tex2html565"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html554"
|
||||
<B> Previous:</B> <A NAME="tex2html559"
|
||||
HREF="node25.html">get_ncols Get</A>
|
||||
<B> <A NAME="tex2html562"
|
||||
<B> <A NAME="tex2html567"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html575"
|
||||
<A NAME="tex2html580"
|
||||
HREF="node28.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html571"
|
||||
<A NAME="tex2html576"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html565"
|
||||
<A NAME="tex2html570"
|
||||
HREF="node26.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html573"
|
||||
<A NAME="tex2html578"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html576"
|
||||
<B> Next:</B> <A NAME="tex2html581"
|
||||
HREF="node28.html">sizeof Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html572"
|
||||
<B> Up:</B> <A NAME="tex2html577"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html566"
|
||||
<B> Previous:</B> <A NAME="tex2html571"
|
||||
HREF="node26.html">get_nnzeros Get</A>
|
||||
<B> <A NAME="tex2html574"
|
||||
<B> <A NAME="tex2html579"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -28,26 +28,26 @@ of a sparse matrix">
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html587"
|
||||
<A NAME="tex2html592"
|
||||
HREF="node29.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html583"
|
||||
<A NAME="tex2html588"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html577"
|
||||
<A NAME="tex2html582"
|
||||
HREF="node27.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html585"
|
||||
<A NAME="tex2html590"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html588"
|
||||
<B> Next:</B> <A NAME="tex2html593"
|
||||
HREF="node29.html">get_fmt Short</A>
|
||||
<B> Up:</B> <A NAME="tex2html584"
|
||||
<B> Up:</B> <A NAME="tex2html589"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html578"
|
||||
<B> Previous:</B> <A NAME="tex2html583"
|
||||
HREF="node27.html">get_size Get</A>
|
||||
<B> <A NAME="tex2html586"
|
||||
<B> <A NAME="tex2html591"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html599"
|
||||
<A NAME="tex2html604"
|
||||
HREF="node30.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html595"
|
||||
<A NAME="tex2html600"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html589"
|
||||
<A NAME="tex2html594"
|
||||
HREF="node28.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html597"
|
||||
<A NAME="tex2html602"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html600"
|
||||
<B> Next:</B> <A NAME="tex2html605"
|
||||
HREF="node30.html">is_bld, is_upd, is_asb </A>
|
||||
<B> Up:</B> <A NAME="tex2html596"
|
||||
<B> Up:</B> <A NAME="tex2html601"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html590"
|
||||
<B> Previous:</B> <A NAME="tex2html595"
|
||||
HREF="node28.html">sizeof Get</A>
|
||||
<B> <A NAME="tex2html598"
|
||||
<B> <A NAME="tex2html603"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html219"
|
||||
<A NAME="tex2html221"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html215"
|
||||
<A NAME="tex2html217"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html209"
|
||||
<A NAME="tex2html211"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html217"
|
||||
<A NAME="tex2html219"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html220"
|
||||
<B> Next:</B> <A NAME="tex2html222"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> Up:</B> <A NAME="tex2html216"
|
||||
<B> Up:</B> <A NAME="tex2html218"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html210"
|
||||
<B> Previous:</B> <A NAME="tex2html212"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<B> <A NAME="tex2html218"
|
||||
<B> <A NAME="tex2html220"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -78,10 +78,10 @@ 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="node129.html#BLACS">7</A>].
|
||||
HREF="node131.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="node96.html#sec:parenv">7</A>.
|
||||
further details on our communication layer see Sec. <A HREF="node98.html#sec:parenv">7</A>.
|
||||
<P>
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:psblas"></A><A NAME="270"></A>
|
||||
@@ -132,7 +132,7 @@ 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="node129.html#METIS">14</A>].
|
||||
HREF="node131.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.
|
||||
@@ -152,43 +152,43 @@ bottleneck would make this option unattractive in most cases.
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html221"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<LI><A NAME="tex2html222"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<LI><A NAME="tex2html223"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<LI><A NAME="tex2html224"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<LI><A NAME="tex2html225"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<UL>
|
||||
<LI><A NAME="tex2html224"
|
||||
<LI><A NAME="tex2html226"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
</UL>
|
||||
<BR>
|
||||
<LI><A NAME="tex2html225"
|
||||
<LI><A NAME="tex2html227"
|
||||
HREF="node8.html">Programming model</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html219"
|
||||
<A NAME="tex2html221"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html215"
|
||||
<A NAME="tex2html217"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html209"
|
||||
<A NAME="tex2html211"
|
||||
HREF="node2.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html217"
|
||||
<A NAME="tex2html219"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html220"
|
||||
<B> Next:</B> <A NAME="tex2html222"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> Up:</B> <A NAME="tex2html216"
|
||||
<B> Up:</B> <A NAME="tex2html218"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html210"
|
||||
<B> Previous:</B> <A NAME="tex2html212"
|
||||
HREF="node2.html">Introduction</A>
|
||||
<B> <A NAME="tex2html218"
|
||||
<B> <A NAME="tex2html220"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html611"
|
||||
<A NAME="tex2html616"
|
||||
HREF="node31.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html607"
|
||||
<A NAME="tex2html612"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html601"
|
||||
<A NAME="tex2html606"
|
||||
HREF="node29.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html609"
|
||||
<A NAME="tex2html614"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html612"
|
||||
<B> Next:</B> <A NAME="tex2html617"
|
||||
HREF="node31.html">is_lower, is_upper, is_triangle, is_unit</A>
|
||||
<B> Up:</B> <A NAME="tex2html608"
|
||||
<B> Up:</B> <A NAME="tex2html613"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html602"
|
||||
<B> Previous:</B> <A NAME="tex2html607"
|
||||
HREF="node29.html">get_fmt Short</A>
|
||||
<B> <A NAME="tex2html610"
|
||||
<B> <A NAME="tex2html615"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html623"
|
||||
<A NAME="tex2html628"
|
||||
HREF="node32.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html619"
|
||||
<A NAME="tex2html624"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html613"
|
||||
<A NAME="tex2html618"
|
||||
HREF="node30.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html621"
|
||||
<A NAME="tex2html626"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html624"
|
||||
<B> Next:</B> <A NAME="tex2html629"
|
||||
HREF="node32.html">cscnv Convert</A>
|
||||
<B> Up:</B> <A NAME="tex2html620"
|
||||
<B> Up:</B> <A NAME="tex2html625"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html614"
|
||||
<B> Previous:</B> <A NAME="tex2html619"
|
||||
HREF="node30.html">is_bld, is_upd, is_asb </A>
|
||||
<B> <A NAME="tex2html622"
|
||||
<B> <A NAME="tex2html627"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html635"
|
||||
<A NAME="tex2html640"
|
||||
HREF="node33.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html631"
|
||||
<A NAME="tex2html636"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html625"
|
||||
<A NAME="tex2html630"
|
||||
HREF="node31.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html633"
|
||||
<A NAME="tex2html638"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html636"
|
||||
<B> Next:</B> <A NAME="tex2html641"
|
||||
HREF="node33.html">csclip Reduce</A>
|
||||
<B> Up:</B> <A NAME="tex2html632"
|
||||
<B> Up:</B> <A NAME="tex2html637"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html626"
|
||||
<B> Previous:</B> <A NAME="tex2html631"
|
||||
HREF="node31.html">is_lower, is_upper, is_triangle, is_unit</A>
|
||||
<B> <A NAME="tex2html634"
|
||||
<B> <A NAME="tex2html639"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html647"
|
||||
<A NAME="tex2html652"
|
||||
HREF="node34.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html643"
|
||||
<A NAME="tex2html648"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html637"
|
||||
<A NAME="tex2html642"
|
||||
HREF="node32.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html645"
|
||||
<A NAME="tex2html650"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html648"
|
||||
HREF="node34.html">get_diag Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html644"
|
||||
<B> Next:</B> <A NAME="tex2html653"
|
||||
HREF="node34.html">clean_zeros Eliminate</A>
|
||||
<B> Up:</B> <A NAME="tex2html649"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html638"
|
||||
<B> Previous:</B> <A NAME="tex2html643"
|
||||
HREF="node32.html">cscnv Convert</A>
|
||||
<B> <A NAME="tex2html646"
|
||||
<B> <A NAME="tex2html651"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -26,41 +26,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html659"
|
||||
<A NAME="tex2html664"
|
||||
HREF="node35.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html655"
|
||||
<A NAME="tex2html660"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html649"
|
||||
<A NAME="tex2html654"
|
||||
HREF="node33.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html657"
|
||||
<A NAME="tex2html662"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html660"
|
||||
HREF="node35.html">clip_diag Cut</A>
|
||||
<B> Up:</B> <A NAME="tex2html656"
|
||||
<B> Next:</B> <A NAME="tex2html665"
|
||||
HREF="node35.html">get_diag Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html661"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html650"
|
||||
<B> Previous:</B> <A NAME="tex2html655"
|
||||
HREF="node33.html">csclip Reduce</A>
|
||||
<B> <A NAME="tex2html658"
|
||||
<B> <A NAME="tex2html663"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421200000000000000">
|
||||
get_diag -- Get main diagonal</A>
|
||||
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 +84,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.
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -26,41 +26,41 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html671"
|
||||
<A NAME="tex2html676"
|
||||
HREF="node36.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html667"
|
||||
<A NAME="tex2html672"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html661"
|
||||
<A NAME="tex2html666"
|
||||
HREF="node34.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html669"
|
||||
<A NAME="tex2html674"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html672"
|
||||
HREF="node36.html">tril Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html668"
|
||||
<B> Next:</B> <A NAME="tex2html677"
|
||||
HREF="node36.html">clip_diag Cut</A>
|
||||
<B> Up:</B> <A NAME="tex2html673"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html662"
|
||||
HREF="node34.html">get_diag Get</A>
|
||||
<B> <A NAME="tex2html670"
|
||||
<B> Previous:</B> <A NAME="tex2html667"
|
||||
HREF="node34.html">clean_zeros Eliminate</A>
|
||||
<B> <A NAME="tex2html675"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421300000000000000">
|
||||
clip_diag -- Cut out main diagonal</A>
|
||||
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 +80,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.
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -26,44 +26,41 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html683"
|
||||
<A NAME="tex2html688"
|
||||
HREF="node37.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html679"
|
||||
<A NAME="tex2html684"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html673"
|
||||
<A NAME="tex2html678"
|
||||
HREF="node35.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html681"
|
||||
<A NAME="tex2html686"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html684"
|
||||
HREF="node37.html">triu Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html680"
|
||||
<B> Next:</B> <A NAME="tex2html689"
|
||||
HREF="node37.html">tril Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html685"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html674"
|
||||
HREF="node35.html">clip_diag Cut</A>
|
||||
<B> <A NAME="tex2html682"
|
||||
<B> Previous:</B> <A NAME="tex2html679"
|
||||
HREF="node35.html">get_diag Get</A>
|
||||
<B> <A NAME="tex2html687"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421400000000000000">
|
||||
tril -- Return the lower triangle</A>
|
||||
clip_diag -- Cut out main diagonal</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call a%tril(b,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale])
|
||||
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>.
|
||||
Returns a copy of <code>a</code> without the main diagonal.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -78,27 +75,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>b</STRONG></DT>
|
||||
<DD>A copy of a subtriangle of <code>a</code>.
|
||||
<DD>A copy of <code>a</code> without the main diagonal.
|
||||
<BR>
|
||||
A variable of type <code>psb_Tspmat_type</code>.
|
||||
</DD>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -26,42 +26,42 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html695"
|
||||
<A NAME="tex2html700"
|
||||
HREF="node38.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html691"
|
||||
<A NAME="tex2html696"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html685"
|
||||
<A NAME="tex2html690"
|
||||
HREF="node36.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html693"
|
||||
<A NAME="tex2html698"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html696"
|
||||
HREF="node38.html">psb_set_mat_default Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html692"
|
||||
<B> Next:</B> <A NAME="tex2html701"
|
||||
HREF="node38.html">triu Return</A>
|
||||
<B> Up:</B> <A NAME="tex2html697"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html686"
|
||||
HREF="node36.html">tril Return</A>
|
||||
<B> <A NAME="tex2html694"
|
||||
<B> Previous:</B> <A NAME="tex2html691"
|
||||
HREF="node36.html">clip_diag Cut</A>
|
||||
<B> <A NAME="tex2html699"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421500000000000000">
|
||||
triu -- Return the upper triangle</A>
|
||||
tril -- Return the lower triangle</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call a%triu(b,info[,&
|
||||
call a%tril(b,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale])
|
||||
</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>.
|
||||
<DL>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -26,41 +26,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html707"
|
||||
<A NAME="tex2html712"
|
||||
HREF="node39.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html703"
|
||||
<A NAME="tex2html708"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html697"
|
||||
<A NAME="tex2html702"
|
||||
HREF="node37.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html705"
|
||||
<A NAME="tex2html710"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html708"
|
||||
HREF="node39.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html704"
|
||||
<B> Next:</B> <A NAME="tex2html713"
|
||||
HREF="node39.html">psb_set_mat_default Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html709"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html698"
|
||||
HREF="node37.html">triu Return</A>
|
||||
<B> <A NAME="tex2html706"
|
||||
<B> Previous:</B> <A NAME="tex2html703"
|
||||
HREF="node37.html">tril Return</A>
|
||||
<B> <A NAME="tex2html711"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421600000000000000">
|
||||
psb_set_mat_default -- Set default storage format</A>
|
||||
triu -- Return the upper triangle</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_set_mat_default(a)
|
||||
call a%triu(b,info[,&
|
||||
& diag,imin,imax,jmin,jmax,rscale,cscale])
|
||||
</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>.
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
@@ -69,10 +72,38 @@ 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>b</STRONG></DT>
|
||||
<DD>A copy of a subtriangle 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>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -26,38 +26,38 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html719"
|
||||
<A NAME="tex2html724"
|
||||
HREF="node40.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html715"
|
||||
<A NAME="tex2html720"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html709"
|
||||
<A NAME="tex2html714"
|
||||
HREF="node38.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html717"
|
||||
<A NAME="tex2html722"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html720"
|
||||
HREF="node40.html">Named Constants</A>
|
||||
<B> Up:</B> <A NAME="tex2html716"
|
||||
<B> Next:</B> <A NAME="tex2html725"
|
||||
HREF="node40.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html721"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html710"
|
||||
HREF="node38.html">psb_set_mat_default Set</A>
|
||||
<B> <A NAME="tex2html718"
|
||||
<B> Previous:</B> <A NAME="tex2html715"
|
||||
HREF="node38.html">triu Return</A>
|
||||
<B> <A NAME="tex2html723"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421700000000000000">
|
||||
clone -- Clone current object</A>
|
||||
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 +69,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>
|
||||
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html236"
|
||||
<A NAME="tex2html238"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html232"
|
||||
<A NAME="tex2html234"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html226"
|
||||
<A NAME="tex2html228"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html234"
|
||||
<A NAME="tex2html236"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html237"
|
||||
<B> Next:</B> <A NAME="tex2html239"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> Up:</B> <A NAME="tex2html233"
|
||||
<B> Up:</B> <A NAME="tex2html235"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html227"
|
||||
<B> Previous:</B> <A NAME="tex2html229"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> <A NAME="tex2html235"
|
||||
<B> <A NAME="tex2html237"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -126,8 +126,8 @@ 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="node129.html#2007c">4</A>,<A
|
||||
HREF="node129.html#2007d">3</A>].
|
||||
HREF="node131.html#2007c">4</A>,<A
|
||||
HREF="node131.html#2007d">3</A>].
|
||||
|
||||
<P>
|
||||
We denote the sets of internal, boundary and halo points for a given
|
||||
@@ -197,26 +197,26 @@ points in the literature.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html236"
|
||||
<A NAME="tex2html238"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html232"
|
||||
<A NAME="tex2html234"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html226"
|
||||
<A NAME="tex2html228"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html234"
|
||||
<A NAME="tex2html236"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html237"
|
||||
<B> Next:</B> <A NAME="tex2html239"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> Up:</B> <A NAME="tex2html233"
|
||||
<B> Up:</B> <A NAME="tex2html235"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html227"
|
||||
<B> Previous:</B> <A NAME="tex2html229"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> <A NAME="tex2html235"
|
||||
<B> <A NAME="tex2html237"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -18,6 +18,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<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="next" HREF="node41.html">
|
||||
@@ -25,56 +26,65 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html729"
|
||||
<A NAME="tex2html736"
|
||||
HREF="node41.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html725"
|
||||
<A NAME="tex2html732"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html721"
|
||||
<A NAME="tex2html726"
|
||||
HREF="node39.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html727"
|
||||
<A NAME="tex2html734"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html730"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html726"
|
||||
<B> Next:</B> <A NAME="tex2html737"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
<B> Up:</B> <A NAME="tex2html733"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html722"
|
||||
HREF="node39.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html728"
|
||||
<B> Previous:</B> <A NAME="tex2html727"
|
||||
HREF="node39.html">psb_set_mat_default Set</A>
|
||||
<B> <A NAME="tex2html735"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION000421800000000000000"></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>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -18,148 +18,68 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node47.html">
|
||||
<LINK REL="previous" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="previous" HREF="node40.html">
|
||||
<LINK REL="up" HREF="node22.html">
|
||||
<LINK REL="next" HREF="node42.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html741"
|
||||
<A NAME="tex2html746"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html737"
|
||||
HREF="node9.html">
|
||||
<A NAME="tex2html742"
|
||||
HREF="node22.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html731"
|
||||
<A NAME="tex2html738"
|
||||
HREF="node40.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html739"
|
||||
<A NAME="tex2html744"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html742"
|
||||
HREF="node42.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html738"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html732"
|
||||
HREF="node40.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html740"
|
||||
<B> Next:</B> <A NAME="tex2html747"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html743"
|
||||
HREF="node22.html">Sparse Matrix class</A>
|
||||
<B> Previous:</B> <A NAME="tex2html739"
|
||||
HREF="node40.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html745"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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="node68.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="884"></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="tex2html743"
|
||||
HREF="node42.html">Vector Methods</A>
|
||||
<LI><A NAME="tex2html744"
|
||||
HREF="node43.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
<LI><A NAME="tex2html745"
|
||||
HREF="node44.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
<LI><A NAME="tex2html746"
|
||||
HREF="node45.html">get_vect -- Get a copy of the vector contents</A>
|
||||
<LI><A NAME="tex2html747"
|
||||
HREF="node46.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html741"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html737"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html731"
|
||||
HREF="node40.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<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="tex2html742"
|
||||
HREF="node42.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html738"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html732"
|
||||
HREF="node40.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html740"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -18,9 +18,9 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node43.html">
|
||||
<LINK REL="previous" HREF="node41.html">
|
||||
<LINK REL="up" HREF="node41.html">
|
||||
<LINK REL="next" HREF="node49.html">
|
||||
<LINK REL="previous" HREF="node22.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node43.html">
|
||||
</HEAD>
|
||||
|
||||
@@ -30,7 +30,7 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html754"
|
||||
HREF="node41.html">
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html748"
|
||||
HREF="node41.html">
|
||||
@@ -40,21 +40,128 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html759"
|
||||
HREF="node43.html">get_nrows Get</A>
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html755"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html749"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
HREF="node41.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html757"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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="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
|
||||
<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="918"></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="tex2html760"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<LI><A NAME="tex2html761"
|
||||
HREF="node44.html">get_nrows -- Get number of rows in a dense vector</A>
|
||||
<LI><A NAME="tex2html762"
|
||||
HREF="node45.html">sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
<LI><A NAME="tex2html763"
|
||||
HREF="node46.html">set -- Set contents of the vector</A>
|
||||
<LI><A NAME="tex2html764"
|
||||
HREF="node47.html">get_vect -- Get a copy of the vector contents</A>
|
||||
<LI><A NAME="tex2html765"
|
||||
HREF="node48.html">clone -- Clone current object</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html758"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html754"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html748"
|
||||
HREF="node41.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html756"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html759"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<B> Up:</B> <A NAME="tex2html755"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html749"
|
||||
HREF="node41.html">Named Constants</A>
|
||||
<B> <A NAME="tex2html757"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -20,72 +20,40 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node44.html">
|
||||
<LINK REL="previous" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node41.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="next" HREF="node44.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html770"
|
||||
<A NAME="tex2html776"
|
||||
HREF="node44.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html766"
|
||||
HREF="node41.html">
|
||||
<A NAME="tex2html772"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html760"
|
||||
<A NAME="tex2html766"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html768"
|
||||
<A NAME="tex2html774"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html771"
|
||||
HREF="node44.html">sizeof Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html767"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html761"
|
||||
HREF="node42.html">Vector Methods</A>
|
||||
<B> <A NAME="tex2html769"
|
||||
<B> Next:</B> <A NAME="tex2html777"
|
||||
HREF="node44.html">get_nrows Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html773"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html767"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> <A NAME="tex2html775"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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>
|
||||
|
||||
@@ -7,10 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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">
|
||||
@@ -22,45 +20,44 @@ of a dense vector">
|
||||
|
||||
<LINK REL="next" HREF="node45.html">
|
||||
<LINK REL="previous" HREF="node43.html">
|
||||
<LINK REL="up" HREF="node41.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="next" HREF="node45.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html782"
|
||||
<A NAME="tex2html788"
|
||||
HREF="node45.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html778"
|
||||
HREF="node41.html">
|
||||
<A NAME="tex2html784"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html772"
|
||||
<A NAME="tex2html778"
|
||||
HREF="node43.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html780"
|
||||
<A NAME="tex2html786"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html783"
|
||||
HREF="node45.html">get_vect Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html779"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html773"
|
||||
HREF="node43.html">get_nrows Get</A>
|
||||
<B> <A NAME="tex2html781"
|
||||
<B> Next:</B> <A NAME="tex2html789"
|
||||
HREF="node45.html">sizeof Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html785"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html779"
|
||||
HREF="node43.html">Vector Methods</A>
|
||||
<B> <A NAME="tex2html787"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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 +81,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>
|
||||
|
||||
|
||||
@@ -7,8 +7,10 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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>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">
|
||||
@@ -20,44 +22,45 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node46.html">
|
||||
<LINK REL="previous" HREF="node44.html">
|
||||
<LINK REL="up" HREF="node41.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="next" HREF="node46.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html794"
|
||||
<A NAME="tex2html800"
|
||||
HREF="node46.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html790"
|
||||
HREF="node41.html">
|
||||
<A NAME="tex2html796"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html784"
|
||||
<A NAME="tex2html790"
|
||||
HREF="node44.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html792"
|
||||
<A NAME="tex2html798"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html795"
|
||||
HREF="node46.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html791"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html785"
|
||||
HREF="node44.html">sizeof Get</A>
|
||||
<B> <A NAME="tex2html793"
|
||||
<B> Next:</B> <A NAME="tex2html801"
|
||||
HREF="node46.html">set Set</A>
|
||||
<B> Up:</B> <A NAME="tex2html797"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html791"
|
||||
HREF="node44.html">get_nrows Get</A>
|
||||
<B> <A NAME="tex2html799"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043400000000000000">
|
||||
get_vect -- Get a copy of the vector contents</A>
|
||||
<H3><A NAME="SECTION00043300000000000000">
|
||||
sizeof -- Get memory occupation in bytes
|
||||
of a dense vector</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
extv = v%get_vect()
|
||||
memory_size = v%sizeof()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -81,8 +84,7 @@ Scope: <B>local</B>
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>An allocatable array holding a copy of the dense
|
||||
vector contents.
|
||||
<DD>The memory occupation in bytes.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>clone -- Clone current object</TITLE>
|
||||
<META NAME="description" CONTENT="clone -- Clone current object">
|
||||
<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">
|
||||
@@ -18,44 +18,48 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node47.html">
|
||||
<LINK REL="previous" HREF="node45.html">
|
||||
<LINK REL="up" HREF="node41.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="next" HREF="node47.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html804"
|
||||
<A NAME="tex2html812"
|
||||
HREF="node47.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html800"
|
||||
HREF="node41.html">
|
||||
<A NAME="tex2html808"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html796"
|
||||
<A NAME="tex2html802"
|
||||
HREF="node45.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html802"
|
||||
<A NAME="tex2html810"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html805"
|
||||
HREF="node47.html">Preconditioner data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html801"
|
||||
HREF="node41.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html797"
|
||||
HREF="node45.html">get_vect Get</A>
|
||||
<B> <A NAME="tex2html803"
|
||||
<B> Next:</B> <A NAME="tex2html813"
|
||||
HREF="node47.html">get_vect Get</A>
|
||||
<B> Up:</B> <A NAME="tex2html809"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html803"
|
||||
HREF="node45.html">sizeof Get</A>
|
||||
<B> <A NAME="tex2html811"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H3><A NAME="SECTION00043500000000000000">
|
||||
clone -- Clone current object</A>
|
||||
<H3><A NAME="SECTION00043400000000000000">
|
||||
set -- Set contents of the vector</A>
|
||||
</H3>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call x%clone(y,info)
|
||||
call v%set(alpha[,first,last])
|
||||
call v%set(vect[,first,last])
|
||||
call v%zero()
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
@@ -66,24 +70,64 @@ 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>
|
||||
<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>y</STRONG></DT>
|
||||
<DD>A copy of the input object.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Return code.
|
||||
</DD>
|
||||
<DT><STRONG>v</STRONG></DT>
|
||||
<DD>the dense vector, with updated entries
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR></DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Preconditioner data structure</TITLE>
|
||||
<META NAME="description" CONTENT="Preconditioner data structure">
|
||||
<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">
|
||||
@@ -19,71 +19,72 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node48.html">
|
||||
<LINK REL="previous" HREF="node41.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="previous" HREF="node46.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="next" HREF="node48.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html816"
|
||||
<A NAME="tex2html824"
|
||||
HREF="node48.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html812"
|
||||
HREF="node9.html">
|
||||
<A NAME="tex2html820"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html806"
|
||||
<A NAME="tex2html814"
|
||||
HREF="node46.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html814"
|
||||
<A NAME="tex2html822"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html817"
|
||||
HREF="node48.html">Heap data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html813"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html807"
|
||||
HREF="node46.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html815"
|
||||
<B> Next:</B> <A NAME="tex2html825"
|
||||
HREF="node48.html">clone Clone</A>
|
||||
<B> Up:</B> <A NAME="tex2html821"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html815"
|
||||
HREF="node46.html">set Set</A>
|
||||
<B> <A NAME="tex2html823"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--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="SECTION00043500000000000000">
|
||||
get_vect -- Get a copy of the vector contents</A>
|
||||
</H3>
|
||||
|
||||
<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.
|
||||
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:prectype"></A><A NAME="886"></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>
|
||||
extv = v%get_vect()
|
||||
</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>An allocatable array holding a copy of the dense
|
||||
vector contents.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Heap data structure</TITLE>
|
||||
<META NAME="description" CONTENT="Heap 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">
|
||||
@@ -19,79 +19,72 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="previous" HREF="node47.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="up" HREF="node42.html">
|
||||
<LINK REL="next" HREF="node49.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html826"
|
||||
<A NAME="tex2html834"
|
||||
HREF="node49.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html822"
|
||||
HREF="node9.html">
|
||||
<A NAME="tex2html830"
|
||||
HREF="node42.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html818"
|
||||
<A NAME="tex2html826"
|
||||
HREF="node47.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html824"
|
||||
<A NAME="tex2html832"
|
||||
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="node49.html">Computational routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html823"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html819"
|
||||
HREF="node47.html">Preconditioner data structure</A>
|
||||
<B> <A NAME="tex2html825"
|
||||
<B> Next:</B> <A NAME="tex2html835"
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html831"
|
||||
HREF="node42.html">Dense Vector Data Structure</A>
|
||||
<B> Previous:</B> <A NAME="tex2html827"
|
||||
HREF="node47.html">get_vect Get</A>
|
||||
<B> <A NAME="tex2html833"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00045000000000000000">
|
||||
Heap data structure</A>
|
||||
</H2>
|
||||
<H3><A NAME="SECTION00043600000000000000">
|
||||
clone -- Clone current object</A>
|
||||
</H3>
|
||||
|
||||
<PRE>
|
||||
call x%clone(y,info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
Among the tools routines of sec. <A HREF="node68.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;
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
<DD>Asynchronous.
|
||||
</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.
|
||||
<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>
|
||||
|
||||
<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>
|
||||
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.
|
||||
|
||||
<P>
|
||||
<BR><HR>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>Computational routines</TITLE>
|
||||
<META NAME="description" CONTENT="Computational routines">
|
||||
<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">
|
||||
@@ -18,78 +18,74 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node63.html">
|
||||
<LINK REL="previous" HREF="node9.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node50.html">
|
||||
<LINK REL="previous" HREF="node42.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node50.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html838"
|
||||
<A NAME="tex2html846"
|
||||
HREF="node50.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html834"
|
||||
HREF="userhtml.html">
|
||||
<A NAME="tex2html842"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html828"
|
||||
<A NAME="tex2html836"
|
||||
HREF="node48.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html836"
|
||||
<A NAME="tex2html844"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html839"
|
||||
HREF="node50.html">psb_geaxpby General</A>
|
||||
<B> Up:</B> <A NAME="tex2html835"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html829"
|
||||
HREF="node48.html">Heap data structure</A>
|
||||
<B> <A NAME="tex2html837"
|
||||
<B> Next:</B> <A NAME="tex2html847"
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html843"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html837"
|
||||
HREF="node48.html">clone Clone</A>
|
||||
<B> <A NAME="tex2html845"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H1><A NAME="SECTION00050000000000000000">
|
||||
Computational routines</A>
|
||||
</H1>
|
||||
<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>
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
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.
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html840"
|
||||
HREF="node50.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
<LI><A NAME="tex2html841"
|
||||
HREF="node51.html">psb_gedot -- Dot Product</A>
|
||||
<LI><A NAME="tex2html842"
|
||||
HREF="node52.html">psb_gedots -- Generalized Dot Product</A>
|
||||
<LI><A NAME="tex2html843"
|
||||
HREF="node53.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html844"
|
||||
HREF="node54.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<LI><A NAME="tex2html845"
|
||||
HREF="node55.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html846"
|
||||
HREF="node56.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html847"
|
||||
HREF="node57.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html848"
|
||||
HREF="node58.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html849"
|
||||
HREF="node59.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html850"
|
||||
HREF="node60.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html851"
|
||||
HREF="node61.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<LI><A NAME="tex2html852"
|
||||
HREF="node62.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<DIV ALIGN="CENTER"><A NAME="fig:prectype"></A><A NAME="920"></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>
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html248"
|
||||
<A NAME="tex2html250"
|
||||
HREF="node6.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html244"
|
||||
<A NAME="tex2html246"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html238"
|
||||
<A NAME="tex2html240"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html246"
|
||||
<A NAME="tex2html248"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html249"
|
||||
<B> Next:</B> <A NAME="tex2html251"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html245"
|
||||
<B> Up:</B> <A NAME="tex2html247"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html239"
|
||||
<B> Previous:</B> <A NAME="tex2html241"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> <A NAME="tex2html247"
|
||||
<B> <A NAME="tex2html249"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -128,7 +128,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="node68.html#sec:toolsrout">6</A>) on
|
||||
<code>psb_cdins</code> perform the same action (see <A HREF="node70.html#sec:toolsrout">6</A>) on
|
||||
dense matrices, sparse matrices and communication descriptors
|
||||
respectively.
|
||||
Interface overloading allows the usage of the same subroutine
|
||||
@@ -169,26 +169,26 @@ whose current value is <code>3.4.0</code>
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html248"
|
||||
<A NAME="tex2html250"
|
||||
HREF="node6.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html244"
|
||||
<A NAME="tex2html246"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html238"
|
||||
<A NAME="tex2html240"
|
||||
HREF="node4.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html246"
|
||||
<A NAME="tex2html248"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html249"
|
||||
<B> Next:</B> <A NAME="tex2html251"
|
||||
HREF="node6.html">Application structure</A>
|
||||
<B> Up:</B> <A NAME="tex2html245"
|
||||
<B> Up:</B> <A NAME="tex2html247"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html239"
|
||||
<B> Previous:</B> <A NAME="tex2html241"
|
||||
HREF="node4.html">Basic Nomenclature</A>
|
||||
<B> <A NAME="tex2html247"
|
||||
<B> <A NAME="tex2html249"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_geaxpby -- General Dense Matrix Sum</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geaxpby -- General Dense Matrix Sum">
|
||||
<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">
|
||||
@@ -18,261 +18,83 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node51.html">
|
||||
<LINK REL="previous" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node9.html">
|
||||
<LINK REL="next" HREF="node51.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html863"
|
||||
<A NAME="tex2html856"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html859"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html852"
|
||||
HREF="node9.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html853"
|
||||
<A NAME="tex2html848"
|
||||
HREF="node49.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html861"
|
||||
<A NAME="tex2html854"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html864"
|
||||
HREF="node51.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html860"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html854"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html862"
|
||||
<B> Next:</B> <A NAME="tex2html857"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Up:</B> <A NAME="tex2html853"
|
||||
HREF="node9.html">Data Structures and Classes</A>
|
||||
<B> Previous:</B> <A NAME="tex2html849"
|
||||
HREF="node49.html">Preconditioner data structure</A>
|
||||
<B> <A NAME="tex2html855"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00051000000000000000">
|
||||
psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
<H2><A NAME="SECTION00045000000000000000">
|
||||
Heap data structure</A>
|
||||
</H2>
|
||||
|
||||
<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}
|
||||
-->
|
||||
|
||||
<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="1861"></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>
|
||||
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>Type:</STRONG></DT>
|
||||
<DD>Synchronous.
|
||||
<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><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>
|
||||
<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>
|
||||
|
||||
<P>
|
||||
Given a heap object, the following methods are defined on it:
|
||||
<DL>
|
||||
<DT><STRONG><B>On Return</B></STRONG></DT>
|
||||
<DD>
|
||||
<DT><STRONG>init</STRONG></DT>
|
||||
<DD>Initialize memory; also choose ascending or descending
|
||||
order;
|
||||
</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>.
|
||||
<DT><STRONG>howmany</STRONG></DT>
|
||||
<DD>Current heap occupancy;
|
||||
</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.
|
||||
<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.
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--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="tex2html859"
|
||||
HREF="node49.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html853"
|
||||
HREF="node49.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<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="tex2html864"
|
||||
HREF="node51.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html860"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html854"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html862"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_gedot -- Dot Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_gedot -- Dot Product">
|
||||
<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">
|
||||
@@ -18,260 +18,79 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="STYLESHEET" HREF="userhtml.css">
|
||||
|
||||
<LINK REL="next" HREF="node52.html">
|
||||
<LINK REL="previous" HREF="node50.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="next" HREF="node65.html">
|
||||
<LINK REL="previous" HREF="node9.html">
|
||||
<LINK REL="up" HREF="userhtml.html">
|
||||
<LINK REL="next" HREF="node52.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html875"
|
||||
<A NAME="tex2html868"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html871"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html864"
|
||||
HREF="userhtml.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html865"
|
||||
<A NAME="tex2html858"
|
||||
HREF="node50.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html873"
|
||||
<A NAME="tex2html866"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html876"
|
||||
HREF="node52.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html872"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html866"
|
||||
HREF="node50.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html874"
|
||||
<B> Next:</B> <A NAME="tex2html869"
|
||||
HREF="node52.html">psb_geaxpby General</A>
|
||||
<B> Up:</B> <A NAME="tex2html865"
|
||||
HREF="userhtml.html">userhtml</A>
|
||||
<B> Previous:</B> <A NAME="tex2html859"
|
||||
HREF="node50.html">Heap data structure</A>
|
||||
<B> <A NAME="tex2html867"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00052000000000000000">
|
||||
psb_gedot -- Dot Product</A>
|
||||
</H2>
|
||||
<H1><A NAME="SECTION00050000000000000000">
|
||||
Computational routines</A>
|
||||
</H1>
|
||||
|
||||
<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:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
dot \leftarrow x^T y
|
||||
\end{displaymath}
|
||||
-->
|
||||
<BR><HR>
|
||||
<!--Table of Child-Links-->
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<IMG
|
||||
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>
|
||||
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}
|
||||
-->
|
||||
|
||||
<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)
|
||||
</PRE>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1862"></A>
|
||||
<TABLE>
|
||||
<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="25" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img26.png"
|
||||
ALT="$dot$">, <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$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</B></TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</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>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:f90dot">2</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>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>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
|
||||
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>
|
||||
<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
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
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.
|
||||
<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="tex2html875"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html871"
|
||||
HREF="node49.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html865"
|
||||
HREF="node50.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html873"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html876"
|
||||
HREF="node52.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html872"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html866"
|
||||
HREF="node50.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html874"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
<UL>
|
||||
<LI><A NAME="tex2html870"
|
||||
HREF="node52.html">psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
<LI><A NAME="tex2html871"
|
||||
HREF="node53.html">psb_gedot -- Dot Product</A>
|
||||
<LI><A NAME="tex2html872"
|
||||
HREF="node54.html">psb_gedots -- Generalized Dot Product</A>
|
||||
<LI><A NAME="tex2html873"
|
||||
HREF="node55.html">psb_normi -- Infinity-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html874"
|
||||
HREF="node56.html">psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<LI><A NAME="tex2html875"
|
||||
HREF="node57.html">psb_norm1 -- 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html876"
|
||||
HREF="node58.html">psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html877"
|
||||
HREF="node59.html">psb_norm2 -- 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html878"
|
||||
HREF="node60.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<LI><A NAME="tex2html879"
|
||||
HREF="node61.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html880"
|
||||
HREF="node62.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<LI><A NAME="tex2html881"
|
||||
HREF="node63.html">psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<LI><A NAME="tex2html882"
|
||||
HREF="node64.html">psb_spsm -- Triangular System Solve</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<BR><HR>
|
||||
|
||||
</BODY>
|
||||
</HTML>
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_gedots -- Generalized Dot Product</TITLE>
|
||||
<META NAME="description" CONTENT="psb_gedots -- Generalized 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">
|
||||
@@ -20,117 +20,98 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node53.html">
|
||||
<LINK REL="previous" HREF="node51.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node53.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html887"
|
||||
<A NAME="tex2html893"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html883"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html889"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html877"
|
||||
<A NAME="tex2html883"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html885"
|
||||
<A NAME="tex2html891"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html888"
|
||||
HREF="node53.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html884"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html878"
|
||||
HREF="node51.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html886"
|
||||
<B> Next:</B> <A NAME="tex2html894"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html890"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html884"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html892"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00053000000000000000">
|
||||
psb_gedots -- Generalized Dot Product</A>
|
||||
<H2><A NAME="SECTION00051000000000000000">
|
||||
psb_geaxpby -- General Dense Matrix Sum</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of dot products among the columns of
|
||||
two dense matrices <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$">:
|
||||
This subroutine is an interface to the computational kernel for
|
||||
dense matrix sum:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow x(:,i)^T y(:,i)
|
||||
y \leftarrow \alpha\> x+ \beta 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="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>
|
||||
If the matrices are complex, then the
|
||||
usual convention applies, i.e. the conjugate transpose of <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
|
||||
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.
|
||||
|
||||
<P></P>
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_gedots(res, 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="1863"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1943"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 3:</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="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$">, <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$"></TD>
|
||||
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_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
<TD ALIGN="LEFT">psb_geaxpby</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -147,12 +128,27 @@ Data types</CAPTION>
|
||||
<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$">.
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -160,9 +156,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>
|
||||
containing numbers of type specified in
|
||||
Table <A HREF="#tab:f90mdot">3</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 <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> must be the same of <IMG
|
||||
@@ -170,8 +166,22 @@ Table <A HREF="#tab:f90mdot">3</A>. The rank of <IMG
|
||||
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 global dense matrix
|
||||
<DD>the local portion of the global dense matrix
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
@@ -181,11 +191,10 @@ 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:f90mdot">3</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 <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"> must be the same of <IMG
|
||||
@@ -203,25 +212,29 @@ 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>res</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 <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Specified as: a number or a rank-one array of the data type indicated
|
||||
in Table <A HREF="#tab:f90dot">2</A>.
|
||||
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.
|
||||
@@ -239,26 +252,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html887"
|
||||
<A NAME="tex2html893"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html883"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html889"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html877"
|
||||
<A NAME="tex2html883"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html885"
|
||||
<A NAME="tex2html891"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html888"
|
||||
HREF="node53.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html884"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html878"
|
||||
HREF="node51.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html886"
|
||||
<B> Next:</B> <A NAME="tex2html894"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> Up:</B> <A NAME="tex2html890"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html884"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> <A NAME="tex2html892"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_normi -- Infinity-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_normi -- Infinity-Norm of Vector">
|
||||
<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">
|
||||
@@ -20,126 +20,131 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node54.html">
|
||||
<LINK REL="previous" HREF="node52.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node54.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html899"
|
||||
<A NAME="tex2html905"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html895"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html901"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html889"
|
||||
<A NAME="tex2html895"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html897"
|
||||
<A NAME="tex2html903"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html900"
|
||||
HREF="node54.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html896"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html890"
|
||||
HREF="node52.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html898"
|
||||
<B> Next:</B> <A NAME="tex2html906"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html902"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html896"
|
||||
HREF="node52.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html904"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00054000000000000000">
|
||||
psb_normi -- Infinity-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00052000000000000000">
|
||||
psb_gedot -- Dot Product</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes
|
||||
the infinity-norm of a vector <IMG
|
||||
This function computes dot product between two vectors <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
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$"> is a real vector
|
||||
it computes infinity norm as:
|
||||
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:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
amax \leftarrow \max_i |x_i|
|
||||
dot \leftarrow x^T y
|
||||
\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="74" HEIGHT="27" BORDER="0"
|
||||
SRC="img24.png"
|
||||
ALT="\begin{displaymath}dot \leftarrow x^T y\end{displaymath}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
else if <IMG
|
||||
Else if <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:
|
||||
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}
|
||||
amax \leftarrow \max_i {(|re(x_i)| + |im(x_i)|)}
|
||||
dot \leftarrow x^H y
|
||||
\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}">
|
||||
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_geamax(x, desc_a, info)
|
||||
psb_normi(x, desc_a, info)
|
||||
psb_gedot(x, y, desc_a, info)
|
||||
</PRE>
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1864"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1944"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 4:</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="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img31.png"
|
||||
ALT="$amax$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
WIDTH="25" HEIGHT="15" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img26.png"
|
||||
ALT="$dot$">, <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
ALT="$x$">, <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></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_geamax</TD>
|
||||
<TD ALIGN="LEFT">psb_gedot</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_gedot</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_gedot</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_gedot</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -161,7 +166,7 @@ Data types</CAPTION>
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -169,9 +174,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:f90dot">2</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>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>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
|
||||
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.
|
||||
@@ -189,14 +223,17 @@ 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 subvector <IMG
|
||||
<DD>is the dot product of subvectors <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"> and <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
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.
|
||||
@@ -213,26 +250,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html899"
|
||||
<A NAME="tex2html905"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html895"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html901"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html889"
|
||||
<A NAME="tex2html895"
|
||||
HREF="node52.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html897"
|
||||
<A NAME="tex2html903"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html900"
|
||||
HREF="node54.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html896"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html890"
|
||||
HREF="node52.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html898"
|
||||
<B> Next:</B> <A NAME="tex2html906"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html902"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html896"
|
||||
HREF="node52.html">psb_geaxpby General</A>
|
||||
<B> <A NAME="tex2html904"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_geamaxs -- Generalized Infinity Norm</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geamaxs -- Generalized Infinity Norm">
|
||||
<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">
|
||||
@@ -20,73 +20,90 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node55.html">
|
||||
<LINK REL="previous" HREF="node53.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node55.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html911"
|
||||
<A NAME="tex2html917"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html907"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html913"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html901"
|
||||
<A NAME="tex2html907"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html909"
|
||||
<A NAME="tex2html915"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html912"
|
||||
HREF="node55.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html908"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html902"
|
||||
HREF="node53.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html910"
|
||||
<B> Next:</B> <A NAME="tex2html918"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html914"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html908"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html916"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00055000000000000000">
|
||||
psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
<H2><A NAME="SECTION00053000000000000000">
|
||||
psb_gedots -- Generalized Dot Product</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of infinity norms on the columns of
|
||||
a dense matrix <IMG
|
||||
This subroutine computes a series of dot products among the columns of
|
||||
two dense matrices <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">:
|
||||
ALT="$x$"> and <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \max_k |x(k,i)|
|
||||
res(i) \leftarrow x(:,i)^T y(:,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="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>
|
||||
If the matrices are complex, then the
|
||||
usual convention applies, i.e. the conjugate transpose of <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
|
||||
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.
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_geamaxs(res, x, desc_a, info)
|
||||
call psb_gedots(res, x, y, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1865"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1945"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 5:</STRONG>
|
||||
<CAPTION><STRONG>Table 3:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
@@ -94,28 +111,26 @@ Data types</CAPTION>
|
||||
<TR><TD ALIGN="LEFT"><IMG
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
ALT="$res$">, <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
ALT="$x$">, <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$"></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_geamaxs</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_geamaxs</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_geamaxs</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_geamaxs</TD>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_gedots</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -145,9 +160,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:f90mamax">5</A>.
|
||||
Table <A HREF="#tab:f90mdot">3</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>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>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
|
||||
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.
|
||||
@@ -164,16 +208,20 @@ Specified as: an object of type descdata<TT>psb_desc_type</TT>.
|
||||
<DD>
|
||||
</DD>
|
||||
<DT><STRONG>res</STRONG></DT>
|
||||
<DD>is the infinity norm of the columns of <IMG
|
||||
<DD>is the dot product of subvectors <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$"> and <IMG
|
||||
WIDTH="13" HEIGHT="30" ALIGN="MIDDLE" BORDER="0"
|
||||
SRC="img21.png"
|
||||
ALT="$y$">.
|
||||
<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 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.
|
||||
@@ -191,26 +239,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html911"
|
||||
<A NAME="tex2html917"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html907"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html913"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html901"
|
||||
<A NAME="tex2html907"
|
||||
HREF="node53.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html909"
|
||||
<A NAME="tex2html915"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html912"
|
||||
HREF="node55.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html908"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html902"
|
||||
HREF="node53.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html910"
|
||||
<B> Next:</B> <A NAME="tex2html918"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html914"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html908"
|
||||
HREF="node53.html">psb_gedot Dot</A>
|
||||
<B> <A NAME="tex2html916"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_norm1 -- 1-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm1 -- 1-Norm of Vector">
|
||||
<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">
|
||||
@@ -20,43 +20,44 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node56.html">
|
||||
<LINK REL="previous" HREF="node54.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node56.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html923"
|
||||
<A NAME="tex2html929"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html919"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html925"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html913"
|
||||
<A NAME="tex2html919"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html921"
|
||||
<A NAME="tex2html927"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html924"
|
||||
HREF="node56.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html920"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html914"
|
||||
HREF="node54.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html922"
|
||||
<B> Next:</B> <A NAME="tex2html930"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html926"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html920"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html928"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00056000000000000000">
|
||||
psb_norm1 -- 1-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00054000000000000000">
|
||||
psb_normi -- Infinity-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes the 1-norm of a vector <IMG
|
||||
This function computes
|
||||
the infinity-norm of a vector <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
@@ -64,62 +65,60 @@ This function computes the 1-norm of a vector <IMG
|
||||
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$"> is a real vector
|
||||
it computes infinity norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
asum \leftarrow \|x_i\|
|
||||
amax \leftarrow \max_i |x_i|
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="92" HEIGHT="28" BORDER="0"
|
||||
SRC="img33.png"
|
||||
ALT="\begin{displaymath}asum \leftarrow \Vert x_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 <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$"> is a complex vector then it computes the infinity-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
asum \leftarrow \|re(x)\|_1 + \|im(x)\|_1
|
||||
amax \leftarrow \max_i {(|re(x_i)| + |im(x_i)|)}
|
||||
\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="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_geasum(x, desc_a, info)
|
||||
psb_norm1(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="1866"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1946"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 6:</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="43" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img35.png"
|
||||
ALT="$asum$"></TD>
|
||||
WIDTH="44" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img31.png"
|
||||
ALT="$amax$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
@@ -128,19 +127,19 @@ Data types</CAPTION>
|
||||
</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_geamax</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_geamax</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_geamax</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_geamax</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -170,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:f90asum">6</A>.
|
||||
Table <A HREF="#tab:f90amax">4</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -184,21 +183,20 @@ 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
|
||||
<DD>is the infinity norm of subvector <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>global</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.
|
||||
@@ -212,30 +210,29 @@ Intent: <B>out</B>.
|
||||
An integer value; 0 means no error has been detected.
|
||||
</DD>
|
||||
</DL>
|
||||
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html923"
|
||||
<A NAME="tex2html929"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html919"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html925"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html913"
|
||||
<A NAME="tex2html919"
|
||||
HREF="node54.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html921"
|
||||
<A NAME="tex2html927"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html924"
|
||||
HREF="node56.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html920"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html914"
|
||||
HREF="node54.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html922"
|
||||
<B> Next:</B> <A NAME="tex2html930"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html926"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html920"
|
||||
HREF="node54.html">psb_gedots Generalized</A>
|
||||
<B> <A NAME="tex2html928"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_geasums -- Generalized 1-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_geasums -- Generalized 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">
|
||||
@@ -20,43 +20,43 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node57.html">
|
||||
<LINK REL="previous" HREF="node55.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node57.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html935"
|
||||
<A NAME="tex2html941"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html931"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html937"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html925"
|
||||
<A NAME="tex2html931"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html933"
|
||||
<A NAME="tex2html939"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html936"
|
||||
HREF="node57.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html932"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html926"
|
||||
HREF="node55.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html934"
|
||||
<B> Next:</B> <A NAME="tex2html942"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html938"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html932"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html940"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00057000000000000000">
|
||||
psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00055000000000000000">
|
||||
psb_geamaxs -- Generalized Infinity Norm</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of 1-norms on the columns of
|
||||
This subroutine computes a series of infinity norms on the columns of
|
||||
a dense matrix <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
@@ -76,61 +76,17 @@ res(i) \leftarrow \max_k |x(k,i)|
|
||||
</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$">.
|
||||
<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:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \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}">
|
||||
</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}
|
||||
res(i) \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}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_geasums(res, x, desc_a, info)
|
||||
call psb_geamaxs(res, x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1867"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1947"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 7:</STRONG>
|
||||
<CAPTION><STRONG>Table 5:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
@@ -147,19 +103,19 @@ Data types</CAPTION>
|
||||
</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_geamaxs</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_geamaxs</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_geamaxs</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_geamaxs</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -191,7 +147,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:f90mamax">5</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -203,14 +159,12 @@ 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>contains the 1-norm of (the columns of) <IMG
|
||||
<DD>is the infinity norm of the columns of <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
@@ -219,8 +173,7 @@ Scope: <B>global</B>
|
||||
<BR>
|
||||
Intent: <B>out</B>.
|
||||
<BR>
|
||||
Short as: a long precision real number.
|
||||
Specified as: a long precision real number.
|
||||
Specified as: a number or a rank-one array of long precision real numbers.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
<DD>Error code.
|
||||
@@ -238,26 +191,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html935"
|
||||
<A NAME="tex2html941"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html931"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html937"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html925"
|
||||
<A NAME="tex2html931"
|
||||
HREF="node55.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html933"
|
||||
<A NAME="tex2html939"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html936"
|
||||
HREF="node57.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html932"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html926"
|
||||
HREF="node55.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html934"
|
||||
<B> Next:</B> <A NAME="tex2html942"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html938"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html932"
|
||||
HREF="node55.html">psb_normi Infinity-Norm</A>
|
||||
<B> <A NAME="tex2html940"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_norm2 -- 2-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm2 -- 2-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">
|
||||
@@ -20,43 +20,43 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node58.html">
|
||||
<LINK REL="previous" HREF="node56.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node58.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html947"
|
||||
<A NAME="tex2html953"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html943"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html949"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html937"
|
||||
<A NAME="tex2html943"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html945"
|
||||
<A NAME="tex2html951"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html948"
|
||||
HREF="node58.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html944"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html938"
|
||||
HREF="node56.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html946"
|
||||
<B> Next:</B> <A NAME="tex2html954"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html950"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html944"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html952"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00058000000000000000">
|
||||
psb_norm2 -- 2-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00056000000000000000">
|
||||
psb_norm1 -- 1-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes the 2-norm of a vector <IMG
|
||||
This function computes the 1-norm of a vector <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
@@ -64,55 +64,62 @@ This function computes the 2-norm of a vector <IMG
|
||||
If <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$"> is a real vector
|
||||
it computes 1-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrm2 \leftarrow \sqrt{x^T x}
|
||||
asum \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="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 2-norm as:
|
||||
ALT="$x$"> is a complex vector then it computes 1-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrm2 \leftarrow \sqrt{x^H x}
|
||||
asum \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="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>
|
||||
psb_geasum(x, desc_a, info)
|
||||
psb_norm1(x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1868"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1948"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 8:</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="43" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img40.png"
|
||||
ALT="$nrm2$"></TD>
|
||||
SRC="img35.png"
|
||||
ALT="$asum$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
@@ -121,19 +128,19 @@ Data types</CAPTION>
|
||||
</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_geasum</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_geasum</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_geasum</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_geasum</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -142,11 +149,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>
|
||||
@@ -160,7 +162,7 @@ psb_norm2(x, desc_a, info)
|
||||
<IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>local</B>
|
||||
<BR>
|
||||
@@ -168,9 +170,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:f90asum">6</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -182,22 +184,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 2-norm of subvector <IMG
|
||||
<DT><STRONG>Function value</STRONG></DT>
|
||||
<DD>is the 1-norm of vector <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
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.
|
||||
@@ -215,26 +216,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html947"
|
||||
<A NAME="tex2html953"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html943"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html949"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html937"
|
||||
<A NAME="tex2html943"
|
||||
HREF="node56.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html945"
|
||||
<A NAME="tex2html951"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html948"
|
||||
HREF="node58.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html944"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html938"
|
||||
HREF="node56.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html946"
|
||||
<B> Next:</B> <A NAME="tex2html954"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html950"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html944"
|
||||
HREF="node56.html">psb_geamaxs Generalized</A>
|
||||
<B> <A NAME="tex2html952"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_genrm2s -- Generalized 2-Norm of Vector</TITLE>
|
||||
<META NAME="description" CONTENT="psb_genrm2s -- Generalized 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">
|
||||
@@ -20,43 +20,43 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node59.html">
|
||||
<LINK REL="previous" HREF="node57.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node59.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html959"
|
||||
<A NAME="tex2html965"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html955"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html961"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html949"
|
||||
<A NAME="tex2html955"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html957"
|
||||
<A NAME="tex2html963"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html960"
|
||||
HREF="node59.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html956"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html950"
|
||||
HREF="node57.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html958"
|
||||
<B> Next:</B> <A NAME="tex2html966"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html962"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html956"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html964"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION00059000000000000000">
|
||||
psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
<H2><A NAME="SECTION00057000000000000000">
|
||||
psb_geasums -- Generalized 1-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes a series of 2-norms on the columns of
|
||||
This subroutine computes a series of 1-norms on the columns of
|
||||
a dense matrix <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
@@ -65,28 +65,72 @@ a dense matrix <IMG
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \leftarrow \|x(:,i)\|_2
|
||||
res(i) \leftarrow \max_k |x(k,i)|
|
||||
\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="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$">.
|
||||
<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:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
res(i) \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}">
|
||||
</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}
|
||||
res(i) \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}">
|
||||
</DIV>
|
||||
<BR CLEAR="ALL">
|
||||
<P></P>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
call psb_genrm2s(res, x, desc_a, info)
|
||||
call psb_geasums(res, x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1869"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1949"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 9:</STRONG>
|
||||
<CAPTION><STRONG>Table 7:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
@@ -103,19 +147,19 @@ Data types</CAPTION>
|
||||
</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_geasums</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_geasums</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_geasums</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_geasums</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -147,7 +191,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:f90nrm2s">9</A>.
|
||||
Table <A HREF="#tab:f90asums">7</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -175,6 +219,7 @@ 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>
|
||||
@@ -193,26 +238,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html959"
|
||||
<A NAME="tex2html965"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html955"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html961"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html949"
|
||||
<A NAME="tex2html955"
|
||||
HREF="node57.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html957"
|
||||
<A NAME="tex2html963"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html960"
|
||||
HREF="node59.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html956"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html950"
|
||||
HREF="node57.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html958"
|
||||
<B> Next:</B> <A NAME="tex2html966"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html962"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html956"
|
||||
HREF="node57.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html964"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_norm1 -- 1-Norm of Sparse Matrix</TITLE>
|
||||
<META NAME="description" CONTENT="psb_norm1 -- 1-Norm of Sparse Matrix">
|
||||
<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">
|
||||
@@ -20,102 +20,120 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node60.html">
|
||||
<LINK REL="previous" HREF="node58.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node60.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html971"
|
||||
<A NAME="tex2html977"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html967"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html973"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html961"
|
||||
<A NAME="tex2html967"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html969"
|
||||
<A NAME="tex2html975"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html972"
|
||||
HREF="node60.html">psb_normi Infinity</A>
|
||||
<B> Up:</B> <A NAME="tex2html968"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html962"
|
||||
HREF="node58.html">psb_genrm2s Generalized</A>
|
||||
<B> <A NAME="tex2html970"
|
||||
<B> Next:</B> <A NAME="tex2html978"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html974"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html968"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html976"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000510000000000000000">
|
||||
psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
<H2><A NAME="SECTION00058000000000000000">
|
||||
psb_norm2 -- 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$">:
|
||||
This function computes the 2-norm of a vector <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
<P>
|
||||
If <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a real vector
|
||||
it computes 2-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrm1 \leftarrow \|A\|_1
|
||||
nrm2 \leftarrow \sqrt{x^T x}
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="98" HEIGHT="28" BORDER="0"
|
||||
SRC="img42.png"
|
||||
ALT="\begin{displaymath}nrm1 \leftarrow \Vert A\Vert _1 \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>
|
||||
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>
|
||||
else if <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"> is a complex vector then it computes 2-norm as:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- 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>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1870"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1950"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 10:</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="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></TD>
|
||||
WIDTH="43" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img40.png"
|
||||
ALT="$nrm2$"></TD>
|
||||
<TD ALIGN="LEFT"><IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$"></TD>
|
||||
<TD ALIGN="LEFT"><B>Function</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_genrm2</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_genrm2</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_genrm2</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_genrm2</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -126,10 +144,9 @@ Data types</CAPTION>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
psb_spnrm1(A, desc_a, info)
|
||||
psb_norm1(A, desc_a, info)
|
||||
psb_genrm2(x, desc_a, info)
|
||||
psb_norm2(x, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -138,20 +155,22 @@ 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
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<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:f90nrm2">8</A>.
|
||||
</DD>
|
||||
<DT><STRONG>desc_a</STRONG></DT>
|
||||
<DD>contains data structures for communications.
|
||||
@@ -163,18 +182,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 sparse submatrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
<DT><STRONG>Function Value</STRONG></DT>
|
||||
<DD>is the 2-norm of subvector <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<BR>
|
||||
Scope: <B>global</B>
|
||||
<BR>
|
||||
Type: <B>required</B>
|
||||
<BR>
|
||||
Specified as: a long precision real number.
|
||||
</DD>
|
||||
<DT><STRONG>info</STRONG></DT>
|
||||
@@ -193,26 +215,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html971"
|
||||
<A NAME="tex2html977"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html967"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html973"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html961"
|
||||
<A NAME="tex2html967"
|
||||
HREF="node58.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html969"
|
||||
<A NAME="tex2html975"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html972"
|
||||
HREF="node60.html">psb_normi Infinity</A>
|
||||
<B> Up:</B> <A NAME="tex2html968"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html962"
|
||||
HREF="node58.html">psb_genrm2s Generalized</A>
|
||||
<B> <A NAME="tex2html970"
|
||||
<B> Next:</B> <A NAME="tex2html978"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> Up:</B> <A NAME="tex2html974"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html968"
|
||||
HREF="node58.html">psb_geasums Generalized</A>
|
||||
<B> <A NAME="tex2html976"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -26,26 +26,26 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html260"
|
||||
<A NAME="tex2html262"
|
||||
HREF="node7.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html256"
|
||||
<A NAME="tex2html258"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html250"
|
||||
<A NAME="tex2html252"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html258"
|
||||
<A NAME="tex2html260"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html261"
|
||||
<B> Next:</B> <A NAME="tex2html263"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
<B> Up:</B> <A NAME="tex2html257"
|
||||
<B> Up:</B> <A NAME="tex2html259"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html251"
|
||||
<B> Previous:</B> <A NAME="tex2html253"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> <A NAME="tex2html259"
|
||||
<B> <A NAME="tex2html261"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
@@ -249,32 +249,32 @@ from optimal.
|
||||
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
|
||||
|
||||
<UL>
|
||||
<LI><A NAME="tex2html262"
|
||||
<LI><A NAME="tex2html264"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
</UL>
|
||||
<!--End of Table of Child-Links-->
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html260"
|
||||
<A NAME="tex2html262"
|
||||
HREF="node7.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html256"
|
||||
<A NAME="tex2html258"
|
||||
HREF="node3.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html250"
|
||||
<A NAME="tex2html252"
|
||||
HREF="node5.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html258"
|
||||
<A NAME="tex2html260"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html261"
|
||||
<B> Next:</B> <A NAME="tex2html263"
|
||||
HREF="node7.html">User-defined index mappings</A>
|
||||
<B> Up:</B> <A NAME="tex2html257"
|
||||
<B> Up:</B> <A NAME="tex2html259"
|
||||
HREF="node3.html">General overview</A>
|
||||
<B> Previous:</B> <A NAME="tex2html251"
|
||||
<B> Previous:</B> <A NAME="tex2html253"
|
||||
HREF="node5.html">Library contents</A>
|
||||
<B> <A NAME="tex2html259"
|
||||
<B> <A NAME="tex2html261"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<HTML>
|
||||
<HEAD>
|
||||
<TITLE>psb_normi -- Infinity Norm of Sparse Matrix</TITLE>
|
||||
<META NAME="description" CONTENT="psb_normi -- Infinity 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">
|
||||
@@ -20,102 +20,102 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node61.html">
|
||||
<LINK REL="previous" HREF="node59.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node61.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html983"
|
||||
<A NAME="tex2html989"
|
||||
HREF="node61.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html979"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html985"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html973"
|
||||
<A NAME="tex2html979"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html981"
|
||||
<A NAME="tex2html987"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html984"
|
||||
HREF="node61.html">psb_spmm Sparse</A>
|
||||
<B> Up:</B> <A NAME="tex2html980"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html974"
|
||||
HREF="node59.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html982"
|
||||
<B> Next:</B> <A NAME="tex2html990"
|
||||
HREF="node61.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html986"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html980"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html988"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000511000000000000000">
|
||||
psb_normi -- Infinity Norm of Sparse Matrix</A>
|
||||
<H2><A NAME="SECTION00059000000000000000">
|
||||
psb_genrm2s -- Generalized 2-Norm of Vector</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This function computes the infinity-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 <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">:
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{displaymath}
|
||||
nrmi \leftarrow \|A\|_\infty
|
||||
res(i) \leftarrow \|x(:,i)\|_2
|
||||
\end{displaymath}
|
||||
-->
|
||||
|
||||
<IMG
|
||||
WIDTH="102" HEIGHT="28" BORDER="0"
|
||||
SRC="img43.png"
|
||||
ALT="\begin{displaymath}nrmi \leftarrow \Vert A\Vert _\infty \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="1871"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1951"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 11:</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>
|
||||
WIDTH="26" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img28.png"
|
||||
ALT="$res$"></TD>
|
||||
<TD ALIGN="LEFT"><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">Short Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrmi</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_spnrmi</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_spnrmi</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_spnrmi</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 +124,6 @@ Data types</CAPTION>
|
||||
</DIV><P></P>
|
||||
<BR>
|
||||
|
||||
<P>
|
||||
<PRE>
|
||||
psb_spnrmi(A, desc_a, info)
|
||||
psb_normi(A, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
<DT><STRONG>Type:</STRONG></DT>
|
||||
@@ -138,20 +132,22 @@ psb_normi(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
|
||||
<DT><STRONG>x</STRONG></DT>
|
||||
<DD>the local portion of global dense matrix
|
||||
<IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<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 +159,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 infinity-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) <IMG
|
||||
WIDTH="13" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img20.png"
|
||||
ALT="$x$">.
|
||||
<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.
|
||||
@@ -193,26 +193,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html983"
|
||||
<A NAME="tex2html989"
|
||||
HREF="node61.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html979"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html985"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html973"
|
||||
<A NAME="tex2html979"
|
||||
HREF="node59.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html981"
|
||||
<A NAME="tex2html987"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html984"
|
||||
HREF="node61.html">psb_spmm Sparse</A>
|
||||
<B> Up:</B> <A NAME="tex2html980"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html974"
|
||||
HREF="node59.html">psb_norm1 1-Norm</A>
|
||||
<B> <A NAME="tex2html982"
|
||||
<B> Next:</B> <A NAME="tex2html990"
|
||||
HREF="node61.html">psb_norm1 1-Norm</A>
|
||||
<B> Up:</B> <A NAME="tex2html986"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html980"
|
||||
HREF="node59.html">psb_norm2 2-Norm</A>
|
||||
<B> <A NAME="tex2html988"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
|
||||
<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_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">
|
||||
@@ -20,130 +20,70 @@ original version by: Nikos Drakos, CBLU, University of Leeds
|
||||
|
||||
<LINK REL="next" HREF="node62.html">
|
||||
<LINK REL="previous" HREF="node60.html">
|
||||
<LINK REL="up" HREF="node49.html">
|
||||
<LINK REL="up" HREF="node51.html">
|
||||
<LINK REL="next" HREF="node62.html">
|
||||
</HEAD>
|
||||
|
||||
<BODY >
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html995"
|
||||
<A NAME="tex2html1001"
|
||||
HREF="node62.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html991"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html997"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html985"
|
||||
<A NAME="tex2html991"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html993"
|
||||
<A NAME="tex2html999"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html996"
|
||||
HREF="node62.html">psb_spsm Triangular</A>
|
||||
<B> Up:</B> <A NAME="tex2html992"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html986"
|
||||
HREF="node60.html">psb_normi Infinity</A>
|
||||
<B> <A NAME="tex2html994"
|
||||
<B> Next:</B> <A NAME="tex2html1002"
|
||||
HREF="node62.html">psb_normi Infinity</A>
|
||||
<B> Up:</B> <A NAME="tex2html998"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html992"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> <A NAME="tex2html1000"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<BR>
|
||||
<BR>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
<H2><A NAME="SECTION000512000000000000000">
|
||||
psb_spmm -- Sparse Matrix by Dense Matrix
|
||||
Product</A>
|
||||
<H2><A NAME="SECTION000510000000000000000">
|
||||
psb_norm1 -- 1-Norm of Sparse Matrix</A>
|
||||
</H2>
|
||||
|
||||
<P>
|
||||
This subroutine computes the Sparse Matrix by Dense Matrix Product:
|
||||
|
||||
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>
|
||||
<BR>
|
||||
<DIV ALIGN="RIGHT">
|
||||
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER">
|
||||
<!-- MATH
|
||||
\begin{equation}
|
||||
y \leftarrow \alpha A x + \beta y
|
||||
\end{equation}
|
||||
\begin{displaymath}
|
||||
nrm1 \leftarrow \|A\|_1
|
||||
\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="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
|
||||
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
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$"></STRONG></DT>
|
||||
<DD>is the global sparse matrix <IMG
|
||||
<DD>represents the global matrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">
|
||||
@@ -152,9 +92,9 @@ where:
|
||||
|
||||
<P>
|
||||
<BR><P></P>
|
||||
<DIV ALIGN="CENTER"><A NAME="1872"></A>
|
||||
<DIV ALIGN="CENTER"><A NAME="1952"></A>
|
||||
<TABLE>
|
||||
<CAPTION><STRONG>Table 12:</STRONG>
|
||||
<CAPTION><STRONG>Table 10:</STRONG>
|
||||
Data types</CAPTION>
|
||||
<TR><TD>
|
||||
<DIV ALIGN="CENTER">
|
||||
@@ -162,32 +102,20 @@ Data types</CAPTION>
|
||||
<TR><TD ALIGN="LEFT"><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$"></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_spnrm1</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Real</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Short Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
</TR>
|
||||
<TR><TD ALIGN="LEFT">Long Precision Complex</TD>
|
||||
<TD ALIGN="LEFT">psb_spmm</TD>
|
||||
<TD ALIGN="LEFT">psb_spnrm1</TD>
|
||||
</TR>
|
||||
</TABLE>
|
||||
</DIV>
|
||||
@@ -198,10 +126,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_spnrm1(A, desc_a, info)
|
||||
psb_norm1(A, desc_a, info)
|
||||
</PRE>
|
||||
|
||||
<P>
|
||||
<DL>
|
||||
@@ -211,23 +138,8 @@ 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
|
||||
<DD>the local portion of the global sparse matrix
|
||||
<IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
@@ -241,66 +153,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 +164,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 1-norm of sparse submatrix <IMG
|
||||
WIDTH="16" HEIGHT="14" ALIGN="BOTTOM" BORDER="0"
|
||||
SRC="img1.png"
|
||||
ALT="$A$">.
|
||||
<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.
|
||||
@@ -396,26 +193,26 @@ An integer value; 0 means no error has been detected.
|
||||
<P>
|
||||
<HR>
|
||||
<!--Navigation Panel-->
|
||||
<A NAME="tex2html995"
|
||||
<A NAME="tex2html1001"
|
||||
HREF="node62.html">
|
||||
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
|
||||
<A NAME="tex2html991"
|
||||
HREF="node49.html">
|
||||
<A NAME="tex2html997"
|
||||
HREF="node51.html">
|
||||
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up.png"></A>
|
||||
<A NAME="tex2html985"
|
||||
<A NAME="tex2html991"
|
||||
HREF="node60.html">
|
||||
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev.png"></A>
|
||||
<A NAME="tex2html993"
|
||||
<A NAME="tex2html999"
|
||||
HREF="node1.html">
|
||||
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
|
||||
<BR>
|
||||
<B> Next:</B> <A NAME="tex2html996"
|
||||
HREF="node62.html">psb_spsm Triangular</A>
|
||||
<B> Up:</B> <A NAME="tex2html992"
|
||||
HREF="node49.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html986"
|
||||
HREF="node60.html">psb_normi Infinity</A>
|
||||
<B> <A NAME="tex2html994"
|
||||
<B> Next:</B> <A NAME="tex2html1002"
|
||||
HREF="node62.html">psb_normi Infinity</A>
|
||||
<B> Up:</B> <A NAME="tex2html998"
|
||||
HREF="node51.html">Computational routines</A>
|
||||
<B> Previous:</B> <A NAME="tex2html992"
|
||||
HREF="node60.html">psb_genrm2s Generalized</A>
|
||||
<B> <A NAME="tex2html1000"
|
||||
HREF="node1.html">Contents</A></B>
|
||||
<!--End of Navigation Panel-->
|
||||
|
||||
|
||||