問題タブ [submatrix]
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.
c++ - C++ で指定された NxN 行列の正方部分行列をすべて決定する
NxN 正方行列が与えられた場合、同じ数の行と列を削除して、可能なすべての正方部分行列を決定したいと思います。
可能なすべての 2x2 行列を決定するには、4 回ループする必要があります。同様に、3x3 行列の場合、6 回ループする必要があります。ループのコードが動的に生成されるように C++ でコードを生成する方法はありますか? C++ でのコード生成に関連するいくつかの回答を確認しましたが、それらのほとんどは python を使用しています。Pythonについてはわかりません。では、C++ でコードを生成するコードを書くことは可能ですか?
matlab - Matlab での 3D サブマトリックスの高速平均化
私の行列のサイズをA
としsx x sy x sz
ます。B の要素がの同じ位置から抽出された部分行列の平均を表すB
( と同じサイズの)行列を取得したいと考えています。A
(x,y,z)
n x n x n
A
どうすればいいですか?
convn
3 つのループを使用または使用してこれを実行できることはわかっていfor
ますが、非常に遅くなります。
私のマシンではA
、サイズのマトリックスの精度が高く、使用すると約20〜30秒かかります。200 x 200 x 150
double
n = 9
algorithm - 2D マトリックス内のサイズ HxW の最大サブアレイ
正の整数の 2 次元配列を指定して、サイズが HxW で合計が最大になる部分四角形を見つけます。長方形の合計は、その長方形内のすべての要素の合計です。
入力: 正の要素を持つ 2D 配列 NxN サブ長方形の HxW サイズ
出力: 要素の合計が最大の HxW サイズの部分行列。
ブルートフォース法を使用してこれを解決しましたが、より複雑なより良いソリューションを探しています (私のブルートフォース法の複雑さは O(n 6 ) です)。
r - Rを使用してより大きな行列から部分行列の次元を抽出する方法は?
次のマトリックスがあります。
要素が1に等しい部分行列の7x4次元を抽出する方法を知りたい.
r - Rで、タイに基づいて(隣接)マトリックスでサブマトリックスを選択する方法
さまざまなジョブ間のモビリティを表すマトリックスがあります。
これは、ソーシャル ネットワーク分析では、重み付けされた有向隣接行列として扱われます。ネットワークの方向は行から列です。したがって、モビリティは、ジョブの行からジョブの列に移動することとして定義されます。別の会社で同じ仕事に変わる可能性があるので、対角線は意味があります。
分析の一環として、ジョブ 1、ジョブ 5、およびジョブ 7 で構成されるサブマトリックスを選択します。
ただし、これはこれら 3 つのジョブ間の直接的な関係を示すだけです。私が必要とするのはこれです:
ここでは、ジョブ 2 と 6 も含まれています。これらの 2 つのジョブは、ジョブ 1、5、または 7 のいずれかと直接関係があるからです。一方、ジョブ 3 と 4 は、ジョブ 1、5、または 7 とは関係がないため除外されています。
どうすればいいのかわかりません。たぶん、どこにでも行くためにそれを igraph-object に変換する必要がありますか?
そして、igraph パッケージの ego/neighborhood-function を使用することもできますか? しかし、どうすればいいのか本当にわかりません。または、これが最善の方法である場合。
お時間をいただきありがとうございます。
エミール・ベグトラップ=ブライト
追加の質問:
別のステップが必要であることが判明しましたが、aichao による回答は、尋ねられた質問に最適です。3 つの「関心のあるジョブ」、この例ではジョブ 1、5、7 に関連するジョブを含む work.list が作成されている場合。次に、実際のデータでは、混乱の量が別のステップを望ましいものにします。つまり、関心のある 3 つのジョブとの間の直接的な関係のみを保持し、他のジョブ間の関係をゼロに設定します。
上記のデータはこれをうまく表していないので、これを実証するために上記のバージョンを作成しました。
aichaos ソリューションを使用して:
次に、これを取得します。
ただし、ジョブ 2 とジョブ 3 の間の関係は無関係であり、関心のある関係をあいまいにするだけです。
job.dat.result では、ジョブ 3 とジョブ 2 の間の関係は行方向と列方向の両方で削除されていますが、これら 2 つのジョブと対象の 3 つのジョブの間の関係は維持されています。理想的には、ジョブ 2 とジョブ 3 の対角線もゼロにするかどうかを選択できる必要があります。しかし、ほとんどの場合、すべてのジョブで対角線をゼロに設定するので、これは必須ではありません。しかし、他に何もないとしても、これの論理をより高いレベルで理解することは素晴らしいことです.
私が達成しようとしているのは、とりわけ、次のようなサークルグラムです。
したがって、同数の単純さが重要です。図は次のように再現されます。
indexing - Tensorflow の部分行列を更新する
簡単に言えば、私がやりたいことは次のとおりです
Tensorflow を除いて (行列が任意に複雑なテンソル式になる場合があります)。どちらA
もB
Tensorflow 変数ではなく、ありふれたテンソルです。
これまでに収集したもの: テンソルは不変であるため、部分行列に割り当てることはできません。tf.scatter_nd
サブ割り当ての現在のオプションですが、サブマトリックスをサポートしていないようで、スライスのみをサポートしています。
機能するはずですが、おそらく理想的ではないメソッド:
- B をゼロでパディングすることもできますが、これは不必要に大きな B のインスタンス化につながると確信しています。スパースにすることはできますか?
A+U.dot(B).U.T
パディングのアイデアを使用することもできますが、たとえば Numpy で低ランクの分解として記述しU
ます。これが実際に有利かどうかはわかりません。- サブマトリックスに分割
A
し、それらを積み重ねることができます。最も効率的かもしれませんが、コードが複雑になるようです。
理想的には、行列が徐々に小さくなるようにこの操作を N 回実行して、1 つの大きな最終結果を得たいと考えていますが、これは接線方向です。
今のところハックの 1 つを使用しますが、慣用的なバージョンが何であるかを誰かが教えてくれることを願っています!