問題タブ [sparse-array]

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.

0 投票する
1 に答える
1811 参照

python - Python / Cython の高速 n 次元スパース配列

非常にまばらな大規模な n 次元配列を含むアプリケーションがあります。scipy.sparseには便利な「ベクトル化された取得と設定」機能があるため、Cython を使用してスパース行列をすばやく作成できます。

もちろん、scipy パッケージは n 次元を処理できません。私が見つけた 2 つのパッケージは、Pythonsparrayndsparse. ただし、ベクトル化された取得および設定機能もないようです。

したがって、次のいずれかが必要です。

  • ベクトル化された get および set または
  • Cython または
  • 私が推測するいくつかの「独自のロール」オプションには、python dictに相当するacが必要です

私の目的のために、n 次元の座標を 1 次元または 2 次元に戻すとうまくいくと思います。ただし、Cythonループ内で高速にアクセスできるdictに相当するものを用意することをお勧めします。これで python が除外されると思いdictます。

Cython 内から c++ マップ オブジェクトを使用する方法の例を教えてもらえないでしょうか?

0 投票する
0 に答える
233 参照

matlab - Matlab - N 個のスパース行列を作成して合計する

スパースなベクトルがN kx1あり、それらのそれぞれに転置を掛けて N 平方行列を作成し、それを合計する必要があります。目的の出力はkbyk行列です。これをループで実行し、arrayfun を使用しようとしましたが、どちらのソリューションも遅すぎます。おそらく、あなたのいずれかがより速いものを思い付くことができます。以下は、私が思いついた最適なソリューションに関する具体的な詳細です。

mdev_big各ベクトルを含む疎行列kによるものです。NN

このプロセスの遅い部分はsigma_iいっぱいになることですが、それ以外の方法で 3D 配列に再形成することはできません。また、reshape の代わりに cat (遅い)、full の代わりに ndSparse (かなり遅い) fun_sigma_i、スパース行列ではなく完全な行列を返す (遅い) ことも試しました。

助けてくれてありがとう!、

0 投票する
1 に答える
1345 参照

python - scipy の部分行列

疎行列 A と列ベクトル a があります。

サブマトリックスを書きたいと思います。このために私が書いたコードは次のとおりです。

問題を解決するのに必要な時間はかなり長いです。プロセスを高速化するためにコードを変更できるかどうかを知りたいです。

0 投票する
1 に答える
2034 参照

julia - Julia の多次元スパース行列

Juliaに多次元疎行列/配列がないのはなぜですか? たとえば、3D 疎行列 (または配列) ではなく、2D 疎行列のみを使用できるのはなぜですか?

0 投票する
1 に答える
2477 参照

android - SparseArray を Adapter のソースとして使用するには?

スピナーに入力したい値のスパース配列があり、アイテムが選択されたら、ID (スパース配列のキー) を取得したいと考えています。

SparseArray からアダプタを作成するための推奨される方法は何ですか?

BaseAdapter や ListAdapter などの既存のアダプタをサブクラス化して、アイテムが SparseArray のキーをアイテム ID として持つようにすることは可能ですか?

上記を達成する方法がわからないので、単純な ArrayAdapter インスタンスを作成し、ソースとして SparseArray の値を与え、アイテムが選択されたときに値でキーを検索することを考えていますが、これはそうではないと思います効率的。

0 投票する
2 に答える
2391 参照

java - Android でスパース配列の末尾に値を追加できません

今日まで元気に遊んでいsparseArrayました。今では sparseArray は私の愛に報いないようです :(

に格納しているオブジェクトの順序を維持する必要がありますsparseArraysetValueAtキーを設定できないメソッドは 1 つだけです。keyは私にとって重要です。

回避策を教えてください。ソースをハックする必要がありますか?または、自分のカスタム sparseArray クラスに追加できるカスタム メソッドを手伝ってくれる人がいる場合、つまり、そのメソッドを追加するためにMySparseArray継承をコード化します。sparseArray最後のインデックスまたは my の最後に、特定のキーを持つオブジェクトを追加する必要がありますsparseArray

0 投票する
1 に答える
305 参照

java - カスタム バッファ クラスに描画する [Java]

短いバージョン: (Graphics2D 経由で) カスタム バッファー クラス (「スパース」ラスター イメージ) に描画することは可能ですか?

より長いバージョン: ポリゴン (閉じたパスで指定) をラスター イメージに変換したいと思います。

しかし、ポリゴンが非常に大きくなる可能性があるため (これは研究プロジェクトです)、スパース ストレージを使用する必要があります (プロジェクトのこの部分は、私の前の誰かによって既に実装されていました)。

(効率的な) ラスタリング アルゴリズムの実装には時間がかかるため、Java によって既に提供されているメソッド (Graphics2D など) を使用し、BufferedImage に描画する代わりに、独自のカスタム ストレージに描画しようとします (BufferedSparseImage のように考えてください)。 )。

それは可能ですか/これを達成する最も簡単な方法は何ですか?