Eigen
簡介
Eigen是一個用來進行矩陣處理的C++庫,除了 C++ 標準庫之外,Eigen 不需要其他任何依賴項。
下載
官網(wǎng) 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的頭文件的地方。
建立VSCode工作區(qū)
- 最好新建一個文件夾專門用來寫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": "調(diào)試器生成的任務。"
}
],
"version": "2.0.0"
}
新建main.cpp
新建一個main.cpp,就可以愉快地編碼了。
#include <iostream>
#include <Eigen/Dense>
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
運行即可看到結(jié)果。
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
請按任意鍵繼續(xù). . .
說明壞境配置成功。
文檔及源碼
-
源碼下載地址
這個下載很快
-
文檔下載地址
??這個下載比較慢。
如果想在CSDN上下載也可以試試??
https://download.csdn.net/download/Tisfy/85115453注意:如果能夠訪問官網(wǎng)就沒有什么下載它的必要。
使用方法:解壓后雙擊index.html即可訪問主頁。
官網(wǎng)源碼下載地址https://eigen.tuxfamily.org/dox/eigen-doc.tgz,下載較慢,下載下來格式為.tgz。
如果能從官網(wǎng)下載并且能夠解壓.tgz格式的文件就也不需要下載此內(nèi)容了。文章來源:http://www.zghlxwxcb.cn/news/detail-400157.html
原創(chuàng)不易,轉(zhuǎn)載請附上原文鏈接哦~
Tisfy:https://letmefly.blog.csdn.net/article/details/124121454文章來源地址http://www.zghlxwxcb.cn/news/detail-400157.html
到了這里,關(guān)于Windows VsCode 配置 Eigen 庫 - C++矩陣計算庫的配置 - 手把手教程的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!