PythonでN次正方行列を計算

プログラミング

N次正方行列とは

正方行列が、行の要素数と列の要素数が一致する行列です。

N次正方行列とは、行の要素数がNコで列の要素数もNコである行列です。


Pythonで表現方法

例として、

次の二つの行列A、行列Bの積を求めます。

行列A
行列B

二つの積を行列Cとすると、次のように求められます。

            行列A                    行列B

これをPythonで表現すると↓のようになります。

def multiply(c,a,b):#N次正方行列の積を求める関数
    for i in range(N):
        for j in range(N):
            s=0
            for k in range(N):
                s+=a[i][k]*b[k][j]
            c[i][j]=s

N=4#何次行列か入力
A = [[1,0,0,0],
     [1,0,0,1],
     [1,0,0,1],
     [1,1,1,0]] 
B = [[1,0,1,1],
     [0,0,0,1],
     [1,0,0,0],
     [1,1,1,1]]

#行列Cの初期化
C=[[0 for j in range(N)] for i in range(N)]

multiply(C,A,B) # 行列Cを計算(C=A*B)


#行列Cを表示
for i in range(N):
    for j in range(N):
        if j == N-1: print(" ",C[i][j])
        else: print(" ",C[i][j],end="")

コメント

タイトルとURLをコピーしました