矩阵运算

点击查看代码
#include<iostream>
#include<eigen3/Eigen/Dense>
using  namespace std;
using namespace Eigen;


int main(int argc,char * argv[]){
   Matrix2d mat1;
   Matrix2d mat2;
   mat1<<1,2,3,4;
   mat2<<5,6,7,8;

   cout << "matrix1" <<endl << mat1 << endl;
   cout << "matrix2" << endl << mat2 << endl;

   cout << "mat1+mat2"<<endl;
    cout << mat1+mat2<<endl;
    cout << "mat1-mat2"<<endl;
    cout << mat1-mat2<<endl;
     cout << "mat1*mat2"<<endl;
     cout << mat1*mat2<<endl;
      cout << "mat1/2"<<endl;
  cout << mat1/2<<endl;

     

    return 0;
}

输出
matrix1
1 2
3 4
matrix2
5 6
7 8
mat1+mat2
6 8
10 12
mat1-mat2
-4 -4
-4 -4
mat1*mat2
19 22
43 50
mat1/2
0.5 1
1.5 2

这下面的代码表示的是矩阵的转置,共轭,逆矩阵,伴随矩阵

点击查看代码
    cout << "mat1.transpose()"<<endl;
    cout << mat1.transpose()<<endl;
    cout <<"mat1.conjugate()"<<endl;
    cout <<mat1.conjugate()<<endl;
    cout <<"mat1.inverse()"<<endl;
    cout <<mat1.inverse()<<endl;
    cout <<"mat1.adjoint()"<<endl;
    cout <<mat1.adjoint()<<endl;

` mat1.transposeInPlace(); ` 表示转置之后再赋值到本身身上
posted on 2022-08-09 17:22  hold涛  阅读(74)  评论(0)    收藏  举报