//mattesttest.cpp //コンパイル:g++ -o mattesttest mattesttest.cpp //実行:./mattesttest #include #include using namespace CwMtx; using namespace std; int main() { //まずはインスタンスの生成 CWSquareMatrix sq_mat(3);//3×3正方行列 CWMatrix mat(3,3); //3×3行列 CWVector vect(3); //ベクトル //初期化 sq_mat.makeUnity(); //単位行列に初期化 mat.fill(1); //全て1にする vect.fill(0); //全て0 //表示 cout << "sq_mat : " << sq_mat << endl; cout << "mat : " << mat << endl; cout << "vect : " << vect << endl; //要素に直接アクセス sq_mat[0][0] = 1; mat[1][0] = 0; vect[1] = 2; //正方行列の行列計算 cout << "inv(sq_mat): " << inv(sq_mat) << endl;//逆行列 cout << "tr(sq_mat) : " << transpose(sq_mat) << endl;//転置行列 cout << "det(sq_mat): " << det(sq_mat) << endl;//行列式 //その他計算 cout << "m x m " << sq_mat * sq_mat << endl;//行列同士そのまま計算できる cout << "m x v " << mat * vect << endl;//行列×ベクトルも計算できる(正方行列はなぜかだめなので、一旦普通の行列に代入すると良さそう) cout << "m + m " << sq_mat + mat << endl; return 0; }