特征如何进行动态矩阵和向量乘法
How can Eigen do dynamic matrix and vector multiplication?
我在做动态矩阵和矢量点积时遇到了麻烦,令人惊讶的是,我没有找到任何解决方案,因为Eigen
是一个流行的库。
所以代码非常简单:
int k = 3;
MatrixXd m;
m.resize(k, k);
ArrayXd a;
a.resize(k);
std::cout << "Dot product: " << m*a << std::endl;
我收到错误
二进制表达式的操作数无效("MatrixXd"(又名"矩阵")和"ArrayXd"(又名"数组")) std::cout <<"点积: " <<m*a <<std::endl;
我很困惑做动态矩阵和向量乘法是否可行。同时,我发现向量和矩阵有.dot()
方法,那么使用哪一种,*
还是.dot()
点积?
你需要有矩阵,而不是矩阵和数组的混合。您需要使用 .matrix()
将a
转换为数组(它是一个视图,没有额外的计算成本)。
尝试:
std::cout << "Dot product: " << m*a.matrix() << std::endl;
相关文章:
- 在线程函数中处理数据向量时进行线程竞速
- 如何有效地用第二个值对向量对进行分组
- 在整个函数中保持相同的向量以进行添加和删除
- 如何在向量上进行二进制搜索以找到具有特定id的元素
- 防止在不同尺寸的,模板,多态性的数学向量上进行组件操作
- 从数据文件中读取每2个字节,并在向量中进行比较
- 使用c 中的向量对进行排序
- 如何将向量一的所有元素与向量二进行比较,如果存在最大元素,则将向量二的所有元素与向量三进行比较?
- 一般情况下,在 cv::Mat 或 cv::Mat 的向量上进行 omp 还原
- 在排序字符串向量中进行有效搜索
- 为什么内置排序无法对向量映射进行排序
- 对 c++ 向量<string>进行排序
- 根据优先级对向量列表进行字典式排序
- 按升序对特征向量Xf进行排序
- 如何使用向量<int>进行超大的整数乘法
- 将数据插入多维向量并进行排序
- 将随机数与向量大小进行比较时出错
- 在OpenCV C++中训练支持向量机进行车牌识别
- 将两个多项式与向量系数进行比较C++
- 在 c++ 中对向量<结构 S> 进行二分搜索?