#include <iostream>
#include <boost/numeric/ublas/matrix.hpp>
#include <boost/numeric/ublas/io.hpp>
using namespace std;
using namespace boost::numeric::ublas;
int main()
{
matrix<int> A(2, 2), B(2, 2);
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2; j++)
{
A(i, j) = i * 2 + j + 1;
B(i, j) = i * 2 + j + 2;
}
}
cout << A << endl;
cout << B << endl;
cout << prod(A, trans(B)) << endl;
return 0;
}
/* execution result
[2,2]((1,2),(3,4))
[2,2]((2,3),(4,5))
[2,2]((8,14),(18,32))
*/
上のプログラムは下記の計算を行っています.
スッキリ書けて素晴らしい.d(゚∀゚)b


0 件のコメント:
コメントを投稿