Switched to htlatex for HTML users guide.

This commit is contained in:
Salvatore Filippone
2019-12-17 19:30:27 +00:00
parent 41ef94538c
commit a5481f8a72
487 changed files with 33971 additions and 37114 deletions
+251 -404
View File
@@ -1,414 +1,261 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html >
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="generator" content="TeX4ht (http://www.tug.org/tex4ht/)">
<meta name="originator" content="TeX4ht (http://www.tug.org/tex4ht/)">
<!-- html,3 -->
<meta name="src" content="userhtml.tex">
<link rel="stylesheet" type="text/css" href="userhtml.css">
</head><body
>
<!--l. 76--><p class="noindent" ><span
class="cmbx-12x-x-144">PSBLAS</span><br
class="newline" /> <span
class="cmbx-12x-x-144">User&#8217;s and Reference Guide</span><br
class="newline" /> <span
class="cmti-12">A reference guide for the Parallel Sparse BLAS library</span><br
class="newline" /> <span
class="cmbx-10">Salvatore Filippone</span><br
class="newline" /><span
class="cmbx-10">Alfredo Buttari </span><br
class="newline" />Software version: 3.7.0<br
class="newline" />Jan 7th, 2020
<!--Converted with LaTeX2HTML 2018 (Released Feb 1, 2018) -->
<HTML>
<HEAD>
<TITLE>userhtml</TITLE>
<META NAME="description" CONTENT="userhtml">
<META NAME="keywords" CONTENT="userhtml">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2018">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<div class="tableofcontents">
<span class="likesectionToc" ><a
href="userhtmlli1.html#x2-1000" id="QQ2-2-1">Contents</a></span>
<br /> <span class="sectionToc" >1 <a
href="userhtmlse1.html#x3-20001" id="QQ2-3-2">Introduction</a></span>
<br /> <span class="sectionToc" >2 <a
href="userhtmlse2.html#x4-30002" id="QQ2-4-3">General overview</a></span>
<br /> &#x00A0;<span class="subsectionToc" >2.1 <a
href="userhtmlsu1.html#x6-40002.1" id="QQ2-6-5">Basic Nomenclature</a></span>
<br /> &#x00A0;<span class="subsectionToc" >2.2 <a
href="userhtmlsu2.html#x8-50002.2" id="QQ2-8-7">Library contents</a></span>
<br /> &#x00A0;<span class="subsectionToc" >2.3 <a
href="userhtmlsu3.html#x9-60002.3" id="QQ2-9-8">Application structure</a></span>
<br /> &#x00A0;<span class="subsectionToc" >2.4 <a
href="userhtmlsu4.html#x11-80002.4" id="QQ2-11-10">Programming model</a></span>
<br /> <span class="sectionToc" >3 <a
href="userhtmlse3.html#x12-90003" id="QQ2-12-11">Data Structures and Classes</a></span>
<br /> &#x00A0;<span class="subsectionToc" >3.1 <a
href="userhtmlsu5.html#x13-100003.1" id="QQ2-13-12">Descriptor data structure</a></span>
<br /> &#x00A0;<span class="subsectionToc" >3.2 <a
href="userhtmlsu6.html#x14-260003.2" id="QQ2-14-29">Sparse Matrix class</a></span>
<br /> &#x00A0;<span class="subsectionToc" >3.3 <a
href="userhtmlsu7.html#x15-460003.3" id="QQ2-15-50">Dense Vector Data Structure</a></span>
<br /> &#x00A0;<span class="subsectionToc" >3.4 <a
href="userhtmlsu8.html#x16-530003.4" id="QQ2-16-58">Preconditioner data structure</a></span>
<br /> &#x00A0;<span class="subsectionToc" >3.5 <a
href="userhtmlsu9.html#x17-540003.5" id="QQ2-17-60">Heap data structure</a></span>
<br /> <span class="sectionToc" >4 <a
href="userhtmlse4.html#x18-550004" id="QQ2-18-61">Computational routines</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.1 <a
href="userhtmlsu10.html#x19-560004.1" id="QQ2-19-62">psb_geaxpby &#8212; General Dense Matrix Sum</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.2 <a
href="userhtmlsu11.html#x20-570004.2" id="QQ2-20-64">psb_gedot &#8212; Dot Product</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.3 <a
href="userhtmlsu12.html#x21-580004.3" id="QQ2-21-66">psb_gedots &#8212; Generalized Dot Product</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.4 <a
href="userhtmlsu13.html#x22-590004.4" id="QQ2-22-68">psb_normi &#8212; Infinity-Norm of Vector</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.5 <a
href="userhtmlsu14.html#x23-600004.5" id="QQ2-23-70">psb_geamaxs &#8212; Generalized Infinity Norm</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.6 <a
href="userhtmlsu15.html#x24-610004.6" id="QQ2-24-72">psb_norm1 &#8212; 1-Norm of Vector</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.7 <a
href="userhtmlsu16.html#x25-620004.7" id="QQ2-25-74">psb_geasums &#8212; Generalized 1-Norm of Vector</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.8 <a
href="userhtmlsu17.html#x26-630004.8" id="QQ2-26-76">psb_norm2 &#8212; 2-Norm of Vector</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.9 <a
href="userhtmlsu18.html#x27-640004.9" id="QQ2-27-78">psb_genrm2s &#8212; Generalized 2-Norm of Vector</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.10 <a
href="userhtmlsu19.html#x28-650004.10" id="QQ2-28-80">psb_norm1 &#8212; 1-Norm of Sparse Matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.11 <a
href="userhtmlsu20.html#x29-660004.11" id="QQ2-29-82">psb_normi &#8212; Infinity Norm of Sparse Matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.12 <a
href="userhtmlsu21.html#x30-670004.12" id="QQ2-30-84">psb_spmm &#8212; Sparse Matrix by Dense Matrix Product</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.13 <a
href="userhtmlsu22.html#x31-680004.13" id="QQ2-31-86">psb_spsm &#8212; Triangular System Solve</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.14 <a
href="userhtmlsu23.html#x32-690004.14" id="QQ2-32-88">psb_gemlt &#8212; Entrywise Product</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.15 <a
href="userhtmlsu24.html#x33-700004.15" id="QQ2-33-90">psb_gediv &#8212; Entrywise Division</a></span>
<br /> &#x00A0;<span class="subsectionToc" >4.16 <a
href="userhtmlsu25.html#x34-710004.16" id="QQ2-34-92">psb_geinv &#8212; Entrywise Inversion</a></span>
<br /> <span class="sectionToc" >5 <a
href="userhtmlse5.html#x35-720005" id="QQ2-35-94">Communication routines</a></span>
<br /> &#x00A0;<span class="subsectionToc" >5.1 <a
href="userhtmlsu26.html#x36-730005.1" id="QQ2-36-95">psb_halo &#8212; Halo Data Communication</a></span>
<br /> &#x00A0;<span class="subsectionToc" >5.2 <a
href="userhtmlsu27.html#x37-740005.2" id="QQ2-37-98">psb_ovrl &#8212; Overlap Update</a></span>
<br /> &#x00A0;<span class="subsectionToc" >5.3 <a
href="userhtmlsu28.html#x38-750005.3" id="QQ2-38-101">psb_gather &#8212; Gather Global Dense Matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >5.4 <a
href="userhtmlsu29.html#x39-760005.4" id="QQ2-39-103">psb_scatter &#8212; Scatter Global Dense Matrix</a></span>
<br /> <span class="sectionToc" >6 <a
href="userhtmlse6.html#x40-770006" id="QQ2-40-105">Data management routines</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.1 <a
href="userhtmlsu30.html#x41-780006.1" id="QQ2-41-106">psb_cdall &#8212; Allocates a communication descriptor</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.2 <a
href="userhtmlsu31.html#x42-790006.2" id="QQ2-42-107">psb_cdins &#8212; Communication descriptor insert routine</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.3 <a
href="userhtmlsu32.html#x43-800006.3" id="QQ2-43-108">psb_cdasb &#8212; Communication descriptor assembly routine</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.4 <a
href="userhtmlsu33.html#x44-810006.4" id="QQ2-44-109">psb_cdcpy &#8212; Copies a communication descriptor</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.5 <a
href="userhtmlsu34.html#x45-820006.5" id="QQ2-45-110">psb_cdfree &#8212; Frees a communication descriptor</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.6 <a
href="userhtmlsu35.html#x46-830006.6" id="QQ2-46-111">psb_cdbldext &#8212; Build an extended communication descriptor</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.7 <a
href="userhtmlsu36.html#x47-840006.7" id="QQ2-47-112">psb_spall &#8212; Allocates a sparse matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.8 <a
href="userhtmlsu37.html#x48-850006.8" id="QQ2-48-113">psb_spins &#8212; Insert a set of coefficients into a sparse matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.9 <a
href="userhtmlsu38.html#x49-860006.9" id="QQ2-49-114">psb_spasb &#8212; Sparse matrix assembly routine</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.10 <a
href="userhtmlsu39.html#x50-870006.10" id="QQ2-50-115">psb_spfree &#8212; Frees a sparse matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.11 <a
href="userhtmlsu40.html#x51-880006.11" id="QQ2-51-116">psb_sprn &#8212; Reinit sparse matrix structure for psblas routines.</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.12 <a
href="userhtmlsu41.html#x52-890006.12" id="QQ2-52-117">psb_geall &#8212; Allocates a dense matrix</a></span>
<LINK REL="STYLESHEET" HREF="userhtml.css">
<br /> &#x00A0;<span class="subsectionToc" >6.13 <a
href="userhtmlsu42.html#x53-900006.13" id="QQ2-53-118">psb_geins &#8212; Dense matrix insertion routine</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.14 <a
href="userhtmlsu43.html#x54-910006.14" id="QQ2-54-119">psb_geasb &#8212; Assembly a dense matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.15 <a
href="userhtmlsu44.html#x55-920006.15" id="QQ2-55-120">psb_gefree &#8212; Frees a dense matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.16 <a
href="userhtmlsu45.html#x56-930006.16" id="QQ2-56-121">psb_gelp &#8212; Applies a left permutation to a dense matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.17 <a
href="userhtmlsu46.html#x57-940006.17" id="QQ2-57-122">psb_glob_to_loc &#8212; Global to local indices convertion</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.18 <a
href="userhtmlsu47.html#x58-950006.18" id="QQ2-58-123">psb_loc_to_glob &#8212; Local to global indices conversion</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.19 <a
href="userhtmlsu48.html#x59-960006.19" id="QQ2-59-124">psb_is_owned &#8212; </a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.20 <a
href="userhtmlsu49.html#x60-970006.20" id="QQ2-60-125">psb_owned_index &#8212; </a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.21 <a
href="userhtmlsu50.html#x61-980006.21" id="QQ2-61-126">psb_is_local &#8212; </a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.22 <a
href="userhtmlsu51.html#x62-990006.22" id="QQ2-62-127">psb_local_index &#8212; </a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.23 <a
href="userhtmlsu52.html#x63-1000006.23" id="QQ2-63-128">psb_get_boundary &#8212; Extract list of boundary elements</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.24 <a
href="userhtmlsu53.html#x64-1010006.24" id="QQ2-64-129">psb_get_overlap &#8212; Extract list of overlap elements</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.25 <a
href="userhtmlsu54.html#x65-1020006.25" id="QQ2-65-130">psb_sp_getrow &#8212; Extract row(s) from a sparse matrix</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.26 <a
href="userhtmlsu55.html#x66-1030006.26" id="QQ2-66-131">psb_sizeof &#8212; Memory occupation</a></span>
<br /> &#x00A0;<span class="subsectionToc" >6.27 <a
href="userhtmlsu56.html#x67-1040006.27" id="QQ2-67-132">Sorting utilities &#8212; </a></span>
<br /> <span class="sectionToc" >7 <a
href="userhtmlse7.html#x68-1050007" id="QQ2-68-133">Parallel environment routines</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.1 <a
href="userhtmlsu57.html#x69-1060007.1" id="QQ2-69-134">psb_init &#8212; Initializes PSBLAS parallel environment</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.2 <a
href="userhtmlsu58.html#x70-1070007.2" id="QQ2-70-135">psb_info &#8212; Return information about PSBLAS parallel environment</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.3 <a
href="userhtmlsu59.html#x71-1080007.3" id="QQ2-71-136">psb_exit &#8212; Exit from PSBLAS parallel environment</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.4 <a
href="userhtmlsu60.html#x72-1090007.4" id="QQ2-72-137">psb_get_mpi_comm &#8212; Get the MPI communicator</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.5 <a
href="userhtmlsu61.html#x73-1100007.5" id="QQ2-73-138">psb_get_mpi_rank &#8212; Get the MPI rank</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.6 <a
href="userhtmlsu62.html#x74-1110007.6" id="QQ2-74-139">psb_wtime &#8212; Wall clock timing</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.7 <a
href="userhtmlsu63.html#x75-1120007.7" id="QQ2-75-140">psb_barrier &#8212; Sinchronization point parallel environment</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.8 <a
href="userhtmlsu64.html#x76-1130007.8" id="QQ2-76-141">psb_abort &#8212; Abort a computation</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.9 <a
href="userhtmlsu65.html#x77-1140007.9" id="QQ2-77-142">psb_bcast &#8212; Broadcast data</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.10 <a
href="userhtmlsu66.html#x78-1150007.10" id="QQ2-78-143">psb_sum &#8212; Global sum</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.11 <a
href="userhtmlsu67.html#x79-1160007.11" id="QQ2-79-144">psb_max &#8212; Global maximum</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.12 <a
href="userhtmlsu68.html#x80-1170007.12" id="QQ2-80-145">psb_min &#8212; Global minimum</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.13 <a
href="userhtmlsu69.html#x81-1180007.13" id="QQ2-81-146">psb_amx &#8212; Global maximum absolute value</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.14 <a
href="userhtmlsu70.html#x82-1190007.14" id="QQ2-82-147">psb_amn &#8212; Global minimum absolute value</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.15 <a
href="userhtmlsu71.html#x83-1200007.15" id="QQ2-83-148">psb_nrm2 &#8212; Global 2-norm reduction</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.16 <a
href="userhtmlsu72.html#x84-1210007.16" id="QQ2-84-149">psb_snd &#8212; Send data</a></span>
<br /> &#x00A0;<span class="subsectionToc" >7.17 <a
href="userhtmlsu73.html#x85-1220007.17" id="QQ2-85-150">psb_rcv &#8212; Receive data</a></span>
<br /> <span class="sectionToc" >8 <a
href="userhtmlse8.html#x86-1230008" id="QQ2-86-151">Error handling</a></span>
<br /> &#x00A0;<span class="subsectionToc" >8.1 <a
href="userhtmlsu74.html#x87-1240008.1" id="QQ2-87-154">psb_errpush</a></span>
<br /> &#x00A0;<span class="subsectionToc" >8.2 <a
href="userhtmlsu75.html#x88-1250008.2" id="QQ2-88-155">psb_error</a></span>
<br /> &#x00A0;<span class="subsectionToc" >8.3 <a
href="userhtmlsu76.html#x89-1260008.3" id="QQ2-89-156">psb_set_errverbosity</a></span>
<br /> &#x00A0;<span class="subsectionToc" >8.4 <a
href="userhtmlsu77.html#x90-1270008.4" id="QQ2-90-157">psb_set_erraction</a></span>
<br /> <span class="sectionToc" >9 <a
href="userhtmlse9.html#x91-1280009" id="QQ2-91-158">Utilities</a></span>
<br /> &#x00A0;<span class="subsectionToc" >9.1 <a
href="userhtmlsu78.html#x92-1290009.1" id="QQ2-92-159"> hb_read &#8212; Read a sparse matrix from a file in the Harwell&#8211;Boeing format</a></span>
<br /> &#x00A0;<span class="subsectionToc" >9.2 <a
href="userhtmlsu79.html#x93-1300009.2" id="QQ2-93-160">hb_write &#8212; Write a sparse matrix to a file in the Harwell&#8211;Boeing format</a></span>
<br /> &#x00A0;<span class="subsectionToc" >9.3 <a
href="userhtmlsu80.html#x94-1310009.3" id="QQ2-94-161">mm_mat_read &#8212; Read a sparse matrix from a file in the MatrixMarket format</a></span>
<br /> &#x00A0;<span class="subsectionToc" >9.4 <a
href="userhtmlsu81.html#x95-1320009.4" id="QQ2-95-162">mm_array_read &#8212; Read a dense array from a file in the MatrixMarket format</a></span>
<br /> &#x00A0;<span class="subsectionToc" >9.5 <a
href="userhtmlsu82.html#x96-1330009.5" id="QQ2-96-163">mm_mat_write &#8212; Write a sparse matrix to a file in the MatrixMarket format</a></span>
<br /> &#x00A0;<span class="subsectionToc" >9.6 <a
href="userhtmlsu83.html#x97-1340009.6" id="QQ2-97-164">mm_array_write &#8212; Write a dense array from a file in the MatrixMarket format</a></span>
<br /> <span class="sectionToc" >10 <a
href="userhtmlse10.html#x98-13500010" id="QQ2-98-165">Preconditioner routines</a></span>
<br /> &#x00A0;<span class="subsectionToc" >10.1 <a
href="userhtmlsu84.html#x99-13600010.1" id="QQ2-99-166">init &#8212; Initialize a preconditioner</a></span>
<br /> &#x00A0;<span class="subsectionToc" >10.2 <a
href="userhtmlsu85.html#x101-13700010.2" id="QQ2-101-167">build &#8212; Builds a preconditioner</a></span>
<br /> &#x00A0;<span class="subsectionToc" >10.3 <a
href="userhtmlsu86.html#x102-13800010.3" id="QQ2-102-168">apply &#8212; Preconditioner application routine</a></span>
<br /> &#x00A0;<span class="subsectionToc" >10.4 <a
href="userhtmlsu87.html#x103-13900010.4" id="QQ2-103-169">descr &#8212; Prints a description of current preconditioner</a></span>
<LINK REL="next" HREF="node1.html">
</HEAD>
<br /> &#x00A0;<span class="subsectionToc" >10.5 <a
href="userhtmlsu88.html#x104-14000010.5" id="QQ2-104-170">clone &#8212; clone current preconditioner</a></span>
<br /> &#x00A0;<span class="subsectionToc" >10.6 <a
href="userhtmlsu89.html#x105-14100010.6" id="QQ2-105-171">free &#8212; Free a preconditioner</a></span>
<br /> <span class="sectionToc" >11 <a
href="userhtmlse11.html#x106-14200011" id="QQ2-106-172">Iterative Methods</a></span>
<br /> &#x00A0;<span class="subsectionToc" >11.1 <a
href="userhtmlsu90.html#x107-14300011.1" id="QQ2-107-173">psb_krylov &#8212; Krylov Methods Driver Routine</a></span>
<br /> <span class="likesectionToc" ><a
href="userhtmlli2.html#x109-14400011.1" id="QQ2-109-174">References</a></span>
</div>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html35"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next" SRC="next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up" SRC="up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous" SRC="prev_g.png">
<A NAME="tex2html33"
HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html36"
HREF="node1.html">Contents</A>
&nbsp; <B> <A NAME="tex2html34"
HREF="node1.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
language=Fortran
<P>
<BIG CLASS="XXLARGE"><B>PSBLAS
<BR>
<BR>
User's and Reference
Guide</B></BIG>
<BR><SPAN CLASS="textit"><BIG CLASS="LARGE">A reference guide for the Parallel Sparse BLAS library</BIG></SPAN>
<BR>
<BR>
<BR>
<BR><B>Salvatore Filippone
<BR>
Alfredo Buttari </B>
<BR>
Software version: 3.7.0
<BR>
Jan 7th, 2020
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html37"
HREF="node1.html">Contents</A>
<LI><A NAME="tex2html38"
HREF="node2.html">Introduction</A>
<LI><A NAME="tex2html39"
HREF="node3.html">General overview</A>
<UL>
<LI><A NAME="tex2html40"
HREF="node4.html">Basic Nomenclature</A>
<LI><A NAME="tex2html41"
HREF="node5.html">Library contents</A>
<LI><A NAME="tex2html42"
HREF="node6.html">Application structure</A>
<UL>
<LI><A NAME="tex2html43"
HREF="node7.html">User-defined index mappings</A>
</UL>
<LI><A NAME="tex2html44"
HREF="node8.html">Programming model</A>
</UL>
<BR>
<LI><A NAME="tex2html45"
HREF="node9.html">Data Structures and Classes</A>
<UL>
<LI><A NAME="tex2html46"
HREF="node10.html">Descriptor data structure</A>
<UL>
<LI><A NAME="tex2html47"
HREF="node11.html">Descriptor Methods</A>
<LI><A NAME="tex2html48"
HREF="node12.html">get_local_rows -- Get number of local rows</A>
<LI><A NAME="tex2html49"
HREF="node13.html">get_local_cols -- Get number of local cols</A>
<LI><A NAME="tex2html50"
HREF="node14.html">get_global_rows -- Get number of global rows</A>
<LI><A NAME="tex2html51"
HREF="node15.html">get_global_cols -- Get number of global cols</A>
<LI><A NAME="tex2html52"
HREF="node16.html">get_global_indices -- Get vector of global indices</A>
<LI><A NAME="tex2html53"
HREF="node17.html">get_context -- Get communication context</A>
<LI><A NAME="tex2html54"
HREF="node18.html">Clone -- clone current object</A>
<LI><A NAME="tex2html55"
HREF="node19.html">CNV -- convert internal storage format</A>
<LI><A NAME="tex2html56"
HREF="node20.html">psb_cd_get_large_threshold -- Get threshold for
index mapping switch</A>
<LI><A NAME="tex2html57"
HREF="node21.html">psb_cd_set_large_threshold -- Set threshold for
index mapping switch</A>
<LI><A NAME="tex2html58"
HREF="node22.html">get_p_adjcncy -- Get process adjacency list</A>
<LI><A NAME="tex2html59"
HREF="node23.html">set_p_adjcncy -- Set process adjacency list</A>
<LI><A NAME="tex2html60"
HREF="node24.html">fnd_owner -- Find the owner process of a set of indices</A>
<LI><A NAME="tex2html61"
HREF="node25.html">Named Constants</A>
</UL>
<LI><A NAME="tex2html62"
HREF="node26.html">Sparse Matrix class</A>
<UL>
<LI><A NAME="tex2html63"
HREF="node27.html">Sparse Matrix Methods</A>
<LI><A NAME="tex2html64"
HREF="node28.html">get_nrows -- Get number of rows in a sparse matrix</A>
<LI><A NAME="tex2html65"
HREF="node29.html">get_ncols -- Get number of columns in a sparse
matrix</A>
<LI><A NAME="tex2html66"
HREF="node30.html">get_nnzeros -- Get number of nonzero elements
in a sparse matrix</A>
<LI><A NAME="tex2html67"
HREF="node31.html">get_size -- Get maximum number of nonzero elements
in a sparse matrix</A>
<LI><A NAME="tex2html68"
HREF="node32.html">sizeof -- Get memory occupation in bytes
of a sparse matrix</A>
<LI><A NAME="tex2html69"
HREF="node33.html">get_fmt -- Short description of the dynamic type</A>
<LI><A NAME="tex2html70"
HREF="node34.html">is_bld, is_upd, is_asb -- Status check</A>
<LI><A NAME="tex2html71"
HREF="node35.html">is_lower, is_upper, is_triangle, is_unit --
Format check</A>
<LI><A NAME="tex2html72"
HREF="node36.html">cscnv -- Convert to a different storage format</A>
<LI><A NAME="tex2html73"
HREF="node37.html">csclip -- Reduce to a submatrix</A>
<LI><A NAME="tex2html74"
HREF="node38.html">clean_zeros -- Eliminate zero coefficients</A>
<LI><A NAME="tex2html75"
HREF="node39.html">get_diag -- Get main diagonal</A>
<LI><A NAME="tex2html76"
HREF="node40.html">clip_diag -- Cut out main diagonal</A>
<LI><A NAME="tex2html77"
HREF="node41.html">tril -- Return the lower triangle</A>
<LI><A NAME="tex2html78"
HREF="node42.html">triu -- Return the upper triangle</A>
<LI><A NAME="tex2html79"
HREF="node43.html">psb_set_mat_default -- Set default storage format</A>
<LI><A NAME="tex2html80"
HREF="node44.html">clone -- Clone current object</A>
<LI><A NAME="tex2html81"
HREF="node45.html">Named Constants</A>
</UL>
<LI><A NAME="tex2html82"
HREF="node46.html">Dense Vector Data Structure</A>
<UL>
<LI><A NAME="tex2html83"
HREF="node47.html">Vector Methods</A>
<LI><A NAME="tex2html84"
HREF="node48.html">get_nrows -- Get number of rows in a dense vector</A>
<LI><A NAME="tex2html85"
HREF="node49.html">sizeof -- Get memory occupation in bytes
of a dense vector</A>
<LI><A NAME="tex2html86"
HREF="node50.html">set -- Set contents of the vector</A>
<LI><A NAME="tex2html87"
HREF="node51.html">get_vect -- Get a copy of the vector contents</A>
<LI><A NAME="tex2html88"
HREF="node52.html">clone -- Clone current object</A>
</UL>
<LI><A NAME="tex2html89"
HREF="node53.html">Preconditioner data structure</A>
<LI><A NAME="tex2html90"
HREF="node54.html">Heap data structure</A>
</UL>
<BR>
<LI><A NAME="tex2html91"
HREF="node55.html">Computational routines</A>
<UL>
<LI><A NAME="tex2html92"
HREF="node56.html">psb_geaxpby -- General Dense Matrix Sum</A>
<LI><A NAME="tex2html93"
HREF="node57.html">psb_gedot -- Dot Product</A>
<LI><A NAME="tex2html94"
HREF="node58.html">psb_gedots -- Generalized Dot Product</A>
<LI><A NAME="tex2html95"
HREF="node59.html">psb_normi -- Infinity-Norm of Vector</A>
<LI><A NAME="tex2html96"
HREF="node60.html">psb_geamaxs -- Generalized Infinity Norm</A>
<LI><A NAME="tex2html97"
HREF="node61.html">psb_norm1 -- 1-Norm of Vector</A>
<LI><A NAME="tex2html98"
HREF="node62.html">psb_geasums -- Generalized 1-Norm of Vector</A>
<LI><A NAME="tex2html99"
HREF="node63.html">psb_norm2 -- 2-Norm of Vector</A>
<LI><A NAME="tex2html100"
HREF="node64.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
<LI><A NAME="tex2html101"
HREF="node65.html">psb_norm1 -- 1-Norm of Sparse Matrix</A>
<LI><A NAME="tex2html102"
HREF="node66.html">psb_normi -- Infinity Norm of Sparse Matrix</A>
<LI><A NAME="tex2html103"
HREF="node67.html">psb_spmm -- Sparse Matrix by Dense Matrix
Product</A>
<LI><A NAME="tex2html104"
HREF="node68.html">psb_spsm -- Triangular System Solve</A>
</UL>
<BR>
<LI><A NAME="tex2html105"
HREF="node69.html">Communication routines</A>
<UL>
<LI><A NAME="tex2html106"
HREF="node70.html">psb_halo -- Halo Data Communication</A>
<LI><A NAME="tex2html107"
HREF="node71.html">psb_ovrl -- Overlap Update</A>
<LI><A NAME="tex2html108"
HREF="node72.html">psb_gather -- Gather Global Dense Matrix</A>
<LI><A NAME="tex2html109"
HREF="node73.html">psb_scatter -- Scatter Global Dense Matrix</A>
</UL>
<BR>
<LI><A NAME="tex2html110"
HREF="node74.html">Data management routines</A>
<UL>
<LI><A NAME="tex2html111"
HREF="node75.html">psb_cdall -- Allocates a communication descriptor</A>
<LI><A NAME="tex2html112"
HREF="node76.html">psb_cdins -- Communication descriptor insert
routine</A>
<LI><A NAME="tex2html113"
HREF="node77.html">psb_cdasb -- Communication descriptor assembly
routine</A>
<LI><A NAME="tex2html114"
HREF="node78.html">psb_cdcpy -- Copies a communication descriptor</A>
<LI><A NAME="tex2html115"
HREF="node79.html">psb_cdfree -- Frees a communication descriptor</A>
<LI><A NAME="tex2html116"
HREF="node80.html">psb_cdbldext -- Build an extended communication
descriptor</A>
<LI><A NAME="tex2html117"
HREF="node81.html">psb_spall -- Allocates a sparse matrix</A>
<LI><A NAME="tex2html118"
HREF="node82.html">psb_spins -- Insert a set of coefficients into a sparse
matrix</A>
<LI><A NAME="tex2html119"
HREF="node83.html">psb_spasb -- Sparse matrix assembly routine</A>
<LI><A NAME="tex2html120"
HREF="node84.html">psb_spfree -- Frees a sparse matrix</A>
<LI><A NAME="tex2html121"
HREF="node85.html">psb_sprn -- Reinit sparse matrix structure for psblas
routines.</A>
<LI><A NAME="tex2html122"
HREF="node86.html">psb_geall -- Allocates a dense matrix</A>
<LI><A NAME="tex2html123"
HREF="node87.html">psb_geins -- Dense matrix insertion routine</A>
<LI><A NAME="tex2html124"
HREF="node88.html">psb_geasb -- Assembly a dense matrix</A>
<LI><A NAME="tex2html125"
HREF="node89.html">psb_gefree -- Frees a dense matrix</A>
<LI><A NAME="tex2html126"
HREF="node90.html">psb_gelp -- Applies a left permutation to a dense
matrix</A>
<LI><A NAME="tex2html127"
HREF="node91.html">psb_glob_to_loc -- Global to local indices
convertion</A>
<LI><A NAME="tex2html128"
HREF="node92.html">psb_loc_to_glob -- Local to global indices
conversion</A>
<LI><A NAME="tex2html129"
HREF="node93.html">psb_is_owned -- </A>
<LI><A NAME="tex2html130"
HREF="node94.html">psb_owned_index -- </A>
<LI><A NAME="tex2html131"
HREF="node95.html">psb_is_local -- </A>
<LI><A NAME="tex2html132"
HREF="node96.html">psb_local_index -- </A>
<LI><A NAME="tex2html133"
HREF="node97.html">psb_get_boundary -- Extract list of boundary
elements</A>
<LI><A NAME="tex2html134"
HREF="node98.html">psb_get_overlap -- Extract list of overlap
elements</A>
<LI><A NAME="tex2html135"
HREF="node99.html">psb_sp_getrow -- Extract row(s) from a sparse
matrix</A>
<LI><A NAME="tex2html136"
HREF="node100.html">psb_sizeof -- Memory occupation</A>
<LI><A NAME="tex2html137"
HREF="node101.html">Sorting utilities -- </A>
</UL>
<BR>
<LI><A NAME="tex2html138"
HREF="node102.html">Parallel environment routines</A>
<UL>
<LI><A NAME="tex2html139"
HREF="node103.html">psb_init -- Initializes PSBLAS parallel
environment</A>
<LI><A NAME="tex2html140"
HREF="node104.html">psb_info -- Return information about PSBLAS parallel
environment</A>
<LI><A NAME="tex2html141"
HREF="node105.html">psb_exit -- Exit from PSBLAS parallel
environment</A>
<LI><A NAME="tex2html142"
HREF="node106.html">psb_get_mpi_comm -- Get the MPI communicator</A>
<LI><A NAME="tex2html143"
HREF="node107.html">psb_get_mpi_rank -- Get the MPI rank</A>
<LI><A NAME="tex2html144"
HREF="node108.html">psb_wtime -- Wall clock timing</A>
<LI><A NAME="tex2html145"
HREF="node109.html">psb_barrier -- Sinchronization point parallel
environment</A>
<LI><A NAME="tex2html146"
HREF="node110.html">psb_abort -- Abort a computation</A>
<LI><A NAME="tex2html147"
HREF="node111.html">psb_bcast -- Broadcast data</A>
<LI><A NAME="tex2html148"
HREF="node112.html">psb_sum -- Global sum</A>
<LI><A NAME="tex2html149"
HREF="node113.html">psb_max -- Global maximum</A>
<LI><A NAME="tex2html150"
HREF="node114.html">psb_min -- Global minimum</A>
<LI><A NAME="tex2html151"
HREF="node115.html">psb_amx -- Global maximum absolute value</A>
<LI><A NAME="tex2html152"
HREF="node116.html">psb_amn -- Global minimum absolute value</A>
<LI><A NAME="tex2html153"
HREF="node117.html">psb_nrm2 -- Global 2-norm reduction</A>
<LI><A NAME="tex2html154"
HREF="node118.html">psb_snd -- Send data</A>
<LI><A NAME="tex2html155"
HREF="node119.html">psb_rcv -- Receive data</A>
</UL>
<BR>
<LI><A NAME="tex2html156"
HREF="node120.html">Error handling</A>
<LI><A NAME="tex2html157"
HREF="node121.html">Utilities</A>
<UL>
<LI><A NAME="tex2html158"
HREF="node122.html">hb_read -- Read a sparse matrix from a file in the
Harwell-Boeing format</A>
<LI><A NAME="tex2html159"
HREF="node123.html">hb_write -- Write a sparse matrix to a file
in the Harwell-Boeing format</A>
<LI><A NAME="tex2html160"
HREF="node124.html">mm_mat_read -- Read a sparse matrix from a
file in the MatrixMarket format</A>
<LI><A NAME="tex2html161"
HREF="node125.html">mm_array_read -- Read a dense array from a
file in the MatrixMarket format</A>
<LI><A NAME="tex2html162"
HREF="node126.html">mm_mat_write -- Write a sparse matrix to a
file in the MatrixMarket format</A>
<LI><A NAME="tex2html163"
HREF="node127.html">mm_array_write -- Write a dense array from a
file in the MatrixMarket format</A>
</UL>
<BR>
<LI><A NAME="tex2html164"
HREF="node128.html">Preconditioner routines</A>
<UL>
<LI><A NAME="tex2html165"
HREF="node129.html">init -- Initialize a preconditioner</A>
<LI><A NAME="tex2html166"
HREF="node130.html">build -- Builds a preconditioner</A>
<LI><A NAME="tex2html167"
HREF="node131.html">apply -- Preconditioner application
routine</A>
<LI><A NAME="tex2html168"
HREF="node132.html">descr -- Prints a description of current
preconditioner</A>
<LI><A NAME="tex2html169"
HREF="node133.html">clone -- clone current
preconditioner</A>
<LI><A NAME="tex2html170"
HREF="node134.html">free -- Free a preconditioner</A>
</UL>
<BR>
<LI><A NAME="tex2html171"
HREF="node135.html">Iterative Methods</A>
<UL>
<LI><A NAME="tex2html172"
HREF="node136.html">psb_krylov -- Krylov Methods Driver
Routine</A>
</UL>
<BR>
<LI><A NAME="tex2html173"
HREF="node137.html">Bibliography</A>
<LI><A NAME="tex2html174"
HREF="node138.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
</BODY>
</HTML>
</body></html>