Hi, Rutger,

     Thanks for your help. In my program, I want to access the entries of sparse matrix M as following:

typename ublas::compressed_matrix<double, ublas::row_major> ::iterator1 row;    // Iterator over rows
 typename ublas::compressed_matrix<double, ublas::row_major> ::iterator2 entry;  // Iterator over entries
 for (row = M.begin1();row != M.end1(); ++row) {
     unit& i1 = row.index1(); // the row index

     unit& j1 = row.index2(); // the column index for which one of the elements of M ?  Is it the beginning element of row?

     for (entry = row.begin(); entry != row.end(); ++entry) {

         unit& i2 = entry.index1(); // the row index of element pointed by entry
         unit& j2 = entry.index2(); // the column index of element pointed by entry

  }
}

Best

Huayi