C++中是否有一个功能可以创建一个像Python的"numpy.bmat"一样简单的块矩阵?
Is there a functionality in C++ to create a block matrix as simple as Python's `numpy.bmat`?
C 中是否有一个功能来创建像numpy.bmat一样简单的块矩阵?
示例:
python :
m = np.bmat([[A, B], [C, D]])
c 我知道的唯一方法是使用boost :: numeric :: ublas :: project:
#include <boost/numeric/ublas/matrix.hpp>
boost::numeric::ublas::matrix m;
//...
r1 = boost::numeric::ublas::range(i1, i2);
r2 = boost::numeric::ublas::range(i3, i4);
boost::numeric::ublas::project(m, r1, r2) = A;
// repeat code above for other submatrices, each time calculating the appropriate indices
它更容易使用特征。这是一个示例程序:
#include <eigen3/Eigen/Dense>
#include <iostream>
using Eigen::MatrixXd;
int main()
{
MatrixXd m(2,2);
m(0,0) = 3;
m(1,0) = 2.5;
m(0,1) = -1;
m(1,1) = m(1,0) + m(0,1);
std::cout << m << std::endl;
MatrixXd mx(4,4);
mx.block<2,2>(0,0) << m;
mx.block<2,2>(2,2) << m;
std::cout << mx << std::endl;
}
相关文章:
- C++返回 Numpy 数组的 Python 扩展模块
- numpy C API 中的import_array如何工作?
- 如何使用C++范围来实现numpy.ndindex?
- 传递 boost::p ython::numpy::ndarray 作为 boost::p ython 函数的(默认或非
- 在 Cython 中将C++向量转换为 numpy 数组,而无需复制
- Boost Python Numpy - 要初始化的未定义引用
- 如何通过 cython 将 numpy 数组列表传递给 C++
- numpy.load 给出 ValueError: descr 不是有效的 dtype 描述符:
- Pybind11 默认参数 numpy 数组或 None
- C++ - 与 Numpy 中的矢量版本相比,Argsort 效率低的矢量版本实现
- 如何使用 CMake 链接"numpy/arrayobject.h"
- 相当于numpy.exexpand_dims()和numpy.contenate()的C++
- Pybind11:在C++中使用Pybind11转换numpy数组的问题
- 使用SWIG将numpy数组元素(int)传递给c++int
- 如何在 swig 中使用 numpy.i?
- 如何将 numpy 二维数组作为一种可以用C++读取的二进制格式存储在磁盘上
- Cython:如何在不需要 GIL 的情况下从 numpy 内存视图转到矢量[对[双,双]]?
- 链接问题 boost::p ython::numpy.
- 从 numpy 数组获取指针以将图像发送到C++
- C++中是否有一个功能可以创建一个像Python的"numpy.bmat"一样简单的块矩阵?