def autom(self): '''Given a fct/form/cocycle self (Witt or usual), return phi(self), where phi(x) = x+1. Destined for curves y^2 = f(x^p - x).''' C = self.curve F = C.base_ring Rxy. = PolynomialRing(F, 2) Fxy = FractionField(Rxy) if isinstance(self, superelliptic_function): result = superelliptic_function(C, Fxy(self.function).subs({x:x+1, y:y})) return result if isinstance(self, superelliptic_form): result = superelliptic_form(C, Fxy(self.form).subs({x:x+1, y:y})) return result if isinstance(self, superelliptic_witt): result = superelliptic_witt(autom(self.t), autom(self.f)) return result if isinstance(self, superelliptic_drw_form): result = superelliptic_drw_form(0*C.x, autom(self.omega), autom(self.h2)) result += autom(self.h1).teichmuller()*(C.x + C.one).teichmuller().diffn() return result if isinstance(self, superelliptic_drw_cech): result = superelliptic_drw_cech(autom(self.omega0), autom(self.f)) return result