-
大小: 3.12KB文件類型: .py金幣: 1下載: 0 次發(fā)布日期: 2021-03-01
- 語言: Python
- 標(biāo)簽:
資源簡介
行列式的轉(zhuǎn)置
代碼片段和文件信息
import?copy
def?revDet(array)?->?list:?#行列式轉(zhuǎn)置
????n?=?len(array)
????ar?=?copy.deepcopy(array)
????for?i?in?range(n):
????????for?j?in?range(i?n):?#只轉(zhuǎn)置一半的項(xiàng)
????????????ar[i][j]?ar[j][i]?=?ar[j][i]?ar[i][j]
????return?ar
def?adjDet(array)?->?list:?#伴隨矩陣
????adj?=?[]
????adjcol?=?[]
????n?=?len(array)
????for?k?in?range(n):?#第k行的余子式
????????adjcol?=?[]
????????#arC?=?revDet(arC)?#變回子列為行?來交換行
????????arC?=?copy.deepcopy(array)
????????for?t?in?range(k?0?-1):?#鄰行交換
????????????arC[t]?arC[t?-?1]?=?arC[t?-?1]?arC[t]
????????arC?=?revDet(arC)?#變回子列為列?來求子式
????????
????????for?i?in?range(n):
????????????A?=?[]
????????????for?j?in?range(n):
????????????????if?j?!=?i:?#跳過第i列
????????????????????A.append(arC[j][1:])?#此處將每個(gè)子列表看成列,跳過第一行
????????????adjcol.append(pow(-1?k?+?i)?*?culDet(A))
????????adj.append(adjcol)
????????
????????#print(array)
????adj?=?revDet(adj)
????return?adj
def?culDet(array)?->?int:
????assert?len(array)?==?len(array[0])?#保
評(píng)論
共有 條評(píng)論