犰狳向量矩阵乘法
Posted
技术标签:
【中文标题】犰狳向量矩阵乘法【英文标题】:Armadillo vector-matrix multiplication 【发布时间】:2017-03-17 16:34:20 【问题描述】:是否可以将矩阵乘以(点积)犰狳中的向量? 在我看来,这种库是我们期望的基本操作,所以它应该存在。到目前为止我所有的尝试都失败了:
"matrix multiplication: incompatible matrix dimensions: 1206x36 and 1x1206"
"matrix multiplication: incompatible matrix dimensions: 1206x36 and 1206x1"
"matrix multiplication: incompatible matrix dimensions: 1x1206 and 1206x36"
"matrix multiplication: incompatible matrix dimensions: 1206x1 and 1206x36"
【问题讨论】:
第一个矩阵的第二维应该与第二个矩阵的第一维匹配,对吧? (a x b
* b x c
)。基于以下行中的错误,这并不成立:第 1、第 2 和第 4
我基本上尝试了所有组合。我了解矩阵向量乘法的工作原理。
【参考方案1】:
是的,这是可能的。您能否提供用于产生上述错误的源代码示例?请尝试以下操作,因为它应该可以正常工作。
arma::mat X ;
arma::vec beta ;
beta.resize ( 2 ) ;
beta (0) = 1.0 ;
beta (1) = 3.0 ;
X.resize ( 3, 2 ) ;
X (0,0) = 1.0 ;
X (0,1) = 2.0 ;
X (1,0) = 3.0 ;
X (1,1) = 4.0 ;
X (2,0) = 5.0 ;
X (2,1) = 6.0 ;
std::cout << X * beta << std::endl ;
如果两者都定义为“arma::mat”类型,只要尺寸兼容,它也可以工作。
【讨论】:
以上是关于犰狳向量矩阵乘法的主要内容,如果未能解决你的问题,请参考以下文章