00001 #ifndef SPARSEMATRIXUTILITIES 00002 #define SPARSEMATRIXUTILITIES 00003 00004 #include "IotrMatrixDisplayFormat.hh" 00005 00006 void sparse_matrix_mult( const int irow[], const int kcol[], int n, 00007 const double d[], 00008 double alpha, const double x[], 00009 double beta, double y[], int m ); 00010 00011 void sparse_filtered_mult( const int irow[], const int kcol[], int n, 00012 const double d[], 00013 double alpha, const int ia[], int na, 00014 const double x[], int nx, 00015 double beta, double y[], int m ); 00016 00017 void sparse_matrix_transpose_mult( const int irow[], 00018 const int kcol[], int n, 00019 const double d[], 00020 double alpha, const double x[], int m, 00021 double beta, double y[] ); 00022 00023 void sparse_filtered_transpose_mult( const int irow[], 00024 const int kcol[], int n, 00025 const double d[], 00026 double alpha, const double x[], int m, 00027 const int ia[], int na, 00028 double beta, double y[], double ny ); 00029 00030 void sparse_sym_matrix_mult( const int irow[], const int kcol[], int n, 00031 const double d[], 00032 double alpha, const double x[], 00033 double beta, double y[] ); 00034 00035 void sparse_sym_masked_mult( const int irow[], const int kcol[], int n, 00036 const double d[], const int mask[], 00037 double alpha, const double x[], int nx, 00038 double beta, double y[] ); 00039 00040 void sparse_sym_filtered_mult( const int irow[], const int kcol[], int n, 00041 const double d[], 00042 double alpha, 00043 const int ia[], int na, 00044 const double x[], int nx, 00045 double beta, double y[] ); 00046 00047 void writef_sparse_mat_to_stream( int m, 00048 const int irow[], const int kcol[], int n, 00049 const double d[], 00050 std::ostream& out, 00051 const IotrMatrixDisplayFormat & format ); 00052 00053 #endif