您的位置:首页 > 其它

TensorFlow - 使用Eigen进行矩阵计算

2018-01-11 16:34 363 查看
TensorFlow - 使用Eigen进行矩阵计算

flyfish

#include "stdafx.h"
#include <iostream>
#include <vector>
#include "Eigen\Dense"

int _tmain(int argc, _TCHAR* argv[])
{
std::vector<float> v{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };

//同样是3行4列
Eigen::Map<Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>> m1(v.data(), 3, 4);

std::cout << "行优先" << '\n' << m1 << std::endl;
Eigen::Map<Eigen::Matrix<float, Eigen::Dynamic, Eigen::Dynamic, Eigen::ColMajor>> m2(v.data(), 3, 4);
std::cout << "列优先" << '\n' << m2 << std::endl;

Eigen::MatrixXd matrixXd1(3, 3);

matrixXd1 << 1, 2, 3,
4, 5, 6,
7, 8, 9;

std::cout << "原始矩阵" << '\n' << matrixXd1 << '\n' << std::endl;
std::cout << " 转置矩阵" << '\n' << matrixXd1.transpose() << '\n' << std::endl;
std::cout << "共轭矩阵 Hermite阵" << '\n' << matrixXd1.conjugate() << '\n' << std::endl;
std::cout << "伴随矩阵" << '\n' << matrixXd1.adjoint() << '\n' << std::endl;
std::cout << "矩阵的行列式 " << '\n' << matrixXd1.determinant() << '\n' << std::endl;
std::cout << "矩阵的迹" << '\n' << matrixXd1.trace() << '\n' << std::endl;
std::cout << " 逆矩阵" << '\n' << matrixXd1.inverse() << '\n' << std::endl;

system("pause");
return 0;
}


行优先

1 2 3 4

5 6 7 8

9 10 11 12

列优先

1 4 7 10

2 5 8 11

3 6 9 12

原始矩阵

1 2 3

4 5 6

7 8 9

转置矩阵

1 4 7

2 5 8

3 6 9

共轭矩阵 Hermite阵

1 2 3

4 5 6

7 8 9

伴随矩阵

1 4 7

2 5 8

3 6 9

矩阵的行列式

6.66134e-016

矩阵的迹

15

逆矩阵

- 4.5036e+015 9.0072e+015 - 4.5036e+015

9.0072e+015 - 1.80144e+016 9.0072e+015

- 4.5036e+015 9.0072e+015 - 4.5036e+015
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  TensorFlow