from array import array def detrm(a,k): s=1 det=0 b=[[]] #b = array('i') if(k==1): return(a[0][0]) else: det=0 for c in range(0,k): m=0 n=0 b = [[0] * k for i in xrange(k)] for i in range (0,k): for j in range(0,k): if(i!=0 and j!=c): b[m][n]=a[i][j] if(n<(k-2)): n=n+1 else: n=0 m=m+1 det=det+s*(a[0][c]*detrm(b,k-1)) s=-1*s return det def cofact(num,f): b=array('f') fac=array('f') b=[] fac=[[0] * f for t in xrange(f)] for q in range(0,f): for p in range(0,f): m=0 n=0 b = [[0] * f for t in xrange(f)] for i in range(0,f): for j in range(0,f): if(i!=q and j!=p): b[m][n]=num[i][j] if(n<(f-2)): n=n+1 else: n=0 m=m+1 fac[q][p]=(pow(-1,q+p)*detrm(b,f-1)) for i in range(0,f): for j in range(0,f): b[i][j]=fac[j][i] list=[] for i in range(0,f): for j in range(0,f): list.append(str(b[i][j])) fout=open("out_28_sec13_8.txt","w") for i in range(0,f): for j in range(0,f): fout.write((list[i+j])+" ") fout.write("\n") def main(): def matrics(n): matrix=[] for i in range(n): matrix.append([]) return matrix input=open("in13_8.txt","r") count=0 for row in input: if count==0: list=row.split(",") n=int(list[0]) matrix=matrics(n) else: list1=row.split(" ") for j in list1: matrix[count-1].append(int(j)) count+=1 #list=[] #list=[[6,4,7,12,1],[0,7,4,4,2],[9,12,15,41,12],[9,7,47,12,4],[8,1,4,2,1]] cofact(matrix,n) main()