特征和标准::向量
Eigen and std::vector
我有一个矩阵,它给出如下:
std::vector<std::vector<std::complex<double>>> A;
我想像这样将其映射到特征线性代数库:
Eigen::Map<Eigen::MatrixXcd, Eigen::RowMajor> mat(A.data(),51,51);
但是代码失败了
error: no matching function for call to
‘Eigen::Map<Eigen::Matrix<std::complex<double>, -1, -1>, 1>::
有没有办法转换向量的向量以便 Eigen 可以使用它?
Eigen 使用连续内存,std::vector
也是如此。然而,外std::vector
包含一组连续的std::vector<std::complex<double> >
,每个指向一组不同的复数(并且可以是不同的长度(。因此,标准"矩阵"不是连续的。您可以做的是将数据复制到特征矩阵,有多种方法可以做到这一点。最简单的方法是遍历i
和j
,更好的选择是类似
Eigen::MatrixXcd mat(rows, cols);
for(int i = 0; i < cols; i++)
mat.col(i) = Eigen::Map<Eigen::VectorXcd> (A[i].data(), rows);
相关文章:
- 标准::向量声明中使用的模板参数
- 如何声明一个标准::提升直方图的向量?提升直方图的类型是什么?
- 使用 C++98 标准填充二维静态向量
- 重载运算符 + 用于向量:命名空间标准
- 如何将整数向量插入到键中,标准::映射的值
- C++带有标准::地图的向量?
- 在使用标准向量函数时引发'std::bad_alloc'实例后调用的终止
- 如何在不使用标准算法的情况下在排序向量中添加 c 元素?
- 在标准向量中将元素分配给 Eigen::Vector2d 会引发错误
- 优化将标准::uint32_t插入到标准::向量<char>中
- 标准向量之上的 C++11 包装类
- 标准::向量的协变包装器
- 根据标准对结构向量进行排序,然后显示结果
- 在C++中初始化布尔向量的标准方法是什么
- 如何使用向量查找平均值和标准差
- 非标准语法;使用 '&' 创建指向成员的指针错误,将成员函数分配给向量时出错
- 瓦尔格林德:在字符[]到标准::向量迁移之后"Invalid write of size 1"<char>
- 分配矩阵列标准偏差的向量正在改变其值(RcppArmadillo)
- C++标准是否对向量赋值函数或构造函数提出了明确的要求
- 过滤器标准::向量 标准::字符串的