点产品作为犰狳的乘法

时间:2016-07-01 15:03:00

标签: c++ armadillo

我有一个行向量和一个列向量,我想拿他们的点积。

rowvec v = {1,2,3,4};
vec w = {5,6,7,8};
double a = dot(v,w) // works
double b = v*w // doesn't work
double c = (v*w)(0) // doesn't work
double d = static_cast<vec>(v*w)(0) //works

是否可以获得类似b的内容?我希望它具有可读性。

1 个答案:

答案 0 :(得分:2)

您也可以使用

double b = as_scalar(v*w); 

但那不是你想要的...... 除了对v,w和b使用mat格式之外,不要认为还有其他可用的替代方法。那么你将获得[{1}}的[1x1]矩阵和v*w的[4x4]矩阵