scipy or numpy
を使用して次のタイプの行列を作成しようとしています。インデックスに応じて可変行列を作成する方法
A_1 = diag(0.5, 0, 0, ...., 0)
A_k = diag(0,0, ..., 1, 0, 0, ....,0) for each 1 < k < N
A_N = diag(0, 0, ...., 0, 0.5)
本質A_k
Sは、各 K < NとA_1
ための対角のk番目の位置に1(1 0.5を有する対角行列で有するような対角行列の系列であります1)0以外の位置に0を持ち、A_N
は、(N、N)の位置に0.5、それ以外のすべての0を持つ対角行列です。
私はscipy
のスパース行列を使用できますが、私は個々の行列を作成する方法を知っています。しかし、k
に応じて呼び出すことができる関数として、一連の行列全体をどのように作成するのですか?より明示的にNのため
= 4
A_1 = diag(0.5, 0, 0, 0)
A_2 = diag(0, 1, 0, 0)
A_3 = diag(0, 0, 1, 0)
A_4 = diag(0, 0, 0, 0.5)
2D配列のそれぞれが 'A_1'などではありませんか?多分、N = 4か何かの期待されるo/pを見せてくれるでしょうか? – Divakar
はい、そうです。行列を明示的に追加しました。 – minibuffer