Florian Lengyel on Fri, 12 Mar 1999 17:34:45 -0500 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: (no subject) |
Thanks. Concerning the list: The GP/PARI calculator instructions state that to join list <...> one ought to send "empty" email to <...>@list.cr.yp.to. Ordinarily (say with a MAJORDOMO list server) one would send a message with Subscribe in the subject line, and would include some commands such as the name of the list and an email addressl. This one doesn't even want to reply to help requests sent to pari-help. Adding "subscribe" to the subject field appears to confound this list server. It appears that I will have to fly overseas to correct these problems. The bug report I would like to post to the list: The bug I would like to post to the pari-dev list concerns the GP/PARI calculator version 2.0.12 (alpha), running on a Pentium MMX with emx (ix86 kernel). The operating system I am using is Windows 98, but I am running PARI in a DOS emulation window. My problem concerns a portion of a simple script (attached) that runs under two versions of UNIX (on a Sun Workstation Sparc 5) and under DEC-OSF 3.2D on an (oldish) Alpha 1000. There is no problem with the script under UNIX. Under DOS, however, the appears not to be converting vectors to strings correctly. I'm relatively new to PARI so perhaps I have overlooked something. Thanks for your attention, Florian Lengyel flengyel@email.gc.cuny.edu http://www.dorsai.org/~flengyel/index.html Igor Schein wrote: > On Fri, Mar 12, 1999 at 04:58:29PM -0500, Florian Lengyel wrote: > > OK, I'll try again. I have been attempting to follow instructions to > > join the > > pari-dev list so that I can report a DOS bug. > > If you're having troubles with joining the list, I can post the bug > for you. > > Igor
/* Author: Florian Lengyel Date: Sun, 07 Mar 1999 20:41:17 -0500 (EST) Generate subgroups of index 2 in Z2(+) ... (+) Z2 Associate a prime with each summand... */ /* Create empty set of index 2 subgroups of Z2(+) ... (+) Z2 that do not contain the vector [1,1,1,1]. */ /* Step 1: special subgroup enumeration. Enumerate subgroups by enumerating triples v1,v2,v3 of bit vectors modulo 2. Create the matrix m = (v1,v2.v3,[1,1,1,1]) and verify that rank(m) = 4. If so, compute the group G generated over Z2 by {v1,v2,v3}. G is represented in PARI as a set of stringified bit vectors, which are sorted in ascending lexicographic order by default. Once G is created, G itself is stringified and added the union of the set of stringified subgroups of the direct sum. The set union operation ensures that exactly one copy of G is enumerated in the set of subgroups, even if G is generated by several Z2-bases. */ SetOfSubgroups = Set(); for ( i = 1,14, \ for ( j = i+1, 14, \ for (k = j+1, 14,\ m = Mod(matid(4),2); \ m[1, ] = Mod(vecextract(binary(16+i),"2..5"), 2); \ m[2, ] = Mod(vecextract(binary(16+j),"2..5"), 2); \ m[3, ] = Mod(vecextract(binary(16+k),"2..5"), 2); \ m[4, ] = Mod(Vec([1,1,1,1]), 2); \ if (matrank(m) == 4, \ SubGroup = Set(); \ for (a = 1,7, \ v = 0 * m[1, ]; \ for (b = 0, 2, \ if (bittest(a, b) == 1, \ v += m[b+1,]; \ ); \ ); \ SubGroup = setunion(SubGroup, Set(Str(v))); \ ); \ SetOfSubgroups = setunion(SetOfSubgroups, Set(Str(SubGroup))); \ )\ )\ )\ ) /* The debugging output lines are for the pari-dev list. Note the difference between SetOfSubgroups under DOS, where it evaluates to the strange set ["["] and SetOfSubgroups under UNIX, where SetOfSubgroups contains 8 groups, each one a set containing a quoted set of quoted mod 2 bitvectors. */ nGroups = length(SetOfSubgroups); print1("Number of subgroups: "); print1(nGroups); print(); printp(SetOfSubgroups); printp(SetOfSubgroups[1]); printp(SubGroup); /* Step 2: genus sum computation. (Supressed) This is where we need to unquote (more precisely, evaluate) a subgroup encoded as a stringified vector of stringified mod 2 bitvectors. Two levels of unquoting are required, the first to recover the subgroup as a list of quoted bit vectors, the second to recover an individual bitvector. */