Eigen
文章平均质量分 53
Eigen库学习
落花逐流水
从事人工智能,模式识别与智能系统
展开
-
Eigen库学习笔记(十五)Eigen获取最小值与最小值索引
Eigen获取当前行最小值与对应索引原创 2023-07-10 21:27:01 · 997 阅读 · 0 评论 -
Eigen库学习笔记(十四)Eigen实现复杂计算
Eigen库学习笔记(十四)Eigen实现复杂计算 if covariance_type == 'full': log_prob = np.empty((n_samples, n_components)) for k, (mu, prec_chol) in enumerate(zip(means, precisions_chol)): y = np.dot(X, prec_chol) - np.dot(mu, prec_chol)原创 2022-03-08 13:53:38 · 321 阅读 · 0 评论 -
Eigen库学习笔记(十三)Eigen实现softmax
Eigen库学习笔记(十三)Eigen实现softmax1、pytorch中的softmax2、Eigen实现softmax1、pytorch中的softmax示例:import torchimport torch.nn as nninput = torch.Tensor([-1,-2,-3,-4])m = nn.Softmax(dim=0) output = m(input)print(output)输出:tensor([0.6439, 0.2369, 0.0871, 0.0321原创 2022-02-22 23:48:18 · 769 阅读 · 0 评论 -
Eigen库学习笔记(十二)Vector与Matrix的转换
Eigen库学习笔记(十二)Vector与Matrix的转换1、Vector转Matrix2、Matrix转Vector1、Vector转MatrixVectorXd m;m<< 1,2,3,4,5,6,7,8,9;Matrix3d A = Map<Matrix3d>(m.data())输出A为:A=[1,4,7 2,5,8 3,6,9]如果需要转置,可以修改为:Matrix3d A = Map<Matrix3d>(m.data()).transp原创 2022-01-03 12:13:34 · 4919 阅读 · 0 评论 -
Eigen库学习笔记(十一)读写矩阵文件
Eigen库学习笔记(十一)读写矩阵文件1、写txt文件由于调试时看不到矩阵的尺寸和数值,所以可以通过保存文件的形式查看矩阵。1、写txt文件代码:void test_save_txt(Eigen::MatrixXf mat, string filename){ ofstream outfile(filename, ios::trunc); outfile << mat; outfile.close();}测试用例Eigen::MatrixXf mat(24, 3);原创 2022-01-03 09:22:24 · 3015 阅读 · 2 评论 -
Eigen库学习笔记(十)矩阵存储顺序行优先与列优先
Eigen库学习笔记(十)矩阵存储顺序行优先与列优先1、存储顺序2、存储顺序及选择3、使用限制与解救办法3.1、使用限制3.2、解救办法3.2.1、等效原理解救办法3.2.2、宏定义默认列优先改为行优先1、存储顺序对于矩阵和二维数组有两种存储方式,列优先和行优先。假设矩阵:按行优先存储,内存中形式如下:8 2 2 9 9 1 4 4 3 5 4 5列优先,内存格式:8 9 3 2 1 5 2 4 4 9 4 5官网示例:Matrix<int, 3, 4, ColMajor>原创 2022-01-02 13:20:31 · 6212 阅读 · 2 评论 -
Eigen库学习笔记(九)矩阵拼接
Eigen库学习笔记(九)矩阵拼接1、矩阵拼接1、矩阵拼接void test_Concatenation(){ // Concatenation(vectors) Array3f a{ 1,1,1 }; Array3f b{ 2,2,2 }; cout << "a:\n" << a << std::endl; cout << "b:\n" << b << std::endl; ArrayXf c(a.size() +原创 2022-01-02 10:22:12 · 7882 阅读 · 0 评论 -
Eigen库学习笔记(八)排序与索引 按索引取行
Eigen库学习笔记(八)排序与索引1、排序与索引1、排序与索引1.对向量排序Eigen 为线性代数库,提供了一般的矩阵和向量的操作,以及诸多数值线性代数等算法。但是没有类似于Matlab的sort函数那样对向量或矩阵进行排序函数。在这里,借助于标准库算法sort,可以实现排序功能。标准库中函数std::sort的用法有以下两种:sort(beg,end)sort(beg,end,comp)其中beg表示指向首元素的指针或迭代器,end表示“尾后迭代器”(指向最后一个元素的下一个位置的迭代器原创 2021-12-29 23:30:59 · 4480 阅读 · 0 评论 -
Eigen库学习笔记(七)思维导图
Eigen库学习笔记(七)思维导图自己在腾讯文档上画的。原创 2021-12-29 22:52:15 · 246 阅读 · 0 评论 -
Eigen库学习笔记(六)cmake调用Eigen
Eigen库学习笔记(六)cmake调用Eigen1、编译Eigen2、cmake 引用Eigen库1、编译Eigen因为Eigen库是基于模板实现的,使用的是源码,编译并不会生成动态库或静态库。编译的目的是为了生成可以使用的包。主要是生成这几个文件2、cmake 引用Eigen库对于Eigen库的使用,可以使用set指定到 share/eigen3/cmake目录,也可以在cmake-gui中指定到这个路径。cmake_minimum_required(VERSION 3.3)PROJ原创 2021-12-26 22:19:53 · 7118 阅读 · 0 评论 -
Eigen库学习笔记(五)张量计算
Eigen库学习笔记(五)张量计算二维浮点型张量计算void test_tensor_matrix_multi(const Eigen::Tensor<float, 2> input1, const Eigen::Tensor<float, 2> input2){ // Compute the traditional matrix product Eigen::array<Eigen::IndexPair<float>, 1> produ原创 2021-12-19 09:56:37 · 1398 阅读 · 0 评论 -
Eigen库学习笔记(四)Eigen用于三维张量
Eigen库学习笔记(四)Eigen用于三维张量1、示例:2、3维张量3、固定大小矩阵TensorFixedSize4、常用函数API平常中我们使用Eigen::MatrixXd二维矩阵。Eigen的三维张量正处于开发中,在unsupported文件夹下,还没有放到正式代码中。Eigen::Tensor来定义IMPORTANT NOTE: The current developement version of Eigen (post-3.2) supports Tensors. This suppo原创 2021-12-18 23:32:22 · 4783 阅读 · 1 评论 -
Eigen库学习笔记(三)官网示例
Eigen库学习笔记(三)1、从官网示例开始A simple first programExample 2: Matrices and vectorsEigen是有关线性代数(矩阵、向量等)的c++模板库。支持SSE2/3/4, ARM NEON (32-bit and 64-bit), PowerPC AltiVec/VSX (32-bit and 64-bit) instruction sets, S390x SIMD (ZVector)1、从官网示例开始A simple first progra原创 2021-12-18 09:52:43 · 1116 阅读 · 0 评论 -
Eigen库学习笔记(二)宏观模块
Eigen各个模块:参考:【Eigen库 学习笔记 2】 Eigen 模块及头文件更详细参看官网:Eigen官网原创 2020-07-31 18:00:59 · 820 阅读 · 0 评论 -
Eigen库学习笔记(一)基本算子
Eigen库支持的操作:#include <Eigen/Dense> // 基本用法 // Eigen // Matlab // 注释 x.size() // length(x) // 向量的长度 C.rows() // size(C,1) // 矩阵的行数 C.cols() // size(C,2) // 矩阵的列数 x(i)原创 2020-07-31 17:32:30 · 2363 阅读 · 0 评论