This function returns the n-th reflexive power of I. By definition this is the reflexification of In, or in other words, Hom(Hom(In, 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 In however. We can obtain this speedup, because in a normal domain, the reflexification of In 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.0667533 seconds o7 : Ideal of R |
i8 : I20 = I^20; o8 : Ideal of R |
i9 : time J20b = reflexify(I20); -- used 0.446724 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.0700582 seconds o13 : Ideal of R |
i14 : time J2 = reflexivePower(20, I, Strategy=>ModuleStrategy); -- used 0.283972 seconds o14 : Ideal of R |
i15 : J1 == J2 o15 = true |