# Creation of FP-Algebras

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.

## `quo< F | J >: AlgFr, AlgFr -> AlgFP`

## `quo< F | a₁, ..., aᵣ >: AlgFr, AlgFrElt, ..., AlgFrElt -> AlgFrRes, Map`

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 $a_1$, $a_2$, $\ldots$, $a_r$, 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 >;`.

## `F / J: AlgFr, AlgFr -> AlgFP`

Given a free algebra $F$ and an ideal $J$ of $F$, return the fp-algebra $F/J$.

## `FPAlgebra< K, X | L >: Fld, List, List -> AlgFP`

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]/\langle L\rangle$. The angle bracket notation can be used to assign names to the indeterminates.

## `Example: Creation (ex-8d1242)`

We illustrate equivalent ways of creating FP-algebras.

```magma
> 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.

```magma
> K := RationalField();
> F<x,y> := FreeAlgebra(K, 2);
> A<x,y> := quo<F | x^2*y - y*x, x*y^3 - y*x>;

```
