非常にまばらな大規模な n 次元配列を含むアプリケーションがあります。scipy.sparse
には便利な「ベクトル化された取得と設定」機能があるため、Cython を使用してスパース行列をすばやく作成できます。
もちろん、scipy パッケージは n 次元を処理できません。私が見つけた 2 つのパッケージは、Pythonsparray
とndsparse
. ただし、ベクトル化された取得および設定機能もないようです。
したがって、次のいずれかが必要です。
- ベクトル化された get および set または
- Cython または
- 私が推測するいくつかの「独自のロール」オプションには、python dictに相当するacが必要です
私の目的のために、n 次元の座標を 1 次元または 2 次元に戻すとうまくいくと思います。ただし、Cythonループ内で高速にアクセスできるdictに相当するものを用意することをお勧めします。これで python が除外されると思いdict
ます。
Cython 内から c++ マップ オブジェクトを使用する方法の例を教えてもらえないでしょうか?