Max Alekseyev on Thu, 27 Dec 2007 10:22:55 +0100


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

Re: polsym() reverse


On Aug 28, 2007 12:10 AM, Karim Belabas
<Karim.Belabas@math.u-bordeaux1.fr> wrote:

>   PolFromPowerSums(S) =
>   { local( n = S[1], a = vector(n+1) );
>     a[1] = 1;
>     for (k = 2, n, a[k+1] = sum(i = 1, k, S[i+1]*a[k+1-i]) / -k);
>     Pol(a)
>   }

It seems that it should be "for (k = 1, ..." here.

> 1) is defined up to a multiplicative constant, so assumes the result is monic.
>
> 2) assumes the base ring has characteristic 0 or > n.
>
> 3) assumes #S >= Degree(Pol), otherwise we do not have enough information.
> Should trigger a nice error message if #S <= S[1].

All that makes perfect sense.

> I can add a trivial GP function implementing the above. How should I
> name it ? The above doesn't quite fit our current naming scheme:-)

That's a great idea!

> 'polsym' was not a great choice; 'powersums' would have been clearer/easier
> to find. When I read 'polsym', I think about symmetric functions of the roots,
> hence about the opposite construction ...

I vote for poltopowersums() instead of polsym() and for
polfrompowersums() for its reverse.
But any other names will be highly appreciated as well.

Regards,
Max