Operations on Affine Algebras

This section describes operations on affine algebras. Most of the operations are very similar to those for multivariate polynomial rings; such operations are done by mapping the computation to the preimage ideal and then by mapping the result back into the affine algebra. See the corresponding functions for the multivariate polynomial rings for details.

Q . i : RngMPolRes, RngIntElt -> RngMPolResElt
Given an affine algebra Q, return the i-th indeterminate of Q as an element of Q.
CoefficientRing(Q) : RngMPolRes -> Rng
Return the coefficient ring of the affine algebra Q.
Rank(Q) : RngMPolRes -> RngIntElt
Return the rank of the affine algebra Q (the number of indeterminates of Q).
DivisorIdeal(I) : RngMPolRes -> RngMPol
Given an ideal I of an affine algebra Q which is the quotient ring P/J, where P is a polynomial ring and J an ideal of P, return the ideal J.
PreimageIdeal(I) : RngMPolRes -> RngMPol
Given an ideal I of an affine algebra Q which is the quotient ring P/J, where P is a polynomial ring and J an ideal of P, return the ideal I' of P such that the image of I' under the natural epimorphism P -> Q is I.
PreimageRing(Q) : RngMPolRes -> RngMPol
Given an affine algebra Q which is the quotient ring P/J, where P is a polynomial ring and J an ideal of P, return the polynomial ring P.
OriginalRing(Q) : RngMPolRes -> Rng
Return the generic polynomial ring P such that Q is P/J for some ideal J of P.
I eq J : RngMPolRes, RngMPolRes -> BoolElt
Given two ideals I and J of the same affine algebra Q, return true if and only if I and J are equal.
I subset J : RngMPolRes, RngMPolRes -> BoolElt
Given two ideals I and J of the same affine algebra Q, return true if and only if I is contained in J.
I + J : RngMPolRes, RngMPolRes -> RngMPolRes
Given two ideals I and J of the same affine algebra Q, return the sum I + J.
I * J : RngMPolRes, RngMPolRes -> RngMPolRes
Given two ideals I and J of the same affine algebra Q, return the product I * J.
I ^ n : RngMPolRes, RngIntElt -> BoolElt
Given an ideal I of an affine algebra Q and an integer n, return the power In.
I meet J : RngMPolRes, RngMPolRes -> RngMPolRes
Given two ideals I and J of the same affine algebra Q, return the intersection I∩J.
IsProper(I) : RngMPolRes -> BoolElt
Given an ideal I of the affine algebra Q, return whether I is proper; that is, whether I is strictly contained in Q.
IsZero(I) : RngMPolRes -> BoolElt
Given an ideal I of the affine algebra Q, return whether I is the zero ideal. Note that this is equivalent to whether the preimage ideal of I is the divisor ideal of Q.
IsPrime(I) : RngMPolRes -> BoolElt
Given an ideal I of the affine algebra Q, return whether I is a prime ideal.
IsPrimary(I) : RngMPolRes -> BoolElt
Given an ideal I of the affine algebra Q, return whether I is a primary ideal.
IsRadical(I) : RngMPolRes -> BoolElt
Given an ideal I of the affine algebra Q, return whether I is a radical ideal.
PrimaryDecomposition(I) : RngMPolRes -> [ RngMPolRes ], [ RngMPolRes ]
Given an ideal I of the affine algebra Q, return the primary decomposition of I, together with the associated primes.
RadicalDecomposition(I) : RngMPolRes -> [ RngMPolRes ]
Given an ideal I of the affine algebra Q, return the (prime) decomposition of the radical of I.

Example AlgAff_Operations (H115E2)

We illustrate the operations on ideals of affine algebras.
> Q := RationalField();
> A<x,y,z> := AffineAlgebra<Q,x,y,z | x^2 - y + 1, y^3 + z - 1>;
> A;
Affine Algebra of rank 3 over Rational Field
Lexicographical Order
Variables: x, y, z
Quotient relations:
[
    x^2 - y + 1,
    y^3 + z - 1
]
> I := ideal<A | x^3*y*z^2>;
> IsRadical(I);
false
> Radical(I);
Affine Algebra of rank 3 over Rational Field
Lexicographical Order
Variables: x, y, z
Quotient relations:
[
    x^2 - y + 1,
    y^3 + z - 1
]
Generating basis:
[
    x*y^2 + x*y - x*z + x,
    y*z,
    z^2 - z
]
> PQ, PP := PrimaryDecomposition(I);
> #PQ;
3
> PQ[1];
Affine Algebra of rank 3 over Rational Field
Lexicographical Order
Variables: x, y, z
Quotient relations:
[
    x^2 - y + 1,
    y^3 + z - 1
]
Generating basis:
[
    y + 5/81*z^3 + 1/9*z^2 + 1/3*z - 1,
    x*z^3,
    y + 5/81*z^3 + 1/9*z^2 + 1/3*z - 1,
    z^4
]
> PP[1];
Affine Algebra of rank 3 over Rational Field
Lexicographical Order
Variables: x, y, z
Quotient relations:
[
    x^2 - y + 1,
    y^3 + z - 1
]
Generating basis:
[
    x,
    y - 1,
    z
]
V2.28, 13 July 2023