| Karim BELABAS on Fri, 19 Mar 1999 14:02:26 +0100 (MET) |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
| Re: (no subject) |
[Florian Lengyel:]
> 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.
>
>
> Generate subgroups of index 2 in Z2(+) ... (+) Z2
You could produce them in a simpler way:
subgrouplist(vector(N,i,2), 2)
[this function is not very efficient, but I'll comment on that in a separate
message]
The script would look nicer if you removed the '\' in your multi-line
expression, and enclosed the whole of it between braces ( { } )
Also the triple loop:
> for ( i = 1,14, \
> for ( j = i+1, 14, \
> for (k = j+1, 14,\
can be conveniently (and more efficiently) written:
forvec(v=vector(3,i,[1,14]),
i = v[1]; j = v[2]; k = v[3];
...
, 2)
> /* 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.
> */
Hum, I haven't tried your script on a DOS box (during the week end if I have
time) but, offhand, I can't see them being treated differently on this
architecture (e.g. shell quoting shouldn't apply). This is weird.
However, recursive stringification is not really cleverly handled. A string
is evaluated simply by sending it to the parser, so you'll end up with valid
objects (internal structure is OK) which can't be evaluated...
(13:44) gp > Set([Set([["a"]])])
%1 = ["["["a"]"]"]
(13:44) gp > eval(%)
*** ; or ] expected: ["["a"]"]
So, I would evaluate a group before stringifying it, so as to always have a
single level of embedded strings (besides, operations will be slightly more
efficient).
Karim.
--
Karim Belabas email: Karim.Belabas@math.u-psud.fr
Dep. de Mathematiques, Bat. 425
Universite Paris-Sud Tel: (00 33) 1 69 15 57 48
F-91405 Orsay (France) Fax: (00 33) 1 69 15 60 19
--
PARI/GP Home Page: http://hasse.mathematik.tu-muenchen.de/ntsw/pari/