We call 'alpha in C' an algebraic integer if there exists a monic irreducible polynomial 'f(x) in Z[x]' with 'f(alpha) = 0'. An algebraic number field 'F' is a finite extension of the field of rationals 'Q'. There always exists an algebraic integer 'rho in C' such that 'F = Q(rho)'. The set of algebraic integers in 'F' forms a ring which is denoted by 'O = O_F'. An order 'o' in 'F' is a unital subring of 'O' which, as a 'Z-module', is finitely generated and of rank '[F:Q]'. Of course, 'O' is an order which we call the maximal order of 'F' (see Orders of Number Fields for details). In KASH3, any computations in an algebraic number field 'F' are performed with respect to a certain order in 'F'.
f := X^5 + 4*X^4 - 56*X^2 -16*X + 192;
# we want to do arithmetic in the field F = Q(rho),
# where 'rho' is a root of irreducible polynomial f
o := EquationOrder(f);
# Define the ring Z[x]/(f(x))