This function returns the $n$-th reflexive power of $I$. By definition this is the reflexification of $I^n$, or in other words, $Hom(Hom(I^n, R), R)$.
i1 : R = QQ[x,y,z]/ideal(x^2-y*z); |
i2 : J = ideal(x,y); o2 : Ideal of R |
i3 : reflexivePower(5, J) 3 2 o3 = ideal (y , x*y ) o3 : Ideal of R |
i4 : reflexivePower(6, J) 3 o4 = ideal y o4 : Ideal of R |
This function is typically much faster than reflexifying $I^n$ however. We can obtain this speedup, because in a normal domain, the reflexification of $I^n$ is the same as the reflexification of the ideal generated by the $n$-th powers of the generators of $I$. Consider the example of a cone over a point on an elliptic curve.
i5 : R = QQ[x,y,z]/ideal(-y^2*z +x^3 + x^2*z + x*z^2+z^3); |
i6 : I = ideal(x-z,y-2*z); o6 : Ideal of R |
i7 : time J20a = reflexivePower(20, I); -- used 0.0926524 seconds o7 : Ideal of R |
i8 : I20 = I^20; o8 : Ideal of R |
i9 : time J20b = reflexify(I20); -- used 0.529344 seconds o9 : Ideal of R |
i10 : J20a == J20b o10 = true |
This passes the Strategy option to a reflexify call. Valid options are IdealStrategy and ModuleStrategy.
i11 : R = QQ[x,y,z]/ideal(-y^2*z +x^3 + x^2*z + x*z^2+z^3); |
i12 : I = ideal(x-z,y-2*z); o12 : Ideal of R |
i13 : time J1 = reflexivePower(20, I, Strategy=>IdealStrategy); -- used 0.131899 seconds o13 : Ideal of R |
i14 : time J2 = reflexivePower(20, I, Strategy=>ModuleStrategy); -- used 0.368155 seconds o14 : Ideal of R |
i15 : J1 == J2 o15 = true |
The object reflexivePower is a method function with options.