Karim Belabas on Sat, 12 Oct 2013 18:03:48 +0200


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

Re: nice undocumented feature


* Max Alekseyev [2013-10-12 17:45]:
> I've just noticed that divisors(X), fordiv(X,...), sumdiv(X,...)
> functions accept as an argument the factorization of X instead of X,
> e.g.:
> 
> ? divisors([3,1;5,1])
> %1 = [1, 3, 5, 15]
> 
> I found this feature very helpful (for X with known but hard to
> compute factorizations) and deserving to be documented.

Good to know it's useful, thanks ! :-)

As for documentation, cf the official announcement

  http://pari.math.u-bordeaux1.fr/archives/pari-announce-13/msg00003.html

  [Elementary Number Theory]
    - arithmetic functions now accept factorization matrices as input, you can
      use any of f(N), f(factor(N)) or f([N, factor(N)]).

as well as the documentation of Arithmetic functions (\S 3.4 in User's Manual),
also available as

  (18:00) gp > ??4
Arithmetic functions:

   These  functions  are  by  definition  functions  whose  natural  domain  of
definition  is  either  Z  (or Z_{ > 0}).   The way these functions are used is
completely  different  from  transcendental  functions  in  that  there  are no
automatic type conversions: in general only integers are accepted as arguments.
An integer argument N can be given in the following alternate formats:

   * t_MAT: its factorization fa = factor(N),

   * t_VEC: a pair [N, fa] giving both the integer and its factorization.

   This  allows  to  compute  different arithmetic functions at a given N while
factoring the latter only once.

     ? N = 10!; faN = factor(N);
     ? eulerphi(N)
     %2 = 829440
     ? eulerphi(faN)
     %3 = 829440

[...]


You'd prefer we add a short note in each individual function ?

Cheers,

    K.B.
--
Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
Universite Bordeaux 1          Fax: (+33) (0)5 40 00 69 50
351, cours de la Liberation    http://www.math.u-bordeaux1.fr/~kbelabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux1.fr/  [PARI/GP]
`