Dear all,
I was trying to use gmm++ library to interface some of my matrices that
are exported from a commercial FE code. I have these matrices in matrix
market format and thanks to the gmm++ library that you can directly
interface this matrix into csr matrix with the code below:
#include <iostream>
#include <gmm/gmm.h>
#include <gmm/gmm_inoutput.h>
#include <gmm/gmm_def.h>
int main()
{
gmm::col_matrix< gmm::wsvector<double> > M1; // M1
MatrixMarket_load("mm5by5.mm", M1);
gmm::csr_matrix<double> M2;
gmm::copy(M1, M2); // M1 -> M2
// output the vector
std::cout << M2 << std::endl;
std::cout << "Number of nonzeros: " << gmm::nnz(M2) << std::endl;
//
for(int i=0;i<5;++i)
std::cout << gmm::mat_row(M2,i) << std::endl;
//
return 0;
}
What I would like to do is to iterate over the non-zero on each row in a
loop. I can see that standard output is overloaded for
std::cout << gmm::mat_row(M2,i) << std::endl;
which results in
vector(5) [ (r0,1) (r3,6) ]
vector(5) [ (r1,10.5) ]
vector(5) [ (r2,0.015) ]
vector(5) [ (r1,250.5) (r3,-280) (r4,33.32) ]
vector(5) [ (r4,12) ]
How can I reach these non zeros elements in my matrix, I am a bit
confused, I read the deeper inside gmm++ section but could not find my
way there?
Any pointers are appreciated.
Umut
_______________________________________________
Getfem-users mailing list
[email protected]
https://mail.gna.org/listinfo/getfem-users