目次
概要
NumPy の指定した行列から上三角行列、下三角行列、対角行列を作成する及び対角成分を取得する関数を解説します。
関数一覧
numpy.diag
指定した配列が2次元配列の場合、対角成分を1次元配列として返します。指定した配列が1次元配列の場合、その配列を対角成分とした2次元配列を返します。
numpy.diag(v, k=0)
引数
名前 | 型 | デフォルト値 |
---|---|---|
v | array_like | |
v が2次元配列の場合、対角成分を1次元配列として返します。v が1次元配列の場合、その配列を対角成分とした2次元配列を返します。 | ||
k | int | 0 |
対角線の位置。0 は主対角線を指し、正の値は上の対角線を指し、負の値は下の対角線を指します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した配列指定した配列が2次元配列の場合、対角成分を1次元配列。指定した配列が1次元配列の場合、その配列を対角成分とした2次元配列。 |
引数 k
で指定する対角線の位置
サンプルコード
In [1]:
import numpy as np
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.diag(a)
print(b)
[1 5 9]
In [2]:
b = np.diag(a, k=1)
print(b)
[2 6]
In [3]:
b = np.diag(a, k=-1)
print(b)
[4 8]
In [4]:
a = np.array([1, 5, 9])
b = np.diag([1, 5, 9])
print(b)
[[1 0 0] [0 5 0] [0 0 9]]
numpy.diagflat
指定した1次元配列を対角成分とした2次元配列を返します。
numpy.diagflat(v, k=0)
引数
名前 | 型 | デフォルト値 |
---|---|---|
v | array_like | |
対角成分として設定する1次元配列 | ||
k | int | 0 |
対角線の位置。0 は主対角線を指し、正の値は上の対角線を指し、負の値は下の対角線を指します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
out | 指定した1次元配列を対角成分とした2次元配列 |
サンプルコード
In [5]:
a = np.array([1, 5, 9])
b = np.diagflat([1, 5, 9])
print(b)
[[1 0 0] [0 5 0] [0 0 9]]
In [6]:
b = np.diagflat(a, k=1)
print(b)
[[0 1 0 0] [0 0 5 0] [0 0 0 9] [0 0 0 0]]
In [7]:
b = np.diag(a, k=-1)
print(b)
[[0 0 0 0] [1 0 0 0] [0 5 0 0] [0 0 9 0]]
numpy.tri
下三角成分が 1、上三角成分が 0 の2次元配列を返します。
numpy.tri(N, M=None, k=0, dtype=<class 'float'>)
引数
名前 | 型 | デフォルト値 |
---|---|---|
N | int | |
2次元配列の行数 | ||
M | int | None |
2次元配列の列数 | ||
k | int | 0 |
対角線の位置。0 は主対角線を指し、正の値は上の対角線を指し、負の値は下の対角線を指します。 | ||
dtype | dtype | |
返される配列の型 |
返り値
名前 | 説明 | ||
---|---|---|---|
tri | 下三角成分が 1、上三角成分が 0 の2次元配列を返します。 |
サンプルコード
In [8]:
a = np.tri(3, dtype=int)
print(a)
[[1 0 0] [1 1 0] [1 1 1]]
In [9]:
a = np.tri(3, 4, dtype=int)
print(a)
[[1 0 0 0] [1 1 0 0] [1 1 1 0]]
In [10]:
a = np.tri(3, k=1, dtype=int)
print(a)
[[1 1 0] [1 1 1] [1 1 1]]
In [11]:
a = np.tri(3, k=-1, dtype=int)
print(a)
[[0 0 0] [1 0 0] [1 1 0]]
numpy.tril
指定した2次元配列の上三角成分を 0 とした配列を返します。
numpy.tril(m, k=0)
引数
名前 | 型 | デフォルト値 |
---|---|---|
m | array_like, shape (M, N) | |
2次元配列 | ||
k | int | 0 |
対角線の位置。0 は主対角線を指し、正の値は上の対角線を指し、負の値は下の対角線を指します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
tril | 配列と同じ形状と型を持つ、上三角成分を 0 とした配列 |
サンプルコード
In [12]:
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.tril(a)
print(b)
[[1 0 0] [4 5 0] [7 8 9]]
In [13]:
b = np.tril(a, k=1)
print(b)
[[1 2 0] [4 5 6] [7 8 9]]
In [14]:
b = np.tril(a, k=-1)
print(b)
[[0 0 0] [4 0 0] [7 8 0]]
numpy.triu
指定した2次元配列の下三角成分を 0 とした配列を返します。
numpy.triu(m, k=0)
引数
名前 | 型 | デフォルト値 |
---|---|---|
m | array_like, shape (M, N) | |
2次元配列 | ||
k | int | 0 |
対角線の位置。0 は主対角線を指し、正の値は上の対角線を指し、負の値は下の対角線を指します。 |
返り値
名前 | 説明 | ||
---|---|---|---|
tril | 配列と同じ形状と型を持つ、下三角成分を 0 とした配列 |
サンプルコード
In [15]:
a = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
b = np.triu(a)
print(b)
[[1 2 3] [0 5 6] [0 0 9]]
In [16]:
b = np.triu(a, k=1)
print(b)
[[0 2 3] [0 0 6] [0 0 0]]
In [17]:
b = np.triu(a, k=-1)
print(b)
[[1 2 3] [4 5 6] [0 8 9]]
コメント