itertools 関数 が C で書かれていることは私の理解です。このサンプル コードをスピードアップしたい場合:
import numpy as np
from itertools import combinations_with_replacement
def combinatorics(LargeArray):
newArray = np.empty((LargeArray.shape[0],LargeArray.shape[0]))
for x, y in combinations_with_replacement(xrange(LargeArray.shape[0]), r=2):
z = LargeArray[x] + LargeArray[y]
newArray[x, y] = z
return newArray
Cで書かれているのでcombinations_with_replacement
、高速化できないということですか?お知らせ下さい。
前もって感謝します。