Bill Allombert on Fri, 21 Jun 2002 13:30:52 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: rad function |
On Mon, May 20, 2002 at 06:35:36PM +0200, Karim BELABAS wrote: > On Mon, 20 May 2002, Jon Perry wrote: > > > Is there a rad function in Pari/GP? > > > > rad(n) is the square-free component of n, e.g. rad(12)=rad(2.2.3)=6 > > No. You can use > > rad(n) = > { local(p,i); > > p = factor(n)[,1]; > prod(i=1, length(p), p[i]) > } Please do not put 'i' in local. This declares a function-local variable with the same name as the 'prod loop'-local variable i. This do no good and may be extremly confusing, since the value of i is inchanged outside of 'prod()'. See ??"User defined functions"@2 for more detail. With gp2c-run , gcc will emit a warning about unused variable. rad.gp.c:22: warning: unused variable `i' Cheers, Bill. PS: with gp 2.2.1, you can just do rad(n)=factorback(factor(n)[,1])