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

Suppose \(Q\) is an affine algebra \(Q\) which equals the quotient ring \(P/J\), where \(P\) is a polynomial ring and \(J\) is an ideal of \(P\). Given \(I\) such that \(I\) an ideal of \(Q\), or \(I=Q\) itself, return the ideal \(J\) of \(P\).

PreimageIdeal(I): RngMPolRes -> RngMPol

Suppose \(Q\) is an affine algebra \(Q\) which equals the quotient ring \(P/J\), where \(P\) is a polynomial ring and \(J\) is an ideal of \(P\). Given \(I\) such that \(I\) an ideal of \(Q\), or \(I=Q\) itself, return the ideal \(I'\) of \(P\) such that the image of \(I'\) under the natural epimorphism \(P\rightarrow 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 \(I^n\).

I meet J: RngMPolRes, RngMPolRes -> RngMPolRes

Given two ideals \(I\) and \(J\) of the same affine algebra \(Q\), return the intersection \(I\cap 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: Ideals of Affine Algebras (ex-f9694a)

Run in calculator (opens in a new tab)

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
]

Run in calculator (opens in a new tab)