next up previous contents
Next: Uniformization Up: Introduction Previous: PSI presentation   Contents

HBF format

Harwell Boeing Form [Saa91] is a format which facilites the storage of sparse matrix. Instead of store all the values, the idea is to only store the non-zero values.
So, to have a efficient data storage, we must be able to provide three vectors, admitting two delimiters : the number of non-zero values ('nz_number') and the number of rows and columns of the matrix ('dimension')

-
Val : array of reals of size 'nz_number', containing the non-zero values.
-
Col : array of integers of size 'nz_number', containing the column indexes.
-
Row : array of integers of size 'dimension' +1, containing the beginning index of each row.



Example 1 (HBF format)  

$\displaystyle \mathbf{M}=
\left(\begin{array}{cccc}
10 & -4 & 3 & 6 \\
5 & 2 & 1 & 0 \\
0 & 3 & 0 & -2 \\
0 & -4 & 0 & 0 \\
\end{array} \right)
$



$ \mathbf{M}$ matrix can be stored by :

$\displaystyle \begin{array}{\vert c\vert\vert c\vert c\vert c\vert c\vert\vert ...
... \hline
\emph{Col} & 0 & 2 & 1 & 3 & 2 & 1 & 0 & 1 & 3 & 1 \hline
\end{array}$

$\displaystyle \begin{array}{\vert c\vert\vert c\vert c\vert c\vert c\vert}\hline
\emph{Row} & 0 & 4 & 7 & 9  \hline
\end{array}$



Note that the order of the non-zero elements of a row is not important. Moreover, PSI accepts HBF format with 'column' storage (PEPS models by example) and indifferently states numerotation from 0 to $ dimension-1$ and from $ 1$ to $ dimension$.


next up previous contents
Next: Uniformization Up: Introduction Previous: PSI presentation   Contents
Florent Morata 2002-12-11