Ideals of Orders
Construction of Ideals
- lideal<O | E>: AlgAssVOrd, [AlgAssVOrdElt] -> AlgAssVOrdIdl
- rideal<O | E>: AlgAssVOrd, [AlgAssVOrdElt] -> AlgAssVOrdIdl
- ideal<O | E>: AlgAssVOrd, [AlgAssVOrdElt] -> AlgAssVOrdIdl
For an associative order \(O\), this constructs the left, right, or two sided \(O\)-ideal generated by the elements in the given sequence \(E\) (these elements should be coercible into \(O\)).
- lideal<O | M>: AlgAssVOrd, PMat -> AlgAssVOrdIdl
- lideal<O | M>: AlgAssVOrd, Mtrx -> AlgAssVOrdIdl
- rideal<O | M>: AlgAssVOrd, PMat -> AlgAssVOrdIdl
- rideal<O | M>: AlgAssVOrd, Mtrx -> AlgAssVOrdIdl
- ideal<O | M>: AlgAssVOrd, PMat -> AlgAssVOrdIdl
- ideal<O | M>: AlgAssVOrd, Mtrx -> AlgAssVOrdIdl
Constructs a left, right, or two sided ideal of the associative order \(O\) whose basis is given by \(M\), which may be either a matrix or a pseudo matrix.
Attributes of Ideals
In this section, \(I\) is an ideal of some order in an associative algebra.
- Order(I): AlgAssVOrdIdl -> AlgAssVOrd
For an ideal \(I\) created as an ideal of an order \(O\), this returns \(O\).
- LeftOrder(I): AlgAssVOrdIdl -> AlgAssVOrd
- RightOrder(I): AlgAssVOrdIdl -> AlgAssVOrd
For an ideal \(I\), this returns the (full) order in
Algebra(I)which stabilizes \(I\) under multiplication on the left or right respectively. Explicitly, the left order of \(I\) is defined as \(\{ x : x I \subseteq I \}\).
- ArithmeticRadical(O, p): AlgAssVOrd[RngOrd], RngOrdIdl -> AlgAssVOrdIdl
- ArithmeticRadical(O, p): AlgQuat, RngElt -> AlgQuatOrdIdl
Given an order \(O\) over a number ring \(R\) and a prime ideal \(p\) in \(R\), return the Arithmetic Radical of \(O\) over \(p\). This is the unique two-sided ideal \(J\) of \(O\) over \(pO\) such that \(J/pO\) is the Jacobson radical of \(O/pO\).
- RadicalIdealizer(O, p): AlgAssVOrd[RngOrd], RngOrdIdl -> AlgAssVOrd
- RadicalIdealizer(O, p): AlgQuat, RngElt -> AlgQuat
Side: MonStgElt Default: "Intersection"
Returns either the left or right order of the arithmetical radical of \(O\) at \(p\) or the intersection of these two orders, depending on whether
Sideis"Left","Right", or"Intersection".
- Neighbors(I, p): AlgAssVOrdIdl, RngOrdIdl -> SeqEnum[AlgAssVOrdIdl]
- Neighbors(I, p): AlgQuatOrdIdl, RngInt -> SeqEnum[AlgQuatOrdIdl]
Returns the \(p\)-neighbors of the ideal \(I\), namely the ideals \(J \subseteq I\) such that \({\rm Nm}(J) = p {\rm Nm}(I)\). Currently, only implemented for squarefree ideals \(p\) coprime to \({\rm Disc}(O) {\rm Nm}(I)\), where \(O\) is
Order(I).
- ElementsOfNorm(I, n): AlgAssVOrdIdl, RngElt -> SeqEnum
ModUnits: BoolElt Default: false
Returns the elements in \(I\) of norm \(n\). Currently, only implemented when \(I\) is an ideal in a definite quaternion algebra. If
ModUnitsis set totrue, returns only one representative from every orbit under the action of the group of units of norm \(1\) in \(O\), where \(O\) isOrder(I).
Bases of Ideals
In this section, \(I\) is an ideal of an order \(O\) in an associative algebra.
- Denominator(I): AlgAssVOrdIdl -> RngElt
This returns an element \(d\) of
BaseRing(O)such that \(d I \subseteq O\), where \(O\) isOrder(I).
- PseudoBasis(I): AlgAssVOrdIdl[RngOrd] -> SeqEnum
Given an ideal \(I\) of an order over \(R\), where \(R\) is an order in a number field, this returns data describing \(I\) as an \(R\)-module. It returns a sequence of tuples \(\langle I_i, b_i \rangle\) where \(I_i\) is an ideal of \(R\) and \(b_i\) is an element of
Algebra(I), such that \(I\) is the direct sum of the \(R\)-modules \(I_i b_i\). In particular, the \(b_i\) form a basis ofAlgebra(I)as a vector space over the field of fractions of \(R\). Note that the \(b_i\) may not lie in \(I\).
- PseudoMatrix(I): AlgAssVOrdIdl[RngOrd] -> PMat
- PseudoMatrix(I): AlgAssVOrdIdl[RngFunOrd] -> PMat
Returns the pseudomatrix corresponding to
PseudoBasis(I).
- Basis(I): AlgAssVOrdIdl -> SeqEnum
When \(I\) is an ideal of an order over \({\mathbb{Z}}\), this returns a \({\mathbb{Z}}\)-module basis of \(I\).
When the base ring of
Order(I)is an extension of \({\mathbb{Z}}\), this returns part of the data returned byPseudoBasis(I): it returns a basis ofAlgebra(I). Note that this determines nothing about \(I\), while the full data returned byPseudoBasis(I)determines \(I\).
- ZBasis(I): AlgAssVOrdIdl[RngOrd] -> [AlgAssVOrdElt]
Returns a \({\mathbb{Z}}\)-module basis for the ideal \(I\).
- Generators(I): AlgAssVOrdIdl[RngOrd] -> [AlgAssVOrdElt]
Returns a sequence of generators for the ideal \(I\) as a module over its base ring.
- LocalBasis(I, p): AlgAssVOrdIdl, RngOrdIdl -> [AlgAssElt]
Type: MonStgElt Default: ""
Given an ideal \(I\) of an \(R\)-order in an algebra \(A\), this function returns a basis of a free \(R\)-module \(F\) in \(A\) such that \(I\) and \(F\) agree at the completion at the prime ideal \(p\) of \(R\). If
Typeis specified, it must either be"Submodule"or"Supermodule". In which case \(F\) is either a sub- or supermodule of \(I\).
- PseudoBasis(I, R): AlgAssVOrdIdl[RngOrd], Str -> SeqEnum
- PseudoMatrix(I, R): AlgAssVOrdIdl[RngOrd], Str -> PMat
- Basis(I, R): AlgAssVOrdIdl, Str -> SeqEnum
- BasisMatrix(I, R): AlgAssVOrdIdl, Str -> AlgMatElt
In these variants of the functions described above, the elements of the basis are expressed with respect to the basis of \(R\), where \(R\) is some ring contained in \(A =\)
Algebra(I)such that \(R \otimes F = A\) where \(F\) is the base field of \(A\).
Arithmetic for Ideals
- I + J: AlgAssVOrdIdl, AlgAssVOrdIdl -> AlgAssVOrdIdl
The sum of the ideals \(I\) and \(J\), which are ideals which share a side in equal orders.
- I * J: AlgAssVOrdIdl, AlgAssVOrdIdl -> AlgAssVOrdIdl, AlgAssVOrdIdl
- I * J: AlgAssVOrdIdl[RngOrd], AlgAssVOrdIdl[RngOrd] -> AlgAssVOrdIdl, AlgAssVOrdIdl
The product of the ideals \(I\) and \(J\), where \(I\) is a right ideal and \(J\) is a left ideal of the same order \(O\). Returns the product given the structure of left and right ideal.
- a * I: RngElt, AlgAssVOrdIdl -> AlgAssVOrdIdl
- I * a: AlgAssVOrdIdl, RngElt -> AlgAssVOrdIdl
- a * I: RngElt, AlgQuatOrdIdl -> AlgQuatOrdIdl
- I * a: AlgQuatOrdIdl, RngElt -> AlgQuatOrdIdl
Returns the product of \(a\) and \(I\) as an ideal.
- A * I: RngOrdFracIdl, AlgAssVOrdIdl[RngOrd] -> AlgAssVOrdIdl
- I * A: RngOrdFracIdl, AlgAssVOrdIdl[RngOrd] -> AlgAssVOrdIdl
Returns the product of a fractional ideal \(A\) of the base ring with \(I\) as an ideal.
Predicates on Ideals
- IsLeftIdeal(I): AlgAssVOrdIdl -> BoolElt
- IsRightIdeal(I): AlgAssVOrdIdl -> BoolElt
- IsTwoSidedIdeal(I): AlgAssVOrdIdl -> BoolElt
Return
trueif the associative ideal \(I\) is a left, right, or two sided ideal (respectively).
- I eq J: AlgAssVOrdIdl, AlgAssVOrdIdl -> BoolElt
Return
trueif the associative ideals \(I\) and \(J\) are equal.
Other Operations on Ideals
- Norm(I): AlgAssVOrdIdl[RngOrd] -> RngOrdIdl
Returns the norm of the ideal \(I\), the ideal of the base number ring of \(I\) generated by the norms of the elements in \(I\).
- Example: One-Sided Ideals of an Order (ex-d618e7)
Run in calculator (opens in a new tab)
> F<w> := CyclotomicField(3); > R := MaximalOrder(F); > A := Algebra(FPAlgebra<F, x, y | x^3-3, y^3+5, y*x-w*x*y>); > O := Order([A.i : i in [1..9]]); > MinimalPolynomial(O.2); $.1^3 + 5/1*R.1 > I := rideal<O | O.2>; > IsLeftIdeal(I), IsRightIdeal(I), IsTwoSidedIdeal(I); false true false > MultiplicatorRing(I) eq O; true > PseudoBasis(I); [ <Principal Ideal of R Generator: R.1, (0 R.1 0 0 0 0 0 0 0)>, <Principal Ideal of R Generator: R.1, (0 0 0 R.1 0 0 0 0 0)>, <Principal Ideal of R Generator: R.1, (0 0 0 0 -R.1 - R.2 0 0 0 0)>, <Principal Ideal of R Generator: R.1, (-5/1*R.1 0 0 0 0 0 0 0 0)>, <Principal Ideal of R Generator: R.1, (0 0 0 0 0 0 -R.1 - R.2 0 0)>, <Principal Ideal of R Generator: R.1, (0 0 0 0 0 0 0 R.2 0)>, <Principal Ideal of R Generator: R.1, (0 0 5/1*R.1 + 5/1*R.2 0 0 0 0 0 0)>, <Principal Ideal of R Generator: R.1, (0 0 0 0 0 0 0 0 R.2)>, <Principal Ideal of R Generator: R.1, (0 0 0 0 0 -5/1*R.2 0 0 0)> ] > ZBasis(I); [ [0 R.1 0 0 0 0 0 0 0], [0 R.2 0 0 0 0 0 0 0], [0 0 0 R.1 0 0 0 0 0], [0 0 0 R.2 0 0 0 0 0], [0 0 0 0 -R.1 - R.2 0 0 0 0], [0 0 0 0 R.1 0 0 0 0], [-5/1*R.1 0 0 0 0 0 0 0 0], [-5/1*R.2 0 0 0 0 0 0 0 0] ] > Norm(I); Principal Ideal of R Generator: 15625/1*R.1 > J := rideal<O | O.3>; > Norm(J); Principal Ideal of R Generator: 729/1*R.1 > A!1 in I+J; false > Denominator(1/6*I); [1, 0] > Colon(J,I); Pseudo-matrix over Maximal Equation Order with defining polynomial x^2 + x + 1 over its ground order Principal Ideal of R Generator: 3/1*R.1 * ( R.1 0 0 0 0 0 0 0 0 ) Principal Ideal of R Generator: 3/1*R.1 * ( 0 R.1 0 0 0 0 0 0 0 ) Principal Ideal of R Generator: R.1 * ( 0 0 R.1 0 0 0 0 0 0 ) Fractional Principal Ideal of R Generator: 3/5*R.1 * ( 0 0 0 R.1 0 0 0 0 0 ) Principal Ideal of R Generator: R.1 * ( 0 0 0 0 R.1 0 0 0 0 ) Principal Ideal of R Generator: R.1 * ( 0 0 0 0 0 R.1 0 0 0 ) Fractional Principal Ideal of R Generator: -1/5*R.1 * ( 0 0 0 0 0 0 R.1 0 0 ) Principal Ideal of R Generator: R.1 * ( 0 0 0 0 0 0 0 R.1 0 ) Fractional Principal Ideal of R Generator: 1/5*R.1 * ( 0 0 0 0 0 0 0 0 R.1 )