「NumPy」配列ndarrayを元に対称行列を生成するサンプル

環境
PyCharm 2021.3
Python 3.9.7

構文
np.arange(数字).reshape(行数, 列数)
正方行列を表す任意のNumPy配列ndarrayを元に対称行列を生成します。
関数np.tril(), np.triu()でndarrayから下三角成分・上三角成分を抽出します。

使用例

import numpy as np

print("対称行列を生成する結果")
res = np.arange(12).reshape(3, 4)
print(res)

print("ndarrayから下三角成分を抽出する結果")
print(np.tril(res))

print("ndarrayから上三角成分を抽出する結果")
print(np.triu(res))

実行結果

対称行列を生成する結果
[[ 0  1  2  3]
 [ 4  5  6  7]
 [ 8  9 10 11]]
ndarrayから下三角成分を抽出する結果
[[ 0  0  0  0]
 [ 4  5  0  0]
 [ 8  9 10  0]]
ndarrayから上三角成分を抽出する結果
[[ 0  1  2  3]
 [ 0  5  6  7]
 [ 0  0 10 11]]

 

NumPy

Posted by arkgame