- Eigen
- 简介
- 下载
- 解压
- 建立VSCode工作区
- 新建main.cpp
- 文档及源码
Eigen是一个用来进行矩阵处理的C++库,除了 C++ 标准库之外,Eigen 不需要其他任何依赖项。
官网 https://eigen.tuxfamily.org
直接点击最新版(当前是3.4.0)对应的zip文件下载即可。
解压后文件目录如下:
.
└─eigen-3.4.0
├─.gitlab
│ ├─issue_templates
│ └─merge_request_templates
├─bench
│ ├─btl
│ │ ├─actions
│ │ ├─cmake
│ │ ├─data
│ │ ├─generic_bench
│ │ │ ├─init
│ │ │ ├─static
│ │ │ ├─timers
│ │ │ └─utils
│ │ └─libs
│ │ ├─BLAS
│ │ ├─blaze
│ │ ├─blitz
│ │ ├─eigen2
│ │ ├─eigen3
│ │ ├─gmm
│ │ ├─mtl4
│ │ ├─STL
│ │ ├─tensors
│ │ ├─tvmet
│ │ └─ublas
│ ├─perf_monitoring
│ │ └─resources
│ ├─spbench
│ └─tensors
├─blas
│ ├─f2c
│ ├─fortran
│ └─testing
├─ci
├─cmake
├─debug
│ ├─gdb
│ └─msvc
├─demos
│ ├─mandelbrot
│ ├─mix_eigen_and_c
│ └─opengl
├─doc
│ ├─examples
│ ├─snippets
│ └─special_examples
├─Eigen
│ └─src
│ ├─Cholesky
│ ├─CholmodSupport
│ ├─Core
│ │ ├─arch
│ │ │ ├─AltiVec
│ │ │ ├─AVX
│ │ │ ├─AVX512
│ │ │ ├─CUDA
│ │ │ ├─Default
│ │ │ ├─GPU
│ │ │ ├─HIP
│ │ │ │ └─hcc
│ │ │ ├─MSA
│ │ │ ├─NEON
│ │ │ ├─SSE
│ │ │ ├─SVE
│ │ │ ├─SYCL
│ │ │ └─ZVector
│ │ ├─functors
│ │ ├─products
│ │ └─util
│ ├─Eigenvalues
│ ├─Geometry
│ │ └─arch
│ ├─Householder
│ ├─IterativeLinearSolvers
│ ├─Jacobi
│ ├─KLUSupport
│ ├─LU
│ │ └─arch
│ ├─MetisSupport
│ ├─misc
│ ├─OrderingMethods
│ ├─PardisoSupport
│ ├─PaStiXSupport
│ ├─plugins
│ ├─QR
│ ├─SparseCholesky
│ ├─SparseCore
│ ├─SparseLU
│ ├─SparseQR
│ ├─SPQRSupport
│ ├─StlSupport
│ ├─SuperLUSupport
│ ├─SVD
│ └─UmfPackSupport
├─failtest
├─lapack
├─scripts
├─test
└─unsupported
├─bench
├─doc
│ ├─examples
│ │ └─SYCL
│ └─snippets
├─Eigen
│ ├─CXX11
│ │ └─src
│ │ ├─Tensor
│ │ ├─TensorSymmetry
│ │ │ └─util
│ │ ├─ThreadPool
│ │ └─util
│ └─src
│ ├─AutoDiff
│ ├─BVH
│ ├─Eigenvalues
│ ├─EulerAngles
│ ├─FFT
│ ├─IterativeSolvers
│ ├─KroneckerProduct
│ ├─LevenbergMarquardt
│ ├─MatrixFunctions
│ ├─MoreVectorization
│ ├─NonLinearOptimization
│ ├─NumericalDiff
│ ├─Polynomials
│ ├─Skyline
│ ├─SparseExtra
│ ├─SpecialFunctions
│ │ └─arch
│ │ ├─AVX
│ │ ├─AVX512
│ │ ├─GPU
│ │ └─NEON
│ └─Splines
└─test
其中Eigen
就是存放要Include的头文件的地方。
- 最好新建一个文件夹专门用来写Eigne的项目。
- 放入之前VsCode用来写C++项目的.vscode
- 将解压出来的Eigen文件夹拷贝到这个新建的文件夹中
- 编辑
.vscode/tasks.json
在tasks.json
中添加两个命令(分别是-I
和.
)
其中其他配置每个人电脑可能不同。
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "F:\OtherApps\Program\MinGW\bin\g++.exe",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\${fileBasenameNoExtension}.exe",
"-I",
"."
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。
"
}
],
"version": "2.0.0"
}
新建main.cpp
新建一个main.cpp,就可以愉快地编码了。
#include
#include
using Eigen::MatrixXd;
using Eigen::VectorXd;
int main() {
MatrixXd m = MatrixXd::Random(3, 3);
m = (m + MatrixXd::Constant(3, 3, 1.2)) * 50;
std::cout << "m =" << std::endl << m << std::endl;
VectorXd v(3);
v << 1, 2, 3;
std::cout << "m * v =" << std::endl << m * v << std::endl;
system("pause");
return 0;
}
F5
运行即可看到结果。
m =
10.1251 90.8741 45.0291
66.3585 68.5009 99.5962
29.3304 57.9873 92.284
m * v =
326.961
502.149
422.157
请按任意键继续. . .
说明坏境配置成功。
-
源码下载地址
这个下载很快
-
文档下载地址
👆这个下载比较慢。
如果想在CSDN上下载也可以试试👇
https://download.csdn.net/download/Tisfy/85115453注意:如果能够访问官网就没有什么下载它的必要。
使用方法:解压后双击index.html即可访问主页。
官网源码下载地址https://eigen.tuxfamily.org/dox/eigen-doc.tgz,下载较慢,下载下来格式为.tgz。
如果能从官网下载并且能够解压.tgz格式的文件就也不需要下载此内容了。
原创不易,转载请附上原文链接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/124121454
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)