行列から対角要素を抽出する、又は対角行列を作成する
numpyのdiag() 関数を使う事で、行列から対角要素を抽出したり、対角行列に変換する事が出来ます。
インポートするパッケージはnumpyです。
サンプルコードは、diag() 関数を使って行列から対角要素を抽出するコードです。
[[ 1 2 3 4] [11 12 13 14] [21 22 23 24] [31 32 33 34] [41 42 43 44]] [ 1 12 23 34] [ 2 13 24] [ 3 14] [11 22 33 44] [21 32 43]
タプル又はリストに対してdiag() 関数を使うと対角行列を生成します。
[1 2 3 4] [[1 0 0 0] [0 2 0 0] [0 0 3 0] [0 0 0 4]] [[0 1 0 0 0] [0 0 2 0 0] [0 0 0 3 0] [0 0 0 0 4] [0 0 0 0 0]] [[0 0 1 0 0 0] [0 0 0 2 0 0] [0 0 0 0 3 0] [0 0 0 0 0 4] [0 0 0 0 0 0] [0 0 0 0 0 0]] [[0 0 0 0 0] [1 0 0 0 0] [0 2 0 0 0] [0 0 3 0 0] [0 0 0 4 0]] [[0 0 0 0 0 0] [0 0 0 0 0 0] [1 0 0 0 0 0] [0 2 0 0 0 0] [0 0 3 0 0 0] [0 0 0 4 0 0]]