home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: sci.math.symbolic
- Path: sparky!uunet!darwin.sura.net!Sirius.dfn.de!chx400!bernina!neptune!monagan
- From: monagan@inf.ethz.ch (Michael)
- Subject: Re: galois problem
- Message-ID: <1992Jul28.094747.7018@neptune.inf.ethz.ch>
- Summary: galois routine in Maple
- Sender: news@neptune.inf.ethz.ch (Mr News)
- Nntp-Posting-Host: rutishauser-gw.inf.ethz.ch
- Organization: Dept. Informatik, Swiss Federal Institute of Technology (ETH), Zurich, CH
- References: <Bs2CE0.Cx7@cs.psu.edu>
- Date: Tue, 28 Jul 1992 09:47:47 GMT
- Lines: 78
-
- In article <Bs2CE0.Cx7@cs.psu.edu>, sibley@math.psu.edu (David Sibley) writes:
- >
- > In the following: What does the error message mean? Why won't maple
- > find the Galois group? A change of variables does work to allow the
- > Galois group to be computed, but I don't think I should have to do
- > that. (Anyway, how would I know what change of variables would work?)
- >
- > Environment: Sparcstation running SunOS 4.1.1.
- >
- > David Sibley
- > sibley@math.psu.edu
- > -----------------------------------------------------
- > |\^/| MAPLE V
- > _|\| |/|_. Copyright (c) 1981-1990 by the University of Waterloo.
- > \ MAPLE / All rights reserved. MAPLE is a registered trademark of
- > <____ ____> Waterloo Maple Software.
- > | Type ? for help.
- > > f:=1+2*x+3*x^2+4*x^3+5*x^4+6*x^5+7*x^6;
- >
- > 2 3 4 5 6
- > f := 1 + 2 x + 3 x + 4 x + 5 x + 6 x + 7 x
- >
- > > galois(f);
- > Error, (in unknown) division by zero
- > >
- >
-
- Dear David,
-
- It is a bug in the subroutine cyclepattern that was introduced
- in Maple V by someone who was trying to speed up the code.
- John Mckay pointed the bug out to me in June and we have fixed it.
- I have put the correction in the share library -- but I haven't
- distributed this yet.
- Here is a correct version of the cyclepattern subroutine.
-
-
- cyclepattern := proc(f, x, p) local g ;
- g := (f / lcoeff(f mod p, x)) mod p ;
- op( sort(
- map( proc(f) f[2] $ iquo(degree(f[1]),f[2]) end, DistDeg(g,x) mod p ),
- proc(x,y) evalb( x > y ) end ) )
- end:
-
-
- What you need to do is to read this code into Maple after loading the
- galois code, so that the wrong routine is overwritten.
- The output of your example appears below
-
- Mike
-
-
- |\^/| MAPLE V
- ._|\| |/|_. Copyright (c) 1981-1990 by the University of Waterloo.
- \ MAPLE / All rights reserved. MAPLE is a registered trademark of
- <____ ____> Waterloo Maple Software.
- | Type ? for help.
- > readlib(galois): # first read in the galois code
- > read cyclepattern; # now read in the fix
- > f:=1+2*x+3*x^2+4*x^3+5*x^4+6*x^5+7*x^6;
-
- 2 3 4 5 6
- f := 1 + 2 x + 3 x + 4 x + 5 x + 6 x + 7 x
-
- > galois(f);
- bytes used=1001720, alloc=720764, time=5.116
- bytes used=2001992, alloc=1048384, time=29.833
- bytes used=3006404, alloc=1113908, time=46.666
- bytes used=4012864, alloc=1310480, time=86.833
- bytes used=5013376, alloc=1310480, time=170.416
- bytes used=6013724, alloc=1507052, time=174.166
- bytes used=7022460, alloc=1507052, time=203.950
- bytes used=8047840, alloc=1507052, time=305.283
- PGL2(5), 120, {(1 2 3 4 5), (1 6)(2 3)(4 5)}
-
- > quit
-
- Mike
-