Eigen3:矩阵,它是比率矢量条目

时间:2014-12-31 21:57:31

标签: eigen3

在R中,给出载体G

> G <- c(-0.44852453+0i, -0.40701659+0i, -0.65381971+0i, -0.37545331+0i, -0.05763717+0i, -0.24778175+0i)

我可以像这样形成G中所有条目的比率:

> B<-outer(G, G, FUN='/')
> 
> B
             [,1]         [,2]          [,3]         [,4]         [,5]         [,6]
[1,] 1.0000000+0i 1.1019810+0i 0.68600644+0i 1.1946213+0i  7.781862+0i 1.8101597+0i
[2,] 0.9074567+0i 1.0000000+0i 0.62252114+0i 1.0840671+0i  7.061703+0i 1.6426415+0i
[3,] 1.4577123+0i 1.6063712+0i 1.00000000+0i 1.7414142+0i 11.343716+0i 2.6386920+0i
[4,] 0.8370853+0i 0.9224521+0i 0.57424593+0i 1.0000000+0i  6.514083+0i 1.5152581+0i
[5,] 0.1285039+0i 0.1416089+0i 0.08815453+0i 0.1535135+0i  1.000000+0i 0.2326127+0i
[6,] 0.5524375+0i 0.6087756+0i 0.37897565+0i 0.6599536+0i  4.298992+0i 1.0000000+0i

在eigen3中有一种简单的方法吗?

所以我可以在c ++中完成

std::cout << vec1 * vec1.transpose() << std::endl;

但我无法做到

std::cout << vec1 / vec1.transpose() << std::endl;

你认为,因为a / b = a *(1 / b),所以有一种简单的方法可以做到这一点。

1 个答案:

答案 0 :(得分:0)

这有效

std :: cout&lt;&lt; vec1.col(0)* vec1.col(0).cwiseInverse()。transpose()&lt;&lt;的std :: ENDL;