Contents

1 Introduction
2 General overview
 2.1 Basic Nomenclature
 2.2 Library contents
 2.3 Application structure
  2.3.1 User-defined index mappings
 2.4 Programming model
3 Data Structures and Classes
 3.1 Descriptor data structure
  3.1.1 Descriptor Methods
  3.1.2 get_local_rows — Get number of local rows
  3.1.3 get_local_cols — Get number of local cols
  3.1.4 get_global_rows — Get number of global rows
  3.1.5 get_global_cols — Get number of global cols
  3.1.6 get_global_indices — Get vector of global indices
  3.1.7 get_context — Get communication context
  3.1.8 Clone — clone current object
  3.1.9 CNV — convert internal storage format
  3.1.10 psb_cd_get_large_threshold — Get threshold for index mapping switch
  3.1.11 psb_cd_set_large_threshold — Set threshold for index mapping switch
  3.1.12 get_p_adjcncy — Get process adjacency list
  3.1.13 set_p_adjcncy — Set process adjacency list
  3.1.14 fnd_owner — Find the owner process of a set of indices
  3.1.15 Named Constants
 3.2 Sparse Matrix class
  3.2.1 Sparse Matrix Methods
  3.2.2 get_nrows — Get number of rows in a sparse matrix
  3.2.3 get_ncols — Get number of columns in a sparse matrix
  3.2.4 get_nnzeros — Get number of nonzero elements in a sparse matrix
  3.2.5 get_size — Get maximum number of nonzero elements in a sparse matrix
  3.2.6 sizeof — Get memory occupation in bytes of a sparse matrix
  3.2.7 get_fmt — Short description of the dynamic type
  3.2.8 is_bld, is_upd, is_asb — Status check
  3.2.9 is_lower, is_upper, is_triangle, is_unit — Format check
  3.2.10 cscnv — Convert to a different storage format
  3.2.11 csclip — Reduce to a submatrix
  3.2.12 clean_zeros — Eliminate zero coefficients
  3.2.13 get_diag — Get main diagonal
  3.2.14 clip_diag — Cut out main diagonal
  3.2.15 tril — Return the lower triangle
  3.2.16 triu — Return the upper triangle
  3.2.17 psb_set_mat_default — Set default storage format
  3.2.18 clone — Clone current object
  3.2.19 Named Constants
 3.3 Dense Vector Data Structure
  3.3.1 Vector Methods
  3.3.2 get_nrows — Get number of rows in a dense vector
  3.3.3 sizeof — Get memory occupation in bytes of a dense vector
  3.3.4 set — Set contents of the vector
  3.3.5 get_vect — Get a copy of the vector contents
  3.3.6 clone — Clone current object
 3.4 Preconditioner data structure
 3.5 Heap data structure
4 Computational routines
 4.1 psb_geaxpby — General Dense Matrix Sum
 4.2 psb_gedot — Dot Product
 4.3 psb_gedots — Generalized Dot Product
 4.4 psb_normi — Infinity-Norm of Vector
 4.5 psb_geamaxs — Generalized Infinity Norm
 4.6 psb_norm1 — 1-Norm of Vector
 4.7 psb_geasums — Generalized 1-Norm of Vector
 4.8 psb_norm2 — 2-Norm of Vector
 4.9 psb_genrm2s — Generalized 2-Norm of Vector
 4.10 psb_norm1 — 1-Norm of Sparse Matrix
 4.11 psb_normi — Infinity Norm of Sparse Matrix
 4.12 psb_spmm — Sparse Matrix by Dense Matrix Product
 4.13 psb_spsm — Triangular System Solve
 4.14 psb_gemlt — Entrywise Product
 4.15 psb_gediv — Entrywise Division
 4.16 psb_geinv — Entrywise Inversion
5 Communication routines
 5.1 psb_halo — Halo Data Communication
 5.2 psb_ovrl — Overlap Update
 5.3 psb_gather — Gather Global Dense Matrix
 5.4 psb_scatter — Scatter Global Dense Matrix
6 Data management routines
 6.1 psb_cdall — Allocates a communication descriptor
 6.2 psb_cdins — Communication descriptor insert routine
 6.3 psb_cdasb — Communication descriptor assembly routine
 6.4 psb_cdcpy — Copies a communication descriptor
 6.5 psb_cdfree — Frees a communication descriptor
 6.6 psb_cdbldext — Build an extended communication descriptor
 6.7 psb_spall — Allocates a sparse matrix
 6.8 psb_spins — Insert a set of coefficients into a sparse matrix
 6.9 psb_spasb — Sparse matrix assembly routine
 6.10 psb_spfree — Frees a sparse matrix
 6.11 psb_sprn — Reinit sparse matrix structure for psblas routines.
 6.12 psb_geall — Allocates a dense matrix
 6.13 psb_geins — Dense matrix insertion routine
 6.14 psb_geasb — Assembly a dense matrix
 6.15 psb_gefree — Frees a dense matrix
 6.16 psb_gelp — Applies a left permutation to a dense matrix
 6.17 psb_glob_to_loc — Global to local indices convertion
 6.18 psb_loc_to_glob — Local to global indices conversion
 6.19 psb_is_owned —
 6.20 psb_owned_index —
 6.21 psb_is_local —
 6.22 psb_local_index —
 6.23 psb_get_boundary — Extract list of boundary elements
 6.24 psb_get_overlap — Extract list of overlap elements
 6.25 psb_sp_getrow — Extract row(s) from a sparse matrix
 6.26 psb_sizeof — Memory occupation
 6.27 Sorting utilities —
7 Parallel environment routines
 7.1 psb_init — Initializes PSBLAS parallel environment
 7.2 psb_info — Return information about PSBLAS parallel environment
 7.3 psb_exit — Exit from PSBLAS parallel environment
 7.4 psb_get_mpi_comm — Get the MPI communicator
 7.5 psb_get_mpi_rank — Get the MPI rank
 7.6 psb_wtime — Wall clock timing
 7.7 psb_barrier — Sinchronization point parallel environment
 7.8 psb_abort — Abort a computation
 7.9 psb_bcast — Broadcast data
 7.10 psb_sum — Global sum
 7.11 psb_max — Global maximum
 7.12 psb_min — Global minimum
 7.13 psb_amx — Global maximum absolute value
 7.14 psb_amn — Global minimum absolute value
 7.15 psb_nrm2 — Global 2-norm reduction
 7.16 psb_snd — Send data
 7.17 psb_rcv — Receive data
8 Error handling
 8.1 psb_errpush
 8.2 psb_error
 8.3 psb_set_errverbosity
 8.4 psb_set_erraction
9 Utilities
 9.1 hb_read — Read a sparse matrix from a file in the Harwell–Boeing format
 9.2 hb_write — Write a sparse matrix to a file in the Harwell–Boeing format
 9.3 mm_mat_read — Read a sparse matrix from a file in the MatrixMarket format
 9.4 mm_array_read — Read a dense array from a file in the MatrixMarket format
 9.5 mm_mat_write — Write a sparse matrix to a file in the MatrixMarket format
 9.6 mm_array_write — Write a dense array from a file in the MatrixMarket format
10 Preconditioner routines
 10.1 init — Initialize a preconditioner
 10.2 build — Builds a preconditioner
 10.3 apply — Preconditioner application routine
 10.4 descr — Prints a description of current preconditioner
 10.5 clone — clone current preconditioner
 10.6 free — Free a preconditioner
11 Iterative Methods
 11.1 psb_krylov — Krylov Methods Driver Routine