13 #define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET    23 #include <ecl/linear_algebra/sparse.hpp>    29 using ecl::linear_algebra::SparseMatrix;
    30 using ecl::linear_algebra::DynamicSparseMatrix;
    31 using ecl::linear_algebra::MatrixXd;
    40         DynamicSparseMatrix<double> hh(20, 
LM);
    44         for( 
int i=0; i<20; i++ )
    45                 for( 
int j=0; j<3; j++ )
    48         for( 
int i=0; i<10; i++)
    50                 for( 
int j=0; j<2; j++ )
    52                         for( 
int k=0; k<3; k++ )
    54                                 hh.coeffRef( i*2+j, (i*4)+k ) = 1;
    59         SparseMatrix<double> H(hh);
    61         for( 
int i=0; i<num; i++ )
    63                 MatrixXd S = H*P*H.transpose();
    66         std::cout << time.elapsed();
    75         for( 
int i=0; i<20; i++ )
    76                 for( 
int j=0; j<3; j++ )
    79         for( 
int i=0; i<10; i++)
    81                 for( 
int j=0; j<2; j++ )
    83                         for( 
int k=0; k<3; k++ )
    85                                 H( i*2+j, (i*4)+k ) = 1;
    91         for( 
int i=0; i<num; i++ )
    93                 MatrixXd S = H*P*H.transpose();
    96         std::cout << time.elapsed();
   101         std::cout << 
"==========================" << std::endl;
   102         std::cout << 
"S=H P T'" << std::endl;
   103         std::cout << 
"Start sparse: ";
   105         std::cout  << std::endl;
   107         std::cout << 
"Start dense: ";
   109         std::cout  << std::endl;
   110         std::cout << 
"==========================" << std::endl;
   116         DynamicSparseMatrix<double> hh(20, 
LM);
   117         for( 
int i=0; i<num; i++)
   119                 for( 
int j=0; j<20; j++ )
   120                         for( 
int k=0; k<
LM; k++ )
   121                                 hh.coeffRef(j,k) = (double)j*k;
   124         std::cout << time.elapsed();
   131         for( 
int i=0; i<num; i++ )
   133                 for( 
int j=0; j<20; j++ )
   134                         for( 
int k=0; k<
LM; k++ )
   135                                 hh(j,k) = (double)j*k;
   138         std::cout << time.elapsed();
   143         std::cout << 
"==========================" << std::endl;
   144         std::cout << 
"Filling " << std::endl;
   145         std::cout << 
"fill sparse: ";
   147         std::cout << std::endl;
   148         std::cout << 
"fill dense: ";
   150         std::cout << std::endl;
   151         std::cout << 
"==========================" << std::endl;
   154 int main(
int argc, 
char **argv) {
 void test_dense_matrix(int num)
int main(int argc, char **argv)
void compare_multiplication()
void fill_sparse(int num)
void test_sparse_matrix(int num)