1. ホーム
  2. python

[解決済み] numpy行列の上三角部または下三角部を抽出します。

2023-03-10 04:12:59

質問

行列 A で、2つの行列 UL というように U は A の上三角形要素 (対角線より上で対角線を含まないすべての要素) を含み、同様に L (対角線を含まない下のすべての要素) も同様です。はあるのだろうか? numpy メソッドでこれを行うことはできますか?

A = array([[ 4.,  9., -3.],
           [ 2.,  4., -2.],
           [-2., -3.,  7.]])
U = array([[ 0.,  9., -3.],
           [ 0.,  0., -2.],
           [ 0.,  0.,  0.]])
L = array([[ 0.,  0.,  0.],
           [ 2.,  0.,  0.],
           [-2., -3.,  0.]])

どのように解決するのですか?

試しに numpy.triu (三角アッパー)と numpy.tril (triangle-lower)です。