One can create an fp-algebra simply by forming the quotient of a free algebra by an ideal (quo constructor or / function). A special constructor FPAlgebra is also provided to remove the need to create the free algebra.
NOTE: When one creates an fp-algebra, the ideal of relations is left unchanged, but as soon as one does just about any operation with elements of the algebra (such as printing or multiplying), then the Gröbner basis of the underlying ideal will have to be computed to enable Magma to compute a unique form of each element of the algebra.
Given a free algebra F and a two-sided ideal J of F, return the fp-algebra (quotient algebra) F/J. The ideal J may either be specified as an ideal or by a list a1, a2, ..., ar, of generators which all lie in F. The angle bracket notation can be used to assign names to the indeterminates: A<q, r> := quo< I | I.1 + I.2, I.2^2 - 2, I.3^2 + I.4 >;.
Given a free algebra F and an ideal J of F, return the fp-algebra F/J.
Given a field K, a list X of n identifiers, and a list L of noncommutative polynomials (relations) in the n variables X, create the fp-algebra of rank n with base ring K with given quotient relations; i.e., return K[X]/< L > . The angle bracket notation can be used to assign names to the indeterminates.
> K := RationalField(); > A<x,y> := FPAlgebra<K, x, y | x^2*y - y*x, x*y^3 - y*x>; > A; Finitely Presented Algebra of rank 2 over Rational Field Non-commutative Graded Lexicographical Order Variables: x, y Quotient relations: [ x^2*y - y*x, x*y^3 - y*x ] > x; x > x*y; x*y > x^2*y; y*x > A; Finitely Presented Algebra of rank 2 over Rational Field Non-commutative Graded Lexicographical Order Variables: x, y Quotient relations: [ x*y*x^2 - y*x^2, x*y*x*y - y^2*x, x*y^2*x - y^2*x, x*y^3 - y*x, y*x^3 - y*x^2, y*x*y*x - y^2*x, y*x*y^2 - x*y*x, y^2*x^2 - y^2*x, y^2*x*y - y*x^2, y^3*x - y*x^2, x^2*y - y*x ]The following is equivalent.
> K := RationalField(); > F<x,y> := FreeAlgebra(K, 2); > A<x,y> := quo<F | x^2*y - y*x, x*y^3 - y*x>;