‣ IsPrimeZeroDim ( I ) | ( property ) |
Returns: a LeftSubmodule
Determines if the zerodimensional ideal I is a prime ideal and eventually saves an element, which proofs that I is not prime.
gap> LoadPackage( "PrimaryDecomposition" ); true gap> A := HomalgFieldOfRationalsInSingular( ) * "x"; Q[x] gap> I1 := LeftSubmodule( "x^2 + 1", A ); <A principal torsion-free ideal given by a cyclic generator> gap> IsPrimeZeroDim( I1 ); true gap> I2 := LeftSubmodule( "(x-1)^2", A ); <A principal torsion-free ideal given by a cyclic generator> gap> IsPrimeZeroDim( I2 ); false gap> I2!.AZeroDivisor; |[ x ]| gap> I2!.ANilpotentElement; |[ x ]|
‣ IsPrimaryZeroDim ( I ) | ( property ) |
Returns: a LeftSubmodule
Determines if the zerodimensional ideal I is a primary ideal.
gap> LoadPackage( "PrimaryDecomposition" ); true gap> A := HomalgFieldOfRationalsInSingular( ) * "x"; Q[x] gap> I := LeftSubmodule( "x^2 - 2*x + 1", A ); <A principal torsion-free ideal given by a cyclic generator> gap> IsPrimaryZeroDim( I ); true gap> IsPrimeZeroDim( I ); false gap> A := HomalgFieldOfRationalsInSingular( ) * " x,y,z"; Q[x,y,z] gap> I := LeftSubmodule( "x^3-x, y*x^2-y,y^2-x^2,z-x*y", A ); <A torsion-free ideal given by 4 generators> gap> IsPrimaryZeroDim( I ); false gap> IsBound( I!.AZeroDivisor ); true gap> I!.AZeroDivisor; |[ x ]| gap> A := HomalgRingOfIntegersInSingular( 3, "t,s" ) * "x,y"; GF(3)(t,s)[x,y] gap> I := LeftSubmodule( "x- s*t, y-s", A ); <A torsion-free ideal given by 2 generators> gap> IsPrimaryZeroDim( I^3 ); true
‣ PrimaryDecompositionZeroDim ( I ) | ( attribute ) |
Returns: a list
Computes the primary decomposition of a zerodimensional ideal I.
gap> LoadPackage( "PrimaryDecomposition" ); true gap> Q := HomalgFieldOfRationalsInSingular( ); Q gap> A := Q["x,y,z"]; Q[x,y,z] gap> I := LeftSubmodule( "y*z-x, x*z-y, y^2-z^2, x*y-z, x^2-z^2, z^3-z", A ); <A torsion-free ideal given by 6 generators> gap> decI := PrimaryDecompositionZeroDim( I ); [ <A torsion-free ideal given by 3 generators>, <A torsion-free ideal given by 3 generators>, <A torsion-free ideal given by 3 generators>, <A torsion-free ideal given by 3 generators>, <A torsion-free ideal given by 3 generators> ] gap> Perform( decI, Display ); z-1, y+1, x+1 An ideal generated by the 3 entries of the above matrix z+1, y-1, x+1 An ideal generated by the 3 entries of the above matrix z+1, y+1, x-1 An ideal generated by the 3 entries of the above matrix z-1, y-1, x-1 An ideal generated by the 3 entries of the above matrix z, y, x An ideal generated by the 3 entries of the above matrix gap> k := HomalgRingOfIntegersInSingular( 3, "t,r,s", Q ); GF(3)(t,r,s) gap> A := k["x,y"]; GF(3)(t,r,s)[x,y] gap> I1 := LeftSubmodule( "x-t, y", A ); <A torsion-free ideal given by 2 generators> gap> I2 := LeftSubmodule( "x-s*t, y-s", A ); <A torsion-free ideal given by 2 generators> gap> I := Intersect( I1^2, I2 ); <A torsion-free ideal given by 3 generators> gap> decI := PrimaryDecompositionZeroDim( I ); [ <A torsion-free ideal given by 2 generators>, <A torsion-free ideal given by 3 generators> ] gap> Perform( decI, Display ); y+(-s), x+(-t*s) An ideal generated by the 2 entries of the above matrix y^2, x*y+(-t)*y, x^2+(t)*x+(t^2) An ideal generated by the 3 entries of the above matrix gap> Display( I1^2 ); x^2+(t)*x+(t^2), x*y+(-t)*y, x*y+(-t)*y, y^2 An ideal generated by the 4 entries of the above matrix gap> A := k["x,y,z"]; GF(3)(t,r,s)[x,y,z] gap> I1 := LeftSubmodule( "x-t, y, z-s", A ); <A torsion-free ideal given by 3 generators> gap> I2 := LeftSubmodule( "x-s*t, y-s, z", A ); <A torsion-free ideal given by 3 generators> gap> I3 := LeftSubmodule( "x-s*t^2, y-t-s, z-s^2", A ); <A torsion-free ideal given by 3 generators> gap> I := Intersect( I1, I2^2, I3^2 ); <A torsion-free ideal given by 6 generators> gap> decI := PrimaryDecompositionZeroDim( I ); [ <A torsion-free ideal given by 6 generators>, <A torsion-free ideal given by 6 generators>, <A torsion-free ideal given by 3 generators> ] gap> Perform( decI, Display ); z^2+(s^2)*z+(s^4), y*z+(-s^2)*y+(-t-s)*z+(t*s^2+s^3), x*z+(-s^2)*x+(-t^2*s)*z+(t^2*s^3), y^2+(t+s)*y+(t^2-t*s+s^2), x*y+(-t-s)*x+(-t^2*s)*y+(t^3*s+t^2*s^2), x^2+(t^2*s)*x+(t^4*s^2) An ideal generated by the 6 entries of the above matrix z^2, y*z+(-s)*z, x*z+(-t*s)*z, y^2+(s)*y+(s^2), x*y+(-s)*x+(-t*s)*y+(t*s^2), x^2+(t*s)*x+(t^2*s^2) An ideal generated by the 6 entries of the above matrix z+(-s), y, x+(-t) An ideal generated by the 3 entries of the above matrix gap> I2^2 = decI[2]; true gap> I3^2 = decI[1]; true
generated by GAPDoc2HTML