不使用内置模块即可计算nxn矩阵的行列式

时间:2018-08-06 20:07:47

标签: python matrix

我正在编写一些代码,该代码生成一个随机矩阵,然后继续查找其行列式。到目前为止,我将递归公式用作行列式:

import numpy as np
import random

myarray = [] 

myinput=input('Choose a value for N:')
N=int(myinput)

for i in range(N):
    myarray.append([0.0]*N)
for j in range(N):
    for i in range(N):
        myarray[i][j] = random.randint(0,100)


M=np.array(myarray)
print(M)

def det(matrix):
  determinant=0
  a=0
  while a<N:
        M_0a=np.delete(matrix,0,axis=0)
        M_0a=np.delete(M_0a,a,axis=1)
        print(M_0a)
        a+=1
        determinant= determinant + ((-1)**a)*(M[0][a])*det(M_0a)

  return determinant

print(det(M))

由于不确定如何继续,我对该函数的编写不正确。基本上,while循环会连续消除第0行和ath列中的行和列,但是我想我需要某种if语句来确定新矩阵为2x2的条件,从而结束循环并计算2x2的基本行列式矩阵? 谢谢

0 个答案:

没有答案