Python之線性代數(行列式)
阿新 • • 發佈:2018-12-03
d = np.array([
[4,1,2,4],
[1,2,0,2],
[10,5,2,0],
[0,1,1,7]
])
print(d)
np.linalg.det(d) # 計算行列式結果
[[ 4 1 2 4] [ 1 2 0 2] [10 5 2 0] [ 0 1 1 7]]
Out[4]:
-8.511709855459539e-15
def createD(a,x,n):
# 構建函式,生成一個n階的行列式,其中對角線值為x,其餘為a
di = np.eye(n)
di = di * x
di[di==0] = a
return di
d = createD(5,20,10)
print(d)
np.linalg.det(d)
[[20. 5. 5. 5. 5. 5. 5. 5. 5. 5.] [ 5. 20. 5. 5. 5. 5. 5. 5. 5. 5.] [ 5. 5. 20. 5. 5. 5. 5. 5. 5. 5.] [ 5. 5. 5. 20. 5. 5. 5. 5. 5. 5.] [ 5. 5. 5. 5. 20. 5. 5. 5. 5. 5.] [ 5. 5. 5. 5. 5. 20. 5. 5. 5. 5.] [ 5. 5. 5. 5. 5. 5. 20. 5. 5. 5.] [ 5. 5. 5. 5. 5. 5. 5. 20. 5. 5.] [ 5. 5. 5. 5. 5. 5. 5. 5. 20. 5.] [ 5. 5. 5. 5. 5. 5. 5. 5. 5. 20.]]
Out[20]:
2498818359374.998