cpp-eigen.cpp (581B)
1 #include <iostream> 2 #include <cstdlib> 3 #include <eigen3/Eigen/Dense> 4 5 int main(int argc, char* argv[]) 6 { 7 using std::cout; 8 using Eigen::MatrixXd; 9 10 unsigned int N, i, j; 11 12 if (argc == 2) { 13 N = atoi(argv[1]); 14 } else { 15 std::cerr << "Sorry, I need matrix width as command line argument\n"; 16 return 1; 17 } 18 19 MatrixXd A(N,N); 20 MatrixXd B(N,N); 21 MatrixXd C(N,N); 22 23 for (i = 0; i<N; ++i) { 24 for (j = 0; j<N; ++j) { 25 A(i,j) = 2.0; 26 B(i,j) = (double) N*j + i; 27 } 28 } 29 30 C = A*B; 31 32 return 0; 33 }