in a nutshell I want to compute something like this MAGMA session in Sage:
%magma
P<a,b,c,d> := PolynomialRing(GF(127),4);
I := ideal<P|c^3-b*d^2,b*c-a*d,b^3-a^2*c,a*c^2-b^2*d>;
S<t> := HilbertSeries(I);
S;
L<u> := LaurentSeriesRing(IntegerRing());
L ! S;
The first part is quite easy as I wrapped the appropriate Singular function
(singular.hilb(I,1)/(1-t^n)). It is the second part that gives me trouble,
i.e. I need the first n Laurent series terms for the rational function which
describes the Hilbert series.
Tips?
Martin
--
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_www: http://www.informatik.uni-bremen.de/~malb
_jab: martinr...@jabber.ccc.de
It might be a lot easier to help if you gave the rational function. Depending
on how complicated the denominator is, you basically just have to compute the
Taylor series of the rational function, by differentiation and evaluation (using
Taylor's formula), i.e., kind of like this is doing, but over GF(p):
sage: f = (x^3 + x +1)/((x^4 + x^2 + 2)*x^3*(x^3-5))
sage: f.taylor(x, 0, 4)
-1/(10*x^3) - 1/(10*x^2) + 1/(20*x) - 7/100 + x/200 + 17*x^2/200 -
103*x^3/2000 - 23*x^4/2000
-- William
Hi,
sorry for not being specific enough earlier. In my particular application
f(t) = p(t)/(1-t)^n
where p is a polynomial with integer coefficients. So I am not actually
working over GF(p) and in that case the Taylor expansion seems to give me
what I want. However as I am looking into this now, I try to come up with
something more general. I am wondering what Magma is doing (maybe just Taylor
as well?) and if we want this too, e.g. that
sage: L.<t> = LaurentSeriesRing(IntegerRing())
sage: L(f)
returns the expansion? Would that make sense? Is it feasible?
Yes that makes sense and would be a great idea to do.
In your particular case above, you should write
p(t)/(1-t)^n = p(t) * (1/(1-t))^n
then expand 1/(1-t) out as a geometric series, raise it to the
power of n, and multiply it by p(t). You actually will get
a power series rather than a Laurent series, (1-t) has no pole
at 0.
William