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

 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]
`

```