Malcolm Bovey on Sun, 24 Jun 2012 13:24:40 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: Missing bnf functions




On 24 Jun 2012, at 06:46, Dirk Laurie wrote:

2012/6/24 Malcolm Bovey <malcolm.bovey@gmail.com>:

I'm having trouble running some code on a Mac OS X (v 10.6.8) installation.   I downloaded and compiled the latest stable version of PARI-GP (2.5.1) - this seemed to be successful.  However, PARI doesn't seem to know about some internal functions that it should do.  For example, when I try using bnfclassunit, I get

bnfclassunit(x^2-5)
 ***   at top-level: bnfclassunit(x^2-5)
 ***                 ^-------------------
 ***   not a function in function call
 ***   Break loop: type 'break' to go back to GP

bnfinit seems to work fine.

Any suggestions as to what's going wrong here?


This is the list of function names starting "bnf" according to "?6":

bnfcertify         bnfcompress        bnfdecodemodule    bnfinit
bnfisintnorm       bnfisnorm          bnfisprincipal     bnfissunit
bnfisunit          bnfnarrow          bnfsignunit        bnfsunit

Moreover, the word `bnfclassunit` does not appear anywhere in the TeX
source of any of the manuals.  So Pari seems not to be at fault.

Are you by any chance confusing functions with member functions?
These are functions of one variable that you call with x.foo instead
of foo(x), and they have their own namespace.  You can define you own,
for example:

? z.re=real(z)
%13 = (z)->real(z)

Some member functions are built-in.  See "?.".  There's no "classunit",
but there is "fu":

   B=bnfinit(x^2-x-1);
   B.fu
%2 = [Mod(1/2*x + 1/2, x^2 - 5)]

HTH

Dirk

Was this function removed from PARI/GP at some point?   The function certainly worked when I was running the code in 2008 on (I think) v2.3