Hongyi Zhao on Sat, 14 Jan 2023 14:38:32 +0100


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

Re: Programmatically obtain a complete list of commands and keywords for updating the PARI/GP third-party IDE tools.


On Sat, Jan 14, 2023 at 9:30 PM Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
>
> On Sat, Jan 14, 2023 at 8:45 PM Charles Greathouse
> <crgreathouse@gmail.com> wrote:
> >
> > I think you need to make (./Configure && make -j gp) to get pari.desc. It should be in the src/desc directory.
> >
> > The 822 files won’t work without pari.desc, that’s where they get their information.
>
> Thank you for pointing this out. I confirmed that you are absolutely correct:
>
> $ apt-cache pkgnames |grep ^pari | xargs -n1 sudo apt build-dep -y
> $ git clone https://pari.math.u-bordeaux.fr/git/pari.git
> pari.math.u-bordeaux.fr/git/pari.git
> $ cd pari.math.u-bordeaux.fr/git/pari.git
> $ sudo apt install bison
> $ ./Configure
> $ make -j 44 all
> $ sudo make install
> $ ln -sfr misc/gprc.dft $HOME/.gprc
>
> $ find -type f -name 'pari.desc'
> ./src/desc/pari.desc
> $ find  -type f -name '822.pm'
> ./src/desc/PARI/822.pm

Make sure I have compiled the latest development version:

werner@X10DAi:~/Public/repo/pari.math.u-bordeaux.fr/git/pari.git$ git log -1
commit db43b2ebfc6060b5d8bab5df17056a4cafeea4ad (HEAD -> master,
origin/master, origin/HEAD)
Author: Karim Belabas <Karim.Belabas@math.u-bordeaux.fr>
Date:   Fri Jan 13 00:41:36 2023 +0100

    ginv: avoid handling all length 2 vectors as qfext [better error message]

werner@X10DAi:~$ gp
Reading GPRC: /home/werner/.gprc
GPRC Done.

                                                   GP/PARI CALCULATOR
Version 2.16.0 (development 28256-db43b2ebf)
                                                     amd64 running
linux (x86-64/GMP-6.2.1 kernel) 64-bit version
                                                  compiled: Jan 14
2023, gcc version 12.2.0 (Ubuntu 12.2.0-3ubuntu1)

threading engine: single
                                                            (readline
v8.2 enabled, extended help enabled)


Copyright (C) 2000-2022 The PARI Group

PARI/GP is free software, covered by the GNU General Public License,
and comes WITHOUT ANY WARRANTY WHATSOEVER.

Type ? for help, \q to quit.
Type ?18 for how to get moral (and possibly technical) support.

parisize = 8000000, primelimit = 1048576
?

As you can see, the commit hash "db43b2ebf" is the same one.

> Best,
> Zhao
>
> > On Fri, Jan 13, 2023 at 9:52 PM Hongyi Zhao <hongyi.zhao@gmail.com> wrote:
> >>
> >> On Sat, Jan 14, 2023 at 2:11 AM Bill Allombert
> >> <Bill.Allombert@math.u-bordeaux.fr> wrote:
> >> >
> >> > On Fri, Jan 13, 2023 at 05:35:02PM +0100, Gottfried Helms wrote:
> >> > > Am 10.01.2023 um 01:46 schrieb Hongyi Zhao:
> >> > > > Hi here,
> >> > > >
> >> > > > I'm not sure whether there is an elegant way in PARI/GP, which can let
> >> > > > me programmatically obtain a complete list of commands and keywords
> >> > > > for updating the PARI/GP third-party IDE tools, such as pari-gp-lang
> >> > > > [1].
> >> > > >
> >> > > > Any tips would be appreciated.
> >> > > >
> >> > > > [1] https://github.com/DavidAyotte/pari-gp-lang/issues/3
> >> > > >
> >> > > > Regards,
> >> > > > Zhao
> >> > > >
> >> > > Hmm, don't know whether such a thing is meant:
> >> > >
> >> > > - - - - - - - - - - - -
> >> > >
> >> > > I've a small set of subroutines which provide from
> >> > > a new version of GP the commands plus simple helptext
> >> > > ("?Euler") as a text file like this:
> >> > > ============================================================================
> >> > > Catalan=Catalan(): Catalan's number with current precision.
> >> > > Col(x, {n}): transforms the object x into a column vector of dimension n.
> >> > > Colrev(x, {n}): transforms the object x into a column vector of dimension n in  reverse order with respect to Col(x, {n}). Empty vector if x is omitted.
> >> > > Euler=Euler(): Euler's constant with current precision.
> >> > > I=I(): square root of -1.
> >> > > List({x=[]}): transforms the vector or list x into a list. Empty list if x is  omitted.
> >> > > ...
> >> > > znorder(x,{o}): order of the integermod x in (Z/nZ)*. Optional o represents a  multiple of the order of the element.
> >> > > znprimroot(n): returns a primitive root of n when it exists.
> >> > > znstar(n,{flag=0}): 3-component vector v = [no,cyc0,gen], giving the structure  of the abelian group (Z/nZ)^*; no is the order (i.e. eulerphi(n)), cyc is a  vector of cyclic components, and gen is a vector giving the corresponding  generators.
> >> > > ============================================================================
> >> >
> >> > Note: the PARI installation includes a file pari.desc that includes all this data
> >> > in RFC822 format. We also provide a perl module to read it PARI/822.pm
> >>
> >> I downloaded the source distribution from here [1], and then performed
> >> the following check:
> >>
> >> $ tar -zxvf pari.tgz
> >> $ cd pari-2.15.2
> >> $ find  -type f -name 'pari.desc'
> >> $ find  -type f -name '822.pm'
> >> ./src/desc/PARI/822.pm
> >>
> >> As you can see, there is no the file pari.desc at all.
> >>
> >> [1] https://pari.math.u-bordeaux.fr/pub/pari/unix/pari.tgz
> >>
> >> > Cheers,
> >> > Bill
> >>
> >> Best,
> >> Zhao
> >>



-- 
Assoc. Prof. Hongsheng Zhao <hongyi.zhao@gmail.com>
Theory and Simulation of Materials
Hebei Vocational University of Technology and Engineering
No. 473, Quannan West Street, Xindu District, Xingtai, Hebei province