Vector 特征向量乘法
我需要重现这个Matlab操作: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
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的意思是说在这种情况下结果是不正确的。