首页 关于
树枝想去撕裂天空 / 却只戳了几个微小的窟窿 / 它透出天外的光亮 / 人们把它叫做月亮和星星

从Eigen开始

原先在学校里做实验时处理数据都用的是Matlab,有时需要直接把算法写到C程序里,通常涉及到的矩阵运算得自己再写一遍, 过程很繁琐,所以当时就想有一个用于矩阵运算的库。最近无意间遇到了Eigen,感觉很好用,于是决定记一些笔记。

这个系列的写作目的主要有以下两个方面:

所以打算分为入门和精通两个部分,在入门部分中介绍如何利用Eigen实现期望的功能。在精通部分中详细分析Eigen的设计和实现。由于初次接触Eigen,目前还是笔记和翻译官方文档的阶段。

  1. 初识Eigen
  2. 矩阵和向量的基本数值计算
  3. Array类
  4. Matrix和Array的分块运算(block operation)
  5. 高级初始化方法(Advanced Initialization)
  6. Reduction, visitors and broadcasting
  7. C/C++原生数组(raw buffer)的接口:Map类

Eigen 的数据存储,默认是 col-major 的:

        Eigen::Matrix3f m;
        m(0) = 0; m(1) = 1; m(2) = 2;
        m(3) = 3; m(4) = 4; m(5) = 5;
        m(6) = 6; m(7) = 7; m(8) = 8;
        std::cout << m << std::endl;
        0 3 6
        1 4 7
        2 5 8



Copyright @ 高乙超. All Rights Reserved. 京ICP备16033081号-1