2010-08-18 15 views
1

我正在尋找類似numpy內部方法的東西。我有一個叫做'標籤'的4維數組和一個叫'打折'的一維數組(向量)。在numpy中,我可以做numpy.inner(標籤,折扣),這將做折扣和返回一個3維數組的標籤的最後一維的每一行之間的內部產品。我無法弄清楚如何用紅寶石與NArray做同樣的事情。你如何用紅寶石NArray做內部產品?

回答

2
 
$ irb -rnarray 
irb(main):001:0> a=NArray.float(3,2,2).indgen 
=> NArray.float(3,2,2): 
[ [ [ 0.0, 1.0, 2.0 ], 
    [ 3.0, 4.0, 5.0 ] ], 
    [ [ 6.0, 7.0, 8.0 ], 
    [ 9.0, 10.0, 11.0 ] ] ] 
irb(main):002:0> b=NArray[1..3] 
=> NArray.int(3): 
[ 1, 2, 3 ] 
irb(main):003:0> a*b 
=> NArray.float(3,2,2): 
[ [ [ 0.0, 2.0, 6.0 ], 
    [ 3.0, 8.0, 15.0 ] ], 
    [ [ 6.0, 14.0, 24.0 ], 
    [ 9.0, 20.0, 33.0 ] ] ] 
irb(main):004:0> (a*b).sum(0) 
=> NArray.float(2,2): 
[ [ 8.0, 26.0 ], 
    [ 44.0, 62.0 ] ] 
irb(main):005:0> a.mul_add(b,0) 
=> NArray.float(2,2): 
[ [ 8.0, 26.0 ], 
    [ 44.0, 62.0 ] ]