Vector 特征向量乘法

Vector 特征向量乘法,vector,eigen,vector-multiplication,Vector,Eigen,Vector Multiplication,我需要重现这个Matlab操作: r = U(:,ii)'*Es 其中: U是(复数的)矩阵,Es是(复数的)向量 最后,我得到的是标量复数值r 现在,我尝试在C++中用EIGIN LIBS做同样的事情,我已经尝试过: complex<double> r = U.col(jj) * Es; 复数r=U.col(jj)*Es; 而且 complex<double> r = U.col(jj).transpose() * Es; 复数r=U.col(jj).tran

我需要重现这个Matlab操作:

r =  U(:,ii)'*Es
其中:
U
是(复数的)矩阵,
Es
是(复数的)向量

最后,我得到的是标量复数值
r

现在,我尝试在C++中用EIGIN LIBS做同样的事情,我已经尝试过:

complex<double> r = U.col(jj) * Es;
复数r=U.col(jj)*Es;
而且

complex<double> r = U.col(jj).transpose() * Es;
复数r=U.col(jj).transpose()*Es;
但它什么都不起作用。有人能帮我吗?如何重现相同的结果?
谢谢大家!

@chtz,谢谢你。我已经测试了您的建议,重现matlab所需的操作是:

U.col(jj).dot(Es)

U.col(jj).dot(Es)
U.col(jj).conj().dot(Es)
(我永远不知道Matlab的约定是什么)下面的方法也能起作用:
complex r=U.col(jj).adjunction()*Es
@ggael如果
U.col(jj).adjunction()*Es
有效,为什么
.transpose()*Es
无效?(除非JoJo使用的是一个非常旧版本的Eigen——实际上我没有尝试他的代码…@chtz
。transpose()*Es
也可以用非常旧的Eigen版本编译并运行良好,所以我猜JoJo的意思是说在这种情况下结果是不正确的。