Re: [Rd] pari/gp interface

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Wed 26 Jul 2006 - 05:15:01 GMT

The issue is that system() on Windows does not run a shell, so piping is not going to be available: used shell() instead. Then the problem is that the shell available is OS-specific, and pretty minimal on Windows 95/98/ME. If you can ignore those (and they are getting rarer), cmd.exe can be assumed for use of shell().

echo is not a standard system command on Windows either, and in a shell does not do what it does on Unix.

On Tue, 25 Jul 2006, Henrik Bengtsson wrote:

> On 7/25/06, Robin Hankin <r.hankin@noc.soton.ac.uk> wrote:
> > Hi
> >
> > I'm developing an R package that
> > needs to execute some code written in pari/gp.
> >
> > I've used this before from an R package (elliptic) but the interface
> > is very
> > basic: the R function creates a string such as the following:
> >
> > string <- echo ' ellwp ([ 2+0*I , 0+2*I ], 1+0*I )' | gp -q
> >
> > And then
> >
> > system(string)
> >
> > returns the output from gp which then needs to be text processed
> > (translating "I"
> > to "i", etc).
> >
> > I don't think this approach would work under Windows.
>
> I know nothing about pari/gp, but I believe it does work on Windows
> too. There is system() command available on the Windows version too,
> but with slightly different arguments (than on Linux say).
>
> Piping is available on Windows too, e.g. "dir | sort", although you
> should be able to get around that by writing to file instead and using
> ">" and "<".

Did you try that? dir is not an executable under Windows (a shell command), and it does not work even if you use an executable. You do need to use shell()

>
> You should be careful if your 'string' gets really long. Then it is
> much better to have a BAT file (and an sh file on Linux) to run your
> external calls, alternatively you call system() multiple times.
> However, I would be suprised if 'ellwp' wouldn't accept files as input
> too.
>
> /Henrik
>
> > Does anyone have any experience of calling pari/gp from R?
> >
> > Or any ideas for a more portable method than the one above?
> >
> >
> >
> >
> > [
> > PARI/GP is a widely used computer algebra system designed for fast
> > computations
> > in number theory. It is freely available at
> >
> > http://pari.math.u-bordeaux.fr/
> > ]
> >
> >
> > --
> > Robin Hankin
> > Uncertainty Analyst
> > National Oceanography Centre, Southampton
> > European Way, Southampton SO14 3ZH, UK
> > tel 023-8059-7743
> >
> > ______________________________________________
> > R-devel@r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> >
>
> ______________________________________________
> R-devel@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>
>

-- 
Brian D. Ripley,                  ripley@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
Received on Wed Jul 26 15:17:12 2006

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.1.8, at Wed 26 Jul 2006 - 20:27:19 GMT.

Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help. Please read the posting guide before posting to the list.