2014-12-31 6 views
1
R에서

인 행렬 주어진 I 이렇게 G 모든 항목의 비율을 형성 할 수Eigen3 : 비 벡터 엔트리

> 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) 이후 이것을하는 쉬운 방법이 될 수 있습니다. .

답변

0

표준 : : cout을 < < vec1.col (0) * vec1.col (0) .cwiseInverse는()() < < 표준 : : endl의 트랜스 작동;

관련 문제