On 8/30/07, BarryS <[EMAIL PROTECTED]> wrote:
> I am considering switching from doing computations directly in PARI/GP
> to using the interface through SAGE.

Are you the Barry Smith I know from UCSD?

> I have a few questions.
>
> 1.  Can every function in PARI/GP be accessed somehow through SAGE?
> For instance, I want to be able to use rnfkummer.

PARI is included in SAGE, and every PARI function can be used somehow through
SAGE.  There are some examples here:

http://sagemath.org/doc/html/ref/module-sage.interfaces.gp.html

Basically, doing gp.eval('...') is identical to typing a command
directly into the GP
command line:

sage: gp.eval('a = 5;')
''
sage: gp.eval('sin(a)')
'-0.9589242746631384688931544062'

There is also an interface directly to the PARI C library, which is in
some ways better / faster,
but is sometimes less complete than the above gp interface (the
implementation is completely
different):

sage: a = pari(5)
sage: a.sin()
-0.9589242746631384688931544062

Anything can be added to the pari C libary interface, but this
requires knowing a fair
amount about how SAGE works.

> 2.  I hate the PARI documentation, and am befuddled about what types
> of computations involving L-functions are implemented.

Understood.

>  I noticed in
> the SAGE documentation that there seem to be 3 sets of functions
> related to L-functions for elliptic curves.

SAGE has by far more elliptic curve L-functions code than any other program
out there.

> What about Hecke and
> Artin-L functions for number fields?

>  Or at least, since dirichlet
> characters are implemented, are L-functions for absolutely Abelian
> extensions implemented?

SAGE includes Tim Dokchitser's PARI program for very general L-functions,
which should be able to do such things.  It also include Mike Rubinstein's
lcalc program which can do a lot with computing zeros of such L-functions
in some cases.  That said, I don't think there is a simple straightforward way
to work with such L-functions in SAGE right now.  I hope somebody (a student,
probably) will take this up as a project soon.   The really hard underlying code
is already there, but making it all work together nicely isn't.

> 3.  Is it possible to compute one bernoulli number mod p directly,
> rather than computing a whole list of them with bernoulli_mod_p and
> then picking a specific one out of the list?

The algorithm of Buhler et al for computing bernoulli_mod_p involves series
arithmetic and does not compute just one.  There is no algorithm that I'm
aware of that computes just one bernoulli number mod p without computing
a lot more, and which doesn't just compute the Bernoulli number over QQ
and reduce it mod p:

   sage: bernoulli(1000) % 389
   251

Of course, if you're the Barry Smith I think you are, maybe you have a new
algorithm for this problem :-).

> Thanks for any information,
>
> Barry

By the way, if you're still around UCSD, talk to Neal Harris and Kevin McGown.

-- 
William Stein
Associate Professor of Mathematics
University of Washington
http://www.williamstein.org

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to