fork download
  1. #include <iostream>
  2. #include <boost/numeric/ublas/matrix.hpp>
  3. #include <boost/numeric/ublas/symmetric.hpp>
  4. int main()
  5. {
  6. using namespace boost::numeric::ublas;
  7.  
  8. std::cout << "regular matrix:\n";
  9. matrix<double> m (3, 3);
  10. for(unsigned i = 0; i < m.size1(); ++i)
  11. for(unsigned j = 0; j < m.size2(); ++j)
  12. m(i, j) = 3*i + j;
  13.  
  14. for (unsigned i = 0; i < m.size1 (); ++i)
  15. {
  16. for (unsigned j = 0; j < m.size2 (); ++j)
  17. std::cout << m(i, j) << ' ';
  18. std::cout << '\n';
  19. }
  20.  
  21. std::cout << "symmetric matrix:\n";
  22. symmetric_matrix<double, upper> mu (3, 3);
  23. for(unsigned i = 0; i < mu.size1(); ++i)
  24. for(unsigned j = 0; j<=i; ++j)
  25. mu(i,j) = 3*i + j;
  26.  
  27. for (unsigned i = 0; i < mu.size1 (); ++i)
  28. {
  29. for (unsigned j = 0; j < mu.size2 (); ++j)
  30. std::cout << mu(i, j) << ' ';
  31. std::cout << '\n';
  32. }
  33.  
  34. std::cout << "attempting assignment...";
  35. mu = m;
  36. }
  37.  
Runtime error #stdin #stdout 0s 2880KB
stdin
Standard input is empty
stdout
regular matrix:
0 1 2 
3 4 5 
6 7 8 
symmetric matrix:
0 3 6 
3 4 7 
6 7 8 
attempting assignment...