Creation of Affine Algebras

One can create an affine algebra simply by forming the quotient of a multivariate polynomial ring by an ideal (quo constructor or / function). A special constructor AffineAlgebra is also provided to remove the need to create the base polynomial ring.

quo< P | J > : RngMPol, RngMPol -> RngMPolRes
quo< P | a1, ..., ar > : RngMPol, RngMPolElt, ..., RngMPolElt -> RngMPolRes, Map
Given a multivariate polynomial ring P and an ideal J of P, return the quotient ring P/J. The ideal J may either be specified as an ideal or by a list a1, a2, ..., ar, of generators which all lie in P. The angle bracket notation can be used to assign names to the indeterminates: Q<q, r> := quo< I | I.1 + I.2, I.2^2 - 2, I.3^2 + I.4 >;.
P / J : RngMPol, RngMPol -> RngMPolRes
Given a multivariate polynomial ring P and an ideal J of P, return the quotient affine algebra P/J.
AffineAlgebra< R, X | L > : Fld, List, List -> RngMPolRes
Given a ring R, a list X of n identifiers, and a list L of polynomials (relations) in the n variables X, create the affine algebra of rank n with base ring R with given quotient relations; i.e., return R[X]/< L >. The angle bracket notation can be used to assign names to the indeterminates.

Example AlgAff_Creation (H115E1)

One can create a relative extension of an algebraic number field as an affine algebra. The multivariate representation will often be more efficient than an absolute representation because of the sparsity of the elements in the field.
> Q := RationalField();
> A<x, y> := AffineAlgebra<Q, x, y | x^2 - y^2 + 2, y^3 - 5>;
> A;
Affine Algebra of rank 2 over Rational Field
Lexicographical Order
Variables: x, y
Quotient relations:
[
    x^2 - y^2 + 2,
    y^3 - 5
]
> x^2;
y^2 - 2
> x^-1;
2/17*x*y^2 + 5/17*x*y + 4/17*x
> P<z> := PolynomialRing(Q);
> MinimalPolynomial(x);
z^6 + 6*z^4 + 12*z^2 - 17
> MinimalPolynomial(x^-1);
z^6 - 12/17*z^4 - 6/17*z^2 - 1/17
> MinimalPolynomial(y);
z^3 - 5
Another important construction is to create an affine algebra over a rational function field to obtain an algebraic function field:
> F<t> := FunctionField(IntegerRing());
> A<x, y> := AffineAlgebra<F, x, y | t*x^2 - y^2 + t + 1, y^3 - t>;
> P<z> := PolynomialRing(F);
> x^-1;
(-t^2 - t)/(t^3 + 2*t^2 + 3*t + 1)*x*y^2 - t^2/(t^3 + 2*t^2 + 3*t + 1)*x*y
    + (-t^3 - 2*t^2 - t)/(t^3 + 2*t^2 + 3*t + 1)*x
> MinimalPolynomial(x);
z^6 + (3*t + 3)/t*z^4 + (3*t^2 + 6*t + 3)/t^2*z^2 + (t^3 + 2*t^2 + 3*t +
    1)/t^3
> MinimalPolynomial(x^-1);
z^6 + (3*t^3 + 6*t^2 + 3*t)/(t^3 + 2*t^2 + 3*t + 1)*z^4 + (3*t^3 +
   3*t^2)/(t^3 + 2*t^2 + 3*t + 1)*z^2 + t^3/(t^3 + 2*t^2 + 3*t + 1)
In this example we can consider y as a cube root of the transcendental indeterminate t.

Note that in general the (Krull) dimension of the ideal defining the relations may be anything; it need not be 0 or 1 as it is in these examples.

V2.28, 13 July 2023