問題タブ [sparse-matrix]

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 投票する
2 に答える
358 参照

parallel-processing - 並列のスパース行列の作成

スパース(CSRや座標など)行列の効率的な作成(要素の入力)を並行して可能にするアルゴリズムはありますか?

0 投票する
4 に答える
5600 参照

python - スパース ファイルの途中にバイナリ データを書き込む

ランダムな順序で到着する断片でバイナリ ファイルをコンパイルする必要があります (はい、P2P プロジェクトです)。

ファイルへのオフセット1MBで32KBの書き込み(f、o、d)があり、次にオフセット0で別の32KBの書き込み(f、o、d)があるとします

最終的に 65KB の長さのファイルになります (つまり、32KB と 1MB の間の 0 で構成されるギャップは切り捨てられます/消えます)

これは信じられないほどばかげた質問に見えるかもしれませんが、file.open(..)モードからは理解できないようです

ありがたいアドバイスをいただきました。

*** アップデート

P2P作品を書く私の方法は次のようになりました(そこから何らかの価値を得るかもしれない人のために)

注: struct.pack を使用して、しばらく悩まされていたいくつかのエンディアンの問題にも対処しました。

不思議に思っている人のために、私が取り組んでいるプロジェクトは、ネットワークから直接キャプチャされた BT メッセージを分析することです。

0 投票する
4 に答える
2708 参照

sparse-matrix - GPU または CPU での疎行列乗算?

どう思いますか?GPU または CPU (マルチスレッド) でスパース行列 (CSR) 乗算 (ベクトルを使用) を実行すると、どちらが速くなりますか?

0 投票する
3 に答える
3982 参照

c - Cでのスパース行列ストレージ

対称ではないスパース行列IEのスパース性はややランダムであり、対角線から設定された距離にあるすべての値を当てにすることはできません。

ただし、それでもまだまばらであり、マトリックスのストレージ要件を減らしたいと思います。したがって、最初の非ゼロから始まり、最後の非ゼロに到達するまで、各行を順番に格納する方法を理解しようとしています。

つまり、行mの最初の非ゼロが列2にあり、最後の非ゼロが列89にある場合、A[m]行2->89に格納します。

各行には同じ数の非ゼロがないため、Aのすべての行に同じ数の要素を持たせ、非ゼロ要素の数が少ない行の行の最後にゼロを埋め込みます。 。

この翻訳をCで行うにはどうすればよいですか?私は実際には、値をコピーするための元の完全なマトリックスを持っていません(元のマトリックスはCSR形式で私に届きます)。これをFortranで行っている場合は、配列を2次元として定義し、ゼロ以外の列の開始/停止値を追跡して各行を可変長にし、そのように格納することができます。

以下にデモンストレーションを試みます。

これは私が知っている値のマトリックス表現です-そして各値について、私は行と列の位置を知っています

この1つの行mでは、最初の非ゼロと最後の非ゼロの間の「スパン」が最大であるため、新しいマトリックスは次のようになります。5x[span of row m]

ご覧のとおり、行mはとにかく最長の「スパン」であったため、ゼロのパディングは必要ありません。

他の行はすべて、最初の非ゼロとして行ゼロを持ち、各非ゼロ間のゼロ列の間隔を維持します。

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

sql - 追加のプロパティを持つレコード:スパーステーブルまたはEAV?

ほとんどの場合、数十の列が既に入力されているモデルがあります。次に、毎回異なる可能性のあるフィールドを追加する必要があります。

最善のアプローチは何ですか?私はEAVパターンが好きではありません。特に、これらの追加のプロパティがどのように大きく異なる可能性があるかを考えると、スパーステーブルを使用するというアイデアも好きではありません。

例:

次に、次のようなプロパティを追加します。

これらの追加のプロパティはレコードごとに大きく異なる可能性があり、ほとんどの場合、それらの数は限られていますが、保証はありません。

レコードを次のように考えてください。

これらの追加のプロパティが実際に列であるかのように、レコードを一覧表示、フィルタリング、および検索できるようにしたいです。たとえば、次のようなクエリを実行できる必要がありますSELECT fields FROM table WHERE ep_n > 20SELECT fields FROM table WHERE ep_1='ABC'

これに対する最善の解決策は何ですか?

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

java - org.apache.commons.math.linear パッケージのスパース行列のすべてのエントリにアクセスする

このパッケージには疎行列の 2 つの実装が含まれています。

  1. OpenMapRealMatrix
  2. SparseFieldMatrix

どちらも「オープン アドレス マップに基づくスパース マトリックスの実装」として文書化されています。

2つの違いは何ですか?また、すべてのエントリを高速に反復処理する最良の方法は何ですか (つまり、ゼロ以外の要素を反復処理することを意味します)。

ありがとう!

0 投票する
3 に答える
6921 参照

sparse-matrix - HDF5 でのスパース配列のサポート

何らかの方法で 512^3 配列をディスクに格納する必要があり、現在 HDF5 を使用しています。配列がまばらであるため、多くのディスク領域が無駄になります。

HDF5 はスパース配列をサポートしていますか?

0 投票する
4 に答える
818 参照

cuda - CUDAを使用した疎行列線形方程式の解の効果的な実装はありますか?

CUDAを使用した疎行列線形方程式の解の効果的な実装はありますか?

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

tsql - T-SQL: SELECT INTO スパース テーブル?

ほとんど空のテーブルを大量に SQL Server 2008 に移行しています。

テーブルは、1 つの大きな論理テーブルの垂直パーティションです。

問題は、この論理テーブルに 1024 を超える列があることです。

ほとんどのフィールドが null であるため、スパース テーブルを使用する予定です。

これまでのすべてのテーブルで、SELECT...INTO を使用してきましたが、これは非常にうまく機能しています。

ただし、「テーブル 'MyBigTable' の列 'xyz' が最大 1024 列を超えているため、CREATE TABLE が失敗しました。」

SELECT...INTO を実行して、スパース サポートを使用して新しいテーブルを作成する方法はありますか?

0 投票する
4 に答える
874 参照

java - Java マトリックスの処理時間

すべてのグルからの簡単な意見が必要です!

いくつかの行列計算を行うプログラムを開発しました。小さなマトリックスで問題なく動作します。ただし、BIG数千列の行行列の計算を開始すると。それはスピードを殺します。

各行で処理を行い、結果をファイルに書き込み、メモリを解放して2行目の処理を開始し、ファイルに書き込むなどを考えていました。

速度の向上に役立ちますか?この変更を実装するには、大きな変更を加える必要があります。だからこそ、あなたの意見が必要です。どう思いますか?

ありがとう

PS: コルトとジャマ マトリックスについては知っています。社内規定により、これらのパッケージを使用することはできません。


編集済み

私のプログラムでは、すべての行列を 2 次元配列に格納していますが、行列が小さい場合は問題ありません。ただし、数千の列と行がある場合。次に、計算のためにこのすべての行列をメモリに保存すると、パフォーマンスの問題が発生します。行列に浮動値が含まれています。処理のために、メモリ内のすべての行列ストアを読み取り、計算を開始します。計算後、結果をファイルに書き込みます。