Regola di Cramer

Tratto da: Rosetta Code: Cramer’s rule: Python


Utilizza la funzione numpy.linalg.det()

from numpy import linalg # det()

A=[ [2,-1, 5, 1],
    [3, 2, 2,-6],
    [1, 3, 3,-1],
    [5,-2,-3, 3]  ]
B=[-3,-32,-47,49]
C=[[2,-1,5,1],[3,2,2,-6],[1,3,3,-1],[5,-2,-3,3]] # copia di A

X=[]
n=len(B)
DET=linalg.det(A)

for i in range(0,n):
    for j in range(0,n):
        if(i > 0):
            C[j][i-1]=A[j][i-1]
        C[j][i]=B[j]
    x=linalg.det(C)/DET
    X.append(x)

for i in range(0,n):
    print("x%i=%.4f" %(i+1,X[i]))