web-dev-qa-db-ja.com

pythonで行列を表現する方法

Pythonで行列を表現するにはどうすればよいですか?

24
Bunny Rabbit

この答え を見てください:

from numpy import matrix
from numpy import linalg
A = matrix( [[1,2,3],[11,12,13],[21,22,23]]) # Creates a matrix.
x = matrix( [[1],[2],[3]] )                  # Creates a matrix (like a column vector).
y = matrix( [[1,2,3]] )                      # Creates a matrix (like a row vector).
print A.T                                    # Transpose of A.
print A*x                                    # Matrix multiplication of A and x.
print A.I                                    # Inverse of A.
print linalg.solve(A, x)     # Solve the linear equation system.
44

Pythonには行列がありません。リストのリストまたは NumPy を使用できます

11
Ed.

NumPyライブラリを使用しない場合は、ネストされたリストを使用できます。これは、動的なネストされたリスト(2次元リスト)を実装するコードです。

rを行数とする

let r=3

m=[]
for i in range(r):
    m.append([int(x) for x in raw_input().split()])

を使用して行を追加できるときはいつでも

m.append([int(x) for x in raw_input().split()])

上記では、行列を行ごとに入力する必要があります。列を挿入するには:

for i in m:
    i.append(x) # x is the value to be added in column

マトリックスを印刷するには:

print m       # all in single row

for i in m:
    print i   # each row in a different line
4
Gautam Seth
((1,2,3,4),
 (5,6,7,8),
 (9,0,1,2))

リストの代わりにタプルを使用すると、不要な方法でデータ構造を変更するのが少し難しくなります。

これらを広範囲に使用する場合は、クラスで true number array をラップすることをお勧めします。そのため、メソッドとプロパティを定義できます。 (または、これらのライブラリを使用して処理を実行する場合は、NumPy、SciPyなどを使用できます。)

2
badp