<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<!--Converted with LaTeX2HTML 2008 (1.71)
original version by:  Nikos Drakos, CBLU, University of Leeds
* revised and updated by:  Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
  Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<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 v2008">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="userhtml.css">

<LINK REL="next" HREF="node1.html">
</HEAD>

<BODY >
<!--Navigation Panel-->
<A NAME="tex2html32"
  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="tex2html30"
  HREF="node1.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents" SRC="contents.png"></A>  
<BR>
<B> Next:</B> <A NAME="tex2html33"
  HREF="node1.html">Contents</A>
 &nbsp; <B>  <A NAME="tex2html31"
  HREF="node1.html">Contents</A></B> 
<BR>
<BR>
<!--End of Navigation Panel-->
<FONT SIZE="+2"><B>PSBLAS
<BR>
<BR>
User's and Reference
  Guide</B></FONT>
<BR><I><FONT SIZE="+1">A reference guide for the Parallel Sparse BLAS library</FONT></I>
<BR>
<BR>
<BR>
<BR><B>Salvatore Filippone
<BR>
Alfredo Buttari </B> 
<BR>
University of Rome ``Tor Vergata'', Italy
<BR>
<BR>
<BR>
Software version: 3.0-beta
<BR>
May 15th, 2010

         <BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"></A>

<UL>
<LI><A NAME="tex2html34"
  HREF="node1.html">Contents</A>
<LI><A NAME="tex2html35"
  HREF="node2.html">Introduction</A>
<LI><A NAME="tex2html36"
  HREF="node3.html">General overview</A>
<UL>
<LI><A NAME="tex2html37"
  HREF="node4.html">Basic Nomenclature</A>
<LI><A NAME="tex2html38"
  HREF="node5.html">Library contents</A>
<LI><A NAME="tex2html39"
  HREF="node6.html">Application structure</A>
<LI><A NAME="tex2html40"
  HREF="node7.html">Programming model</A>
</UL>
<BR>
<LI><A NAME="tex2html41"
  HREF="node8.html">Data Structures</A>
<UL>
<LI><A NAME="tex2html42"
  HREF="node9.html">Descriptor data structure</A>
<UL>
<LI><A NAME="tex2html43"
  HREF="node10.html">Named Constants</A>
</UL>
<LI><A NAME="tex2html44"
  HREF="node11.html">Sparse Matrix data structure</A>
<UL>
<LI><A NAME="tex2html45"
  HREF="node12.html">Named Constants</A>
</UL>
<LI><A NAME="tex2html46"
  HREF="node13.html">Dense Vector Data Structure</A>
<UL>
<LI><A NAME="tex2html47"
  HREF="node14.html">Named Constants</A>
</UL>
<LI><A NAME="tex2html48"
  HREF="node15.html">Preconditioner data structure</A>
<LI><A NAME="tex2html49"
  HREF="node16.html">Data structure query routines</A>
<UL>
<LI><A NAME="tex2html50"
  HREF="node17.html">get_local_rows -- Get number of local rows</A>
<LI><A NAME="tex2html51"
  HREF="node18.html">get_local_cols -- Get number of local cols</A>
<LI><A NAME="tex2html52"
  HREF="node19.html">get_global_rows -- Get number of global rows</A>
<LI><A NAME="tex2html53"
  HREF="node20.html">get_global_cols -- Get number of global cols</A>
</UL>
<LI><A NAME="tex2html54"
  HREF="node21.html">
<DIV ALIGN="LEFT">
get_context--Get communication context 
</DIV></A>
<UL>
<LI><A NAME="tex2html55"
  HREF="node22.html">psb_cd_get_large_threshold -- Get threshold for
  index mapping switch</A>
<LI><A NAME="tex2html56"
  HREF="node23.html">psb_cd_set_large_threshold -- Set threshold for
  index mapping switch</A>
<LI><A NAME="tex2html57"
  HREF="node24.html">get_nrows -- Get number of  rows in a sparse  matrix</A>
<LI><A NAME="tex2html58"
  HREF="node25.html">get_ncols -- Get number of  columns in a  sparse matrix</A>
<LI><A NAME="tex2html59"
  HREF="node26.html">get_nnzeros -- Get number of nonzero elements
  in a sparse matrix</A>
</UL>
</UL>
<BR>
<LI><A NAME="tex2html60"
  HREF="node27.html">Computational routines</A>
<UL>
<LI><A NAME="tex2html61"
  HREF="node28.html">psb_geaxpby -- General Dense Matrix Sum</A>
<LI><A NAME="tex2html62"
  HREF="node29.html">psb_gedot -- Dot Product</A>
<LI><A NAME="tex2html63"
  HREF="node30.html">psb_gedots -- Generalized Dot Product</A>
<LI><A NAME="tex2html64"
  HREF="node31.html">psb_geamax -- Infinity-Norm of Vector</A>
<LI><A NAME="tex2html65"
  HREF="node32.html">psb_geamaxs -- Generalized Infinity Norm</A>
<LI><A NAME="tex2html66"
  HREF="node33.html">psb_geasum -- 1-Norm of Vector</A>
<LI><A NAME="tex2html67"
  HREF="node34.html">psb_geasums -- Generalized 1-Norm of Vector</A>
<LI><A NAME="tex2html68"
  HREF="node35.html">psb_genrm2 -- 2-Norm of Vector</A>
<LI><A NAME="tex2html69"
  HREF="node36.html">psb_genrm2s -- Generalized 2-Norm of Vector</A>
<LI><A NAME="tex2html70"
  HREF="node37.html">psb_spnrmi -- Infinity Norm of Sparse Matrix</A>
<LI><A NAME="tex2html71"
  HREF="node38.html">psb_spmm -- Sparse Matrix by Dense Matrix Product</A>
<LI><A NAME="tex2html72"
  HREF="node39.html">psb_spsm -- Triangular System Solve</A>
</UL>
<BR>
<LI><A NAME="tex2html73"
  HREF="node40.html">Communication routines</A>
<UL>
<LI><A NAME="tex2html74"
  HREF="node41.html">psb_halo -- Halo Data Communication</A>
<LI><A NAME="tex2html75"
  HREF="node42.html">psb_ovrl -- Overlap Update</A>
<LI><A NAME="tex2html76"
  HREF="node43.html">psb_gather -- Gather Global Dense Matrix</A>
<LI><A NAME="tex2html77"
  HREF="node44.html">psb_scatter -- Scatter Global Dense Matrix</A>
</UL>
<BR>
<LI><A NAME="tex2html78"
  HREF="node45.html">Data management routines</A>
<UL>
<LI><A NAME="tex2html79"
  HREF="node46.html">psb_cdall -- Allocates a communication descriptor</A>
<LI><A NAME="tex2html80"
  HREF="node47.html">psb_cdins -- Communication descriptor insert routine</A>
<LI><A NAME="tex2html81"
  HREF="node48.html">psb_cdasb -- Communication descriptor assembly routine</A>
<LI><A NAME="tex2html82"
  HREF="node49.html">psb_cdcpy -- Copies a communication descriptor</A>
<LI><A NAME="tex2html83"
  HREF="node50.html">psb_cdfree -- Frees a communication descriptor</A>
<LI><A NAME="tex2html84"
  HREF="node51.html">psb_cdbldext -- Build an extended  communication
  descriptor</A>
<LI><A NAME="tex2html85"
  HREF="node52.html">psb_spall -- Allocates a sparse matrix</A>
<LI><A NAME="tex2html86"
  HREF="node53.html">psb_spins -- Insert a cloud of elements into a sparse
  matrix</A>
<LI><A NAME="tex2html87"
  HREF="node54.html">psb_spasb -- Sparse matrix assembly routine</A>
<LI><A NAME="tex2html88"
  HREF="node55.html">psb_spfree -- Frees a sparse matrix</A>
<LI><A NAME="tex2html89"
  HREF="node56.html">psb_sprn -- Reinit sparse matrix structure for psblas
  routines.</A>
<LI><A NAME="tex2html90"
  HREF="node57.html">psb_geall -- Allocates a dense matrix</A>
<LI><A NAME="tex2html91"
  HREF="node58.html">psb_geins -- Dense matrix insertion routine</A>
<LI><A NAME="tex2html92"
  HREF="node59.html">psb_geasb -- Assembly a dense matrix</A>
<LI><A NAME="tex2html93"
  HREF="node60.html">psb_gefree -- Frees a dense matrix</A>
<LI><A NAME="tex2html94"
  HREF="node61.html">psb_gelp -- Applies a left permutation to a dense
  matrix</A>
<LI><A NAME="tex2html95"
  HREF="node62.html">psb_glob_to_loc -- Global to local indices
  convertion</A>
<LI><A NAME="tex2html96"
  HREF="node63.html">psb_loc_to_glob -- Local to global indices
  conversion</A>
<LI><A NAME="tex2html97"
  HREF="node64.html">psb_is_owned </A>
<LI><A NAME="tex2html98"
  HREF="node65.html">psb_owned_index </A>
<LI><A NAME="tex2html99"
  HREF="node66.html">psb_is_local </A>
<LI><A NAME="tex2html100"
  HREF="node67.html">psb_local_index </A>
<LI><A NAME="tex2html101"
  HREF="node68.html">psb_get_boundary -- Extract list of boundary elements</A>
<LI><A NAME="tex2html102"
  HREF="node69.html">psb_get_overlap -- Extract list of overlap elements</A>
<LI><A NAME="tex2html103"
  HREF="node70.html">psb_sp_getrow -- Extract row(s) from a sparse matrix</A>
<LI><A NAME="tex2html104"
  HREF="node71.html">psb_sizeof -- Memory occupation</A>
<LI><A NAME="tex2html105"
  HREF="node72.html">Sorting utilities</A>
</UL>
<BR>
<LI><A NAME="tex2html106"
  HREF="node73.html">Parallel environment routines</A>
<UL>
<LI><A NAME="tex2html107"
  HREF="node74.html">psb_init -- Initializes PSBLAS parallel environment</A>
<LI><A NAME="tex2html108"
  HREF="node75.html">psb_info -- Return information about  PSBLAS parallel
  environment</A>
<LI><A NAME="tex2html109"
  HREF="node76.html">psb_exit -- Exit from  PSBLAS parallel environment</A>
<LI><A NAME="tex2html110"
  HREF="node77.html">psb_get_mpicomm -- Get the MPI communicator</A>
<LI><A NAME="tex2html111"
  HREF="node78.html">psb_get_rank -- Get the MPI rank</A>
<LI><A NAME="tex2html112"
  HREF="node79.html">psb_wtime -- Wall clock timing</A>
<LI><A NAME="tex2html113"
  HREF="node80.html">psb_barrier -- Sinchronization point  parallel
  environment</A>
<LI><A NAME="tex2html114"
  HREF="node81.html">psb_abort -- Abort a computation</A>
<LI><A NAME="tex2html115"
  HREF="node82.html">psb_bcast -- Broadcast data</A>
<LI><A NAME="tex2html116"
  HREF="node83.html">psb_sum -- Global sum</A>
<LI><A NAME="tex2html117"
  HREF="node84.html">psb_max -- Global maximum</A>
<LI><A NAME="tex2html118"
  HREF="node85.html">psb_min -- Global minimum</A>
<LI><A NAME="tex2html119"
  HREF="node86.html">psb_amx -- Global maximum absolute value</A>
<LI><A NAME="tex2html120"
  HREF="node87.html">psb_amn -- Global minimum absolute value</A>
<LI><A NAME="tex2html121"
  HREF="node88.html">psb_snd -- Send data</A>
<LI><A NAME="tex2html122"
  HREF="node89.html">psb_rcv -- Receive data</A>
</UL>
<BR>
<LI><A NAME="tex2html123"
  HREF="node90.html">Error handling</A>
<UL>
<LI><A NAME="tex2html124"
  HREF="node91.html">psb_errpush -- Pushes an error code onto the error
  stack</A>
<LI><A NAME="tex2html125"
  HREF="node92.html">psb_error -- Prints the error stack content and aborts
  execution</A>
<LI><A NAME="tex2html126"
  HREF="node93.html">psb_set_errverbosity -- Sets the verbosity of error
  messages.</A>
<LI><A NAME="tex2html127"
  HREF="node94.html">psb_set_erraction -- Set the type of action to be
  taken  upon error condition.</A>
</UL>
<BR>
<LI><A NAME="tex2html128"
  HREF="node95.html">Utilities</A>
<UL>
<LI><A NAME="tex2html129"
  HREF="node96.html">hb_read -- Read a sparse matrix from a file in the
  Harwell-Boeing format</A>
<LI><A NAME="tex2html130"
  HREF="node97.html">hb_write -- Write a sparse matrix to a  file
  in the Harwell-Boeing format</A>
<LI><A NAME="tex2html131"
  HREF="node98.html">mm_mat_read -- Read a sparse matrix from a
  file in the MatrixMarket format</A>
<LI><A NAME="tex2html132"
  HREF="node99.html">mm_vet_read -- Read a dense vector from a
  file in the MatrixMarket format</A>
<LI><A NAME="tex2html133"
  HREF="node100.html">mm_mat_write -- Write a sparse matrix to a
  file in the MatrixMarket format</A>
</UL>
<BR>
<LI><A NAME="tex2html134"
  HREF="node101.html">Preconditioner routines</A>
<UL>
<LI><A NAME="tex2html135"
  HREF="node102.html">psb_precinit -- Initialize a  preconditioner</A>
<LI><A NAME="tex2html136"
  HREF="node103.html">psb_precbld -- Builds a preconditioner</A>
<LI><A NAME="tex2html137"
  HREF="node104.html">psb_precaply -- Preconditioner application routine</A>
<LI><A NAME="tex2html138"
  HREF="node105.html">psb_precdescr -- Prints a description of current
  preconditioner</A>
</UL>
<BR>
<LI><A NAME="tex2html139"
  HREF="node106.html">Iterative Methods</A>
<UL>
<LI><A NAME="tex2html140"
  HREF="node107.html">psb_krylov  -- Krylov Methods Driver
      Routine</A>
</UL>
<BR>
<LI><A NAME="tex2html141"
  HREF="node108.html">Bibliography</A>
<LI><A NAME="tex2html142"
  HREF="node109.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>

</BODY>
</HTML>