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