Function Field Divisions f:=y^5+y^2*x^2+x^3; 5 2 2 3 f := y + y x + x y:=RootOf(f,y): a:=1: b:=randpoly([x,y]): 3 3 2 2 3 5 b := 79 x + 56 %1 + 49 x %1 + 63 x %1 + 57 x %1 - 59 %1 5 2 2 3 %1 := RootOf(_Z + _Z x + x ) # # f, a and b are very small, but still the division a/b in Q(x)[y]/(f) # produces a large output: # evala(Normal(a/b)); 6 3 3 4 4 4 - (16235562 x %1 - 34420736 %1 x - 45177216 x %1 - 5764801 x %1 14 2 10 3 8 10 + 51884307 x %1 - 66457377 x %1 + 219914695 x %1 - 49169981 %1 x 4 11 13 11 2 9 4 - 93869061 %1 x + 18786549 %1 x + 27939573 x %1 + 11454926 x %1 14 3 7 12 3 9 + 12837447 x %1 + 64524376 x %1 - 143133381 x %1 + 321406771 %1 x 6 4 12 5 4 14 4 - 32041345 %1 x - 126390780 %1 x + 76599936 x %1 - 14252679 x %1 5 3 15 13 3 12 2 + 55664784 x %1 - 52326567 %1 x + 57073599 x %1 + 116935344 x %1 4 8 3 3 3 2 - 34420736 %1 x - 108012240 x %1 + 24235008 x %1 - 9834496 %1 x 7 3 6 4 13 2 13 4 + 10188864 x %1 + 184203936 x %1 + 36312381 x %1 - 29487240 x %1 10 4 4 3 8 2 11 + 102535173 x %1 + 63616896 x %1 + 13710396 x %1 - 82697251 %1 x 7 4 4 3 11 3 6 2 + 112632282 x %1 - 26353376 %1 x + 106125559 x %1 - 59721984 x %1 9 3 2 10 16 5 - 192052287 x %1 - 104987309 %1 x - 14252679 x %1 - 36363488 %1 x 12 8 4 9 2 4 2 + 116202693 %1 x - 130798703 x %1 + 44062718 x %1 - 45177216 %1 x 7 2 5 6 7 9 - 83420736 x %1 + 13873664 x + 25354560 x + 2823576 x + 78925329 x 8 12 11 10 + 33217639 x - 315667053 x - 160119624 x - 97189260 x 14 13 15 17 16 - 368571402 x + 276342064 x + 89414145 x + 15752961 x - 57834 x 4 15 3 14 / 3 - 9834496 %1 + 15752961 x %1 - 162382185 %1 x ) / (x ( / 18 17 16 15 992436543 x - 435724758 x + 7318432701 x - 16617788226 x 14 13 12 11 + 53526184038 x - 42312489601 x + 9880029708 x + 6239783046 x 10 9 8 7 + 14766047786 x - 19790354563 x - 5329153270 x + 22235833872 x 6 5 4 3 + 15850090368 x + 3522421007 x - 1614144280 x - 3689472640 x 2 - 4216540160 x - 2409451520 x - 550731776)) 5 2 2 3 %1 := RootOf(_Z + _Z x + x ) # # In this example the computation did not take very long, but the output is # already an unpleasant expression to deal with on a computer. Things get # much worse when algebraic numbers are introduced or when f is not as # easy as in this example. # y:=evaln(y); f:=f+y^3*RootOf(x^3+x+1); y:=RootOf(f,y); a:=1; b:=randpoly([x,y]); evala(Normal(a/b)); # ..... this causes a problem # On the other hand: genus(f,x,y); 1 genus1(f,x,y,x0,y0); # This computation finishes in only a few minutes. This is only possible when # no divisions in the function field Q( RootOf(x^3+x+1),x )[y]/(f) are used.