A small snipet of code to find the determinant of a mtrix of any order.Input must be a list like [[1,2,3],[4,5,6],[7,8,9]] (for a matrix of order 3). Works fine.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | def det(l):
n=len(l)
if (n>2):
i=1
t=0
sum=0
while t<=n-1:
d={}
t1=1
while t1<=n-1:
m=0
d[t1]=[]
while m<=n-1:
if (m==t):
u=0
else:
d[t1].append(l[t1][m])
m+=1
t1+=1
l1=[d[x] for x in d]
sum=sum+i*(l[0][t])*(det(l1))
i=i*(-1)
t+=1
return sum
else:
return (l[0][0]*l[1][1]-l[0][1]*l[1][0])
|
Uses a recursive algorithm, the end point being solving a matrix of order 2 using simple formula. Will help in solving linear equations using crammers rule, or for other applications in higher linear algebra.
hi. tq for ur usefull program. by the way i cant understand whats d={} mean n also line 18 l1=[d[x] for x in d] whats that mean? em not familiar wid python yet. plz help me in this way
thank u so much
@zhr.3041, d= {} initialises an empty dictionary. A dictionary is a mapping from keys to values, for eg, d= {1:"a', 2: 'b'}
l1 = [d[x] for x in d] this line creates a list with all the values of all the keys in d (only the values are stored, not the keys).