edu.iu.iv.common.persistence.standard
Class HarwellBoeingMatrixModelPersister

java.lang.Object
  |
  +--edu.iu.iv.common.persistence.standard.HarwellBoeingMatrixModelPersister

public class HarwellBoeingMatrixModelPersister
extends java.lang.Object

Reads the Harwell-Boeing Sparse Matrix Format. This persister does not support the complete specification. The type of matrix supported by this persister can be described as:
Real, Unsymmetric, Assembled.
Eventually this persister will support all types of matrices: U,S,H,Z and R.
A description of the supported format is given below*:

 Line 1: TITLE, (72 characters) KEY, (8 characters) 
 Line 2: TOTCRD, integer, total number of data lines, (14 characters)
         PTRCRD, integer, number of data lines for pointers, (14 characters)
         INDCRD, integer, number of data lines for row or variable indices, (14 characters)
         VALCRD, integer, number of data lines for numerical values of matrix entries, (14 characters)
         RHSCRD, integer, number of data lines for RHS vectors, must be zero .
 Line 3: MXTYPE, matrix type, (3 characters), must be 'RUA', meaning Real, Unsymmetric, Assembled. 
         blank space, (11 characters) 
         NROW, integer, number of rows or variables, (14 characters)
         NCOL, integer, number of columns or elements, (14 characters)
         NNZERO, integer, number of nonzero entries. (14 characters)
         NELTVL, integer, number of elemental matrix entries, must be zero, (14 characters)
 Line 4: PTRFMT, FORTRAN I/O format for pointers, (16 characters)
         INDFMT, FORTRAN I/O format for row or variable indices, (16 characters)
         VALFMT, FORTRAN I/O format for matrix entries, (20 characters)
         RHSFMT, FORTRAN I/O format for right hand sides, initial guesses, and solutions, (20 characters)
 Line 5: Should not be a header line! Data begins at this line.
 
 The header is followed by:
 PTRCRD lines of column pointers
 INDCRD lines of row or variable indices
 VALCRD lines of matrix values
 
 Anything after this will be ignored.
 
 *Note: This description is taken from:
        http://math.nist.gov/MatrixMarket/formats.html
        http://www2.csit.fsu.edu/~burkardt/data/hb/hb.html       
 
 

Version:
0.1
Author:
Team IVC

Constructor Summary
HarwellBoeingMatrixModelPersister()
           
 
Method Summary
 boolean canPersist(java.lang.Object model)
           
 boolean canRestore(ResourceDescriptor resource)
           
 PropertyMap getPropertyMap()
           
 void persist(java.lang.Object model, ResourceDescriptor resource)
           
 java.lang.Object restore(ResourceDescriptor resource)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HarwellBoeingMatrixModelPersister

public HarwellBoeingMatrixModelPersister()
Method Detail

getPropertyMap

public PropertyMap getPropertyMap()
See Also:
Persister.getPropertyMap()

persist

public void persist(java.lang.Object model,
                    ResourceDescriptor resource)
             throws java.io.IOException,
                    PersistenceException
java.io.IOException
PersistenceException
See Also:
Persister.persist(java.lang.Object, edu.iu.iv.core.persistence.ResourceDescriptor)

restore

public java.lang.Object restore(ResourceDescriptor resource)
                         throws java.io.IOException,
                                java.lang.OutOfMemoryError,
                                PersistenceException
java.io.IOException
java.lang.OutOfMemoryError
PersistenceException
See Also:
Persister.restore(edu.iu.iv.core.persistence.ResourceDescriptor)

canPersist

public boolean canPersist(java.lang.Object model)
See Also:
Persister.canPersist(java.lang.Object)

canRestore

public boolean canRestore(ResourceDescriptor resource)
See Also:
Persister.canRestore(edu.iu.iv.core.persistence.ResourceDescriptor)