Karim Belabas on Sun, 14 Nov 2004 15:14:35 +0100


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

Re: Lists and residue classes


* Justin Walker [2004-11-14 05:33]:
> 
> On Nov 13, 2004, at 19:58, John Kerl wrote:
> 
> >Re the second, do you mean something other than:
> >
> >	n = 11;
> >	v=vector(n);
> >	for(i=0,n-1,v[i+1]=Mod(i,n));
> 
> Yes; I was hoping for a magic bullet (something of a one-liner) :-}.

  n = 11; vector(n, i, Mod(i-1,n));

:-)

> Since I'm looking for reduced residue classes, the actual 
> (straight-forward) algorithm is a little more involved.

What's a reduced residue class ? coprime to modulus ? If so, something
like

  n = 12;
  ind = 0; v = vector( eulerphi(n) );
  for(i=1,n, if (gcd(i,n) == 1, v[ind++]  = i));

does the trick. A sligthly more involved construction could be

  n = 12;
  ind = 0;
  v = vector(eulerphi(n), i, until(gcd(ind,n)==1, ind++); ind)

    Karim.
-- 
Karim Belabas                     Tel: (+33) (0)1 69 15 57 48
Dep. de Mathematiques, Bat. 425   Fax: (+33) (0)1 69 15 60 19
Universite Paris-Sud              http://www.math.u-psud.fr/~belabas/
F-91405 Orsay (France)            http://pari.math.u-bordeaux.fr/  [PARI/GP]