Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # -*- coding: utf-8 -*-*
- """
- Created on Wed Oct 21 01:14:48 2015
- @author: Walhfort
- """
- import numpy as np
- A=np.array([[1,1,1],[-2,-1,1],[3,2,-2]],dtype=float)
- B=np.array([[6],[-1],[1]],dtype=float)
- "---1---"
- def augmente(A,B):
- M=np.append(A,B,axis=1)
- return M
- "---2---"
- def echangeligne(M,i,j):
- lignei=M[i]
- lignej=M[j]
- M=np.delete(M,j,axis=0)
- M=np.insert(M,j,lignei,axis=0)
- M=np.delete(M,i,axis=0)
- M=np.insert(M,i,lignej,axis=0)
- return M
- "---3---"
- def pivot(M,i):
- ligne = i
- C = abs(M[i,i])
- for k in range (i,len(M)):
- if abs(C) < abs(M[k,i]):
- C = abs(M[k,i])
- ligne = k
- return echangeligne(M,i,ligne)
- "---4---"
- def elimined(M,i,j,l):
- ligne=M[j]-l*M[i]
- M=np.delete(M,j,axis=0)
- M=np.insert(M,j,ligne,axis=0)
- return M
- "---5---"
- def normalise(M):
- for k in range(len(M)):
- coeff=M[k]/M[k,k]
- M=np.delete(M,k,axis=0)
- M=np.insert(M,k,coeff,axis=0)
- return M
- "---6---"
- def eliminem(M,i,j,l):
- T=M[j]-l*M[i]
- M=np.delete(M,j,axis=0)
- M=np.insert(M,j,T,axis=0)
- return M
- "---7---"
- def secondmembre(M):
- return M[0:len(M),len(M)]
- "---8---"
- def gauss(A,B):
- M=augmente(A,B)
- for k in range(len(M)):
- M=pivot(M,k)
- for i in range(k,len(M)-1):
- print M
- M=elimined(M,k,i+1,float(M[i+1,k]/M[k,k]))
- M=normalise(M)
- print M
- for k in range(len(M)):
- for i in range(k):
- print M
- M=eliminem(M,k,i,float(M[i,k]))
- return secondmembre(M)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement