用Python來實現2 7階行列式的計算

2021-09-27 07:03:53 字數 2046 閱讀 6354

在這裡插入**片

# n*n的行列式

n=int(input("請輸入乙個數n:"))

a_list=

for i in range(n):

for i in range(n):

a_list[i]=a_list[i].split(',')

for j in range(n):

a_list[i][j]=int(a_list[i][j])

print('你輸入的行列式為:')

for i in range(n):

for j in range(n):

if j==0:

print('|%d '%a_list[i][j],end='')

elif j==n-1:

print('%d|'%a_list[i][j])

else:

print('%d '%a_list[i][j],end='')

def a_getlist(a,sum,key,j,n):

if j==1:

for i in range(1,n+1):

sum=i*(10**key)

else:

for i in range(len(a)):

for k in range(1,n+1):

a[i]+=k*(10**key)

a[i]-=k*(10**key)

if key!=0:

a_getlist(a,sum,key-1,j+1,n)

sum=0

a=key=n

a_getlist(a,sum,key-1,1,n)

a.sort()

b_list=

for i in range(len(a)):

a[i]=str(a[i])

if '0' not in a[i]:

for i in range(len(b_list)):

b_list[i]=int(b_list[i])

a=b_list

def num(c,b_list):

len_c=len(str(c))

if len_c!=1:

b=c//(10**(len_c-1))

d=c%(10**(len_c-1))

num(d,b_list)

else:

b_list=

c_list=

d_list=

for i in a:

num(i,b_list)

b_list=

for i in range(len(c_list)):

if len(set(c_list[i]))==n:

def num_dict(a):

i_num=0

for i in range(len(a)):

for j in range(i,len(a)):

if a[i]>a[j]:

i_num+=1

return i_num

def num_qw(a):

if a%2==0:

return true

else:

return false

sum_sum=0

for i in d_list:

sum_s=1

for jk in range(n):

sum_s*=a_list[i[jk]-1][jk]

if num_qw(num_dict(i)):

sum_sum+=sum_s

else:

sum_sum+=(-1)*sum_s

print(sum_sum)

執行截圖:

注意:輸入n的大小應在2~7之間,否則會出錯。

用Python2 7實現矩陣類

import copy class matrix matrix class def init self,row,column,fill 0 self.shape row,column self.row row self.column column if isinstance fill,float o...

python資料分析裡axis 0 1 行列定義

df pd.dataframe 1,1,1,1 2,2,2,2 3,3,3,3 columns col1 col2 col3 col4 df 輸出 col1 col2 col3 col4 0111112 2222 3333 如果我們呼叫df.mean axis 1 我們將得到按行計算的均值 df.m...

n階行列式計算Python和C語言實現

這裡使用對角線法和遞迴降價代數余子式求和的方法。python遞迴求行列式 def det m if len m 0 return none elif len m 1 return m 0 0 else s 0 for i in range len m n row a for a in range l...