[Next] [Prev] [Right] [Left] [Up] [Index] [Root]
Affine Algebras (Quotient rings)

Affine Algebras (Quotient rings)

Magma allows one to create the quotient ring of a multivariate polynomial ring P over a field by an ideal J of P. Such quotient rings are known as affine algebras. If an affine algebra has finite dimension considered as a vector space over the coefficient field, extra special operations are available on its elements.

Subsections

Creation of Affine Algebras

quo< P | J > : RngMPol, RngMPol -> RngMPolRes
quo< P | a_1, ..., a_r > : RngMPol, RngMPolElt, ..., RngMPolElt -> RngMPolRes, Map
Given a multivariate polynomial ring P (over a field) 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 a_1, a_2, ..., a_r, 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 (over a field) and an ideal J of P, return the quotient affine algebra P/J.
ideal< Q | a_1, ..., a_r > : RngMPol, RngMPolElt, ..., RngMPolElt -> RngMPolRes, Map
Given an affine algebra Q together with a list L = a_1, a_2, ..., a_r of elements of Q, return the ideal of Q generated by L.

Operations on Affine Rings

This subsection describes operations on affine rings. 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(I) : 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.
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 Iintersect J.
ColonIdeal(I, J) : RngMPolRes, RngMPolRes -> RngMPolRes
Given two ideals I and J of the same affine algebra Q, return the colon ideal 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.

Finite Dimensional Affine Algebras

If an affine algebra has finite dimension considered as a vector space over its coefficient field, extra special operations are available on its elements.

Dimension(Q) : RngMPolRes -> RngIntElt
Given a finite dimensional affine algebra Q, return the dimension of Q.
VectorSpace(Q) : RngMPolRes -> ModTupFld, Map
Given a finite dimensional affine algebra Q, construct the vector space V isomorphic to Q, and return V together with the isomorphism f from Q onto V.
MatrixAlgebra(Q) : RngMPolRes -> AlgMat, Map
Given a finite dimensional affine algebra Q, construct the matrix algebra A isomorphic to Q, and return A together with the isomorphism f from Q onto A.
RepresentationMatrix(f) : RngMPolResElt -> AlgMatElt
Given an element f of a finite dimensional affine algebra Q, return the representation matrix of f, which is a d by d matrix over the coefficient field of Q (where d is the dimension of Q) which represents f.
IsUnit(f) : RngMPolResElt -> BoolElt
Given an element f of a finite dimensional affine algebra Q, return whether f is a unit.
IsNilpotent(f) : RngMPolResElt -> BoolElt, RngIntElt
Given an element f of a finite dimensional affine algebra Q, return whether f is nilpotent, and if so, return also the smallest q such that f^q = 0.
MinimalPolynomial(f) : RngMPolResElt -> RngUPol
Given an element f of a finite dimensional affine algebra Q, return the minimal polynomial of f as a univariate polynomial over the coefficient field of Q.

Example RngMPol_MinimalPolynomial (H29E28)

Suppose we wish to find the minimal polynomial of theta = sqrt 2 + root 3 of 5 over Q. To do this we just need find the minimal polynomial of (the coset of) x + y over Q in the affine algebra Q[x, y]/(x^2 - 2, y^3 - 5).

> P<x, y> := PolynomialRing(RationalField(), 2);
> Q<a, b> := quo<P | x^2 - 2, y^3 - 5>;
> UP<z> := PolynomialRing(RationalField());
> MinimalPolynomial(a + b);          
z^6 - 6*z^4 - 10*z^3 + 12*z^2 - 60*z + 17

[Next] [Prev] [Right] [Left] [Up] [Index] [Root]