問題タブ [numpy-ufunc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python Sympy ufuncify FallingFactorial
Sympy の FallingFactorial 関数を関数化して、単なる整数のペアではなく、配列入力に対して numpy と同様に機能するようにしたいと考えています。
次のコードを試しました:
しかし、次のエラーが表示されます。
上記のコードは他の人でも機能しますか、それとも何か問題がありますか? Python 2.7 と Sympy 0.7.4.1 を使用しています
python - 第一級に割り当てられた機能の文書化
次のように、Python 関数のファーストクラスの性質を利用して定義された関数があります。
定義された関数に docstring をそのまま追加する方法が必要です。または、通常の方法で docstring を記述できるように、より一般的な形式を使用して同じことを実現する必要があります。
関数が次のように呼び出されたときに機能します
しかし、その後、メソッドを呼び出すことができなくなります。たとえば、
frompyfunc
これは、 から派生した を使用すると、関数がよりクラスのようになるためだと思いufunc
ます。
関数ではなくクラスを定義する必要があるかもしれないと考えていますが、方法がわかりません。通常どおり docstring を簡単に追加できるので、それで問題ありません。
元の方法は機能しますが、簡単に文書化できないため、これにタグを付けましcoding-style
た。タイトルが明確でない場合は申し訳ありませんが、これを説明する正しい語彙がわかりません。
python - numpy ufuncs 速度と for ループ速度
「numpyでforループを避ける」をたくさん読んだことがあります。それで、私は試しました。このコード(簡易版)を使用していました。いくつかの補助データ:
私の最初の実装はfor
ループでした:
for
次に、明示的なサイクルを取り除き、これを達成しました。
そして、このソリューションは小さな配列ではより高速でしたが、スケールアップすると、次のような時間依存性が得られました。
私が見逃しているものは何ですか、それとも正常な動作ですか? そうでない場合は、どこを掘るのですか?
編集:コメントによると、ここにいくつかの追加情報があります。時間は IPython%timeit
とで測定され%%timeit
、すべての実行は新しいカーネルで実行されました。私のラップトップはacer aspire v7-482pg (i7, 8GB)です。私は使用しています:
- パイソン3.5.2
- numpy 1.11.2 + mkl
- ウィンドウズ10
python - __numpy_ufunc__() の使用
ここで Numpy v1.11 docs で__numpy_ufunc__()
説明されているメソッドを使用して、 のサブクラスで numpy ufuncs の動作をオーバーライドしようとしていますが、呼び出されないようです。この使用例はガイドに記載されていますが、実際に を使用している例は見つかりません。誰もこれを試しましたか?最小限の例を次に示します。ndarray
__numpy_ufunc__()
3.5.1 |Continuum Analytics, Inc.| (デフォルト、2016 年 6 月 15 日 15:32:45)
[GCC 4.4.7 20120313 (レッドハット 4.4.7-1)
1.11.2
⟨class ' main .Function'⟩ ⟨class ' main .Function'⟩
関数([2, 4, 6])
関数([2, 4, 6])
明らかに、サブクラス化は機能しており、バックグラウンドで numpy を使用して配列を追加しています。この機能を採用するのに十分な新しいバージョンのnumpyを使用してい__numpy_ufunc__()
ます(そのドキュメントページによると、v1.11で新しくなりました)。しかし、このコードは出力されません"In PF __numpy_ufunc__"
。何を与える?
python - Pythonスライスオブジェクトからnumpy.ufunc.reduceatインデックスを生成するにはどうすればよいですか
のようなスライスがあるとします。または、これを使用して orx[p:-q:n]
にx[::n]
渡されるインデックスを生成したいとします。それを実現するための最も簡単で効率的な方法は何ですか?numpy.ufunc.reduceat(x, [p, p + n, p + 2 * n, ...])
numpy.ufunc.reduceat(x, [0, n, 2 * n, ...])
performance - Numpy Index For ループを避ける
for
このような操作に 2 番目のループを使用しないようにする方法はありますか?
または、これを最適化するより良い方法はありますか? 現在、大きなサイズでは信じられないほど遅いです。