Python 不使用内置模计算nxn矩阵的行列式

Python 不使用内置模计算nxn矩阵的行列式,python,matrix,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):

我正在写一些代码,生成一个随机矩阵,然后继续寻找它的行列式。这是我到目前为止使用的行列式递归公式:

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))
将numpy导入为np
随机输入
myarray=[]
myinput=input('为N:'选择一个值)
N=int(myinput)
对于范围(N)中的i:
myarray.append([0.0]*N)
对于范围(N)内的j:
对于范围(N)中的i:
myarray[i][j]=random.randint(0100)
M=np.array(myarray)
打印(M)
def数据(矩阵):
行列式=0
a=0

while使用for循环而不是while循环。你几乎总是更喜欢它。那么我应该把I放在M中,把j放在I中,然后用这种方式消除行和列吗?