Usage:
<l_to_dual I d I'
Compute the dual socle of a zero dimensional ideal I over the localization
of the base ring of I at the homogeneous maximal ideal.
Parameters:
I = 1xn matrix of (inhomogeneous) polynomials
d = integer such that xi^d is in I, for each variable xi.
Output values:
I' = 1xr matrix whose entries generate the inverse system (dual socle)
of I.
See the script "l_from_dual" for definitions and notation.
The inverse system is defined to be
I' = Hom_R(R/I, E).
Let A = R/(x1^d, ..., xn^d), where x1, ..., xn are the variables of R.
Then I' = Hom_A(A/I, E) = Hom_A(A/I, E1),
where E1 is the A-submodule of E generated by 1/(x1^(d-1)...xn^(d-1)),
which is isomorphic to A.
We compute the inverse system by first computing
Hom_A(A/I, A) = Ann_A(A/I),
and then mapping the answer back into E, by "contracting" with the
element 1/(x1^(d-1)...xn^(d-1)).
Caveats: The integer d must be correctly given, otherwise one
may get only a "part" of the inverse system. On the other hand, this
computes a filtration (by "d") of the inverse system, for any ideal I,
not just zero dimensional ideals.