00001 #ifndef DENSEMATRIXUTILITIES 00002 #define DENSEMATRIXUTILITIES 00003 00013 #include <iostream> 00014 #include "IotrMatrixDisplayFormat.hh" 00015 00017 void NewDouble2( double * v, double **& Mat, int m, int ldm); 00018 00020 void clear_mat_region( double ** M, int istart, int jstart, 00021 int iextent, int jextent ); 00022 00025 void clear_mat_region_lower( double ** M, int istart, int jstart, 00026 int iextent, int jextent ); 00027 00030 void writef_mat_to_stream( double **M, int m, int n, 00031 std::ostream &out, const char * format); 00032 00033 void writef_mat_to_stream( double **M, int m, int n, 00034 std::ostream &out, 00035 const IotrMatrixDisplayFormat & format); 00036 00040 void writef_mat_to_stream_lower( double **M, int m, int n, 00041 std::ostream &out, const char * format); 00042 00043 void writef_mat_to_stream_lower( double **M, int m, int n, 00044 std::ostream &out, 00045 const IotrMatrixDisplayFormat & format ); 00046 00055 void copy_from_sparse_cols( double ** A, int m, int n, 00056 const int irow[], const int kcol[], 00057 const double M[] ); 00058 void copy_to_sparse_cols( const double * const * A, int m, int n, 00059 int irow[], int len, int kcol[], double M[], 00060 int & morei ); 00061 00070 void copy_from_sparse_cols_lower( double ** A, int m, int n, 00071 const int irow[], const int kcol[], 00072 const double M[], 00073 int & has_upper ); 00074 00075 00076 void copy_to_sparse_cols_lower( const double * const * A, int m, int n, 00077 int irow[], int len, int kcol[], double M[], 00078 int & morei ); 00079 00080 void dense_filtered_transpose_mult( const double * const *Mat, double alpha, 00081 const double *x, double beta, 00082 double *y, int ny, 00083 int m, int n, const int ia[], int na ); 00084 00085 void dense_filtered_mult(const double * const *Mat, double alpha, 00086 const double x[], double beta, double y[], 00087 int m, int n, const int ia[], int na ); 00088 00089 void dense_sym_masked_mult( const double * const *Mat, int n, const int mask[], 00090 double alpha, const double x[], int nx, 00091 double beta, double y[] ); 00092 00093 #endif 00094