1-線形代数-行列演算 (2)

from sympy.matrices import *
1.加减
A1=行列[1,1,1]
A2=行列[1,2,1]
A=A1+A2
A=A1-A2


2. 数値の乗算
a=10
A1=行列[1,1,1]
A=a*A1


3. 行列積
注: 最初の行列 (左の行列) の列数が 2 番目の行列 (右の行列) の行数と等しい場合にのみ、2 つの行列を乗算できます。結果は次のようになります: A1(
m ,s)*A2(s ,n)=A(m,n)
A1=行列(2,3,[1,1,1,1,2,2]) #A1(2,3)
A2=行列( 3,2,[2, 2,1,1,1,1]) #A2(3,2) 
A=A1*A2 #A(2,2)



展開: A1*A2=A1@A2=A1.dot (A2) 内積


4. 行列の累乗
注: 行列は正方行列 (n,n) である必要があります 
結果: A**2=A*A, A**3=A*A*A A
=Matrix(3,3, [2, 2,2,2,2,2,2,2,2]) #A(3,3)
m=A**2   

5. 行列の転置 AT は行
-列変換
A=Matrix(2,2,[1,2,3,4])

AT

6. 対称行列の定義
: 行列 A の転置がそれ自体に等しい、つまり A=AT、このとき A は対称行列と呼ばれます
A1=eye(3)
A2=A1.T
A2


7. 行列の行列式注: 行列式A1=eye
を持つには行列は正方行列でなければなりません
(3)
A.det()

8. 行列代数補因子 A.cofactor(i,j)
A=Matrix(3,3,[1,2,3,4,5,6,7,8,9])
A.cofactor(1,2)

9. 行列の随伴行列 A.adjugate()
A=Matrix(3,3,[1,2,3,4,5,6,7,8,9])
A.adjugate()

10. 行列のランク A.rank()
A=Matrix(3,3,[1,2,3,4,5,6,7,8,9])
A.rank() 

11. 逆行列
注: 行列の可逆性の条件: |A|!=0
from sympy.matrices import *
A=Matrix(2,2,[1,2,3,7]) 
A1=A.det() # | A|
A2=A.adjugate() #A の随伴行列
A4=1/A1*A2 #A の逆行列
、または式を使用して
A3=A.inv() #A の逆行列を見つける

12. 行列の行と列の演算
12.1 値のアドレス指定
A=Matrix(2,2,[1,2,3,4])
A[1] #2 行 1 と列 2 の数値を取得
A[1,1] # 4 2 行目 2 列目の数値を取得
A[:,1] # すべての行の 2 列目の数値を取得、つまり 2 列目の数値を取得
A[0:2,1] # 列の数値を取得すべての行の 2 つまり、2 番目の列の番号を取得します。
A[0,:] # すべての列の最初の行の番号を取得します。つまり、最初の行の番号を取得します 

12.2 関数の値
(1)A.row(i) は特定の行を受け取ります
(2)A.row([i,j,k]) は複数の行を受け取ります
A=Matrix(3,3,[1,2,3,4) ,5,6,7,8,9])
A.row([0,2]) #A[[0,2],:]と等しい

(3)A.col(i)
(4)A.col([i,j,k])
(5)A.row_insert(p,M)
(6)A.col_insert(p,M)
(7)A .row_del(i)
(8)A.col_del(i)

おすすめ

転載: blog.csdn.net/fanxianchao_2012/article/details/126142215