2017-11-22 12 views
0

は、2つの配列の要素ごとの乗算はクロス製品

val dot_Mole = (mole_1, mole_2).zipped.map(_ * _).sum 

Which yields >> 6.0 

どのようにでしょうだろうのスカラ・スパーク

val mole_1 = Array(2.0,1.0,0.0,0.0,0.0,0.0) 
val mole_2 = Array(2.0,2.0,0.0,0.0,0.0,0.0) 

に2つの配列は今、効率的な方法を検討しますこれらの配列間にクロスプロダクトを実装するためにzipとmapを使用して>>12.0を与えますか?

USeのみzipped, map and reduceです。

答えて

2

あなたはこのように行うことができます。

val dot_mole = Mole_1.map{ x => Mole_2.map(b => b * x)}.flatten.sum 
dot_mole: Double = 12.0