読者です 読者をやめる 読者になる 読者になる

Python | numpy.matrix でベクトル、行列の演算

>>> import numpy as np

# ベクトル
>>> x = np.matrix([1, 0, 0])

>>> x  # 横ベクトル
matrix([[1, 0, 0]])

>>> x.T  # 縦ベクトル
matrix([[1],
        [0],
        [0]])

>>> 2 * x + [0, 3, 4] + 10  # スカラー倍とベクトルの和、各要素にスカラーを加える
matrix([[12, 13, 14]])

>>> x.T * x  # 縦 * 横 -> 行列 (3*3)
matrix([[1, 0, 0],
        [0, 0, 0],
        [0, 0, 0]])

>>>  x * x.T  # 横 * 縦 -> スカラー (1*1)
x * x.T

# 行列
>>> A = np.matrix([[1, 2, 3],
>>>                [4, 5, 6],
>>>                [7, 8, 9]])

>>> A
matrix([[1, 2, 3],
        [4, 5, 6],
        [7, 8, 9]])

>>> 2 * A + 100 - [[ 2,  4,  6],  # スカラー倍と行列の和、各要素にスカラーを加える
>>>                [ 8, 10, 12],
>>>                [14, 16, 18]]
matrix([[100, 100, 100],
        [100, 100, 100],
        [100, 100, 100]])

# 行列とベクトル
>>> A * x.T  # 行列 * 縦ベクトル
matrix([[1],
        [4],
        [7]])

>>> x * A  # 横ベクトル * 行列
matrix([[1, 2, 3]])

>>> A + x  # 各行に横ベクトルを加える
matrix([[2, 2, 3],
        [5, 5, 6],
        [8, 8, 9]])

 >>> A + x.T # 各列に縦ベクトルを加える
matrix([[2, 3, 4],
        [4, 5, 6],
        [7, 8, 9]])