「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]]