Squelette des corps


Voici le squelette des classes vues en amphi le 23 novembre pour travailler sur les corps:

Python
def bezout(a,b) :
    U = [1,0,a]
    V = [0,1,b]
    while V[2] > 0 :
        U, V = V, [U[i] - (U[2] // V[2])*V[i] for i in range(3)]
    return U
 
class Mod():
 
    def __init__(self, representant, modulo) :
        assert  modulo > 0       , "Classe modulaire non définie !"
        self.rep = representant % modulo
        self.mod = modulo
 
    def __hash__(self) :
        return hash(self.rep)^hash(self.mod)
 
    def zero(self) :
        return Mod(0, self.mod)
 
    def un(self) :
        return 
        
    def __eq__(self, other) :
        return 
 
    def __str__(self) :
        return 
 
    def __repr__(self) :
        return str(self)
 
    def __add__(self, other) :
        assert 
        return 
 
    def __neg__(self) :
        return 
 
    def __sub__(self, other) :
        
    def __mul__(self, other) :
        assert 
        return 
 
    def inv(self) :
        bz = bezout(self.rep, self.mod)
        assert bz[2] == ???, str(self)  + " n'est pas inversible !"
        return Mod(???, ???)
    
    def __truediv__(self, other) :
        return self * other.inv() 
        
        
       
    
 
class Cplx():
 
    def __init__(self, re, im) :
        self.re = re
        self.im = im
 
    def __hash__(self) :
        return hash(self.re)^hash(self.im)
 
    def zero(self) :
        return Cplx(0,0)
 
    def un(self) :
        return 
        
    def __eq__(self, other) :
        return 
 
    def __str__(self) :
        return 
 
    def __repr__(self) :
        return str(self)
 
    def __add__(self, other) :
        return 
 
    def __neg__(self) :
        return 
 
    def __sub__(self, other) :
        
    def __mul__(self, other) :
        return 
 
    def inv(self) :
       
    
    def __truediv__(self, other) :
        

courtesy of webmatter.de