Over Orders#

IsMaximalAtPrime(R, P): AlgEtQOrd, AlgEtQIdl -> BoolElt#

Returns whether \(R\) is maximal at the prime \(P\), that is, if \((R:O)\) is not contained in \(P\), where \(O\) is the maximal order.

MinimalOverOrdersAtPrime(R, P): AlgEtQOrd, AlgEtQIdl -> SetIndx[AlgEtQOrd]#

Given an order \(R\) and prime \(P\) of \(R\), it returns the minimal overorders \(S\) of \(R\) with conductor \((R:S)\) which is \(P\)-primary. The minimality assumption forces the conductor \((R:S)\) to be exactly \(P\). Based on [Hofmann and Sircana, 2020].

MinimalOverOrders(R): AlgEtQOrd -> SetIndx[AlgEtQOrd]#

Computes the minimal overorders of \(R\).

OverOrdersAtPrime(R, P): AlgEtQOrd, AlgEtQIdl -> SeqEnum[AlgEtQOrd]#

Given an order \(R\) and prime \(P\) of \(R\), it returns \(R\) and the overorders \(S\) of \(R\) with conductor \((R:S)\) which is \(P\)-primary. We recursively produce the minimal \(PP\)-overorders where \(PP\) are primes above \(P\). Based on [Hofmann and Sircana, 2020].

OverOrders(R): AlgEtQOrd -> SeqEnum[AlgEtQOrd]#
populateoo_in_oo: BoolElt                    Default: false

We compute all the overorders of \(R\). The parameter populateoo_in_oo (default false) determines whether we should fill the attribute T`OverOrders for every overorder \(T\) of \(R\). The computation is based on [Hofmann and Sircana, 2020].

Example: Over Orders Example (ex-1d4978)#
> _<x> := PolynomialRing(Integers());
> f := (x^4+16)*(x^4+81);
> A := EtaleAlgebra(f);
> E := EquationOrder(A);
> oo := OverOrders(E);
> #oo;
2288
> pp := SingularPrimes(E);
> // We see that the size of the lattice of inclusions of the overorders is the
> // product of the sizes of local component of the lattice.
> #oo eq &*[ #OverOrdersAtPrime(E,P) : P in pp ];
true
> // Now we consider only the P-overorders S for the first singular prime P.
> // We verify that there is always a positive integer i such that (R:S)^i is
> // invertible in its multiplicator ring.
> ooP := OverOrdersAtPrime(E,pp[1]);
> #ooP;
11
> forall{exists{IsInvertible(Ti!!Ci) where Ti:=MultiplicatorRing(Ci)
> where Ci:=C^i : i in [1..10]} where C := ColonIdeal(E,E!!OneIdeal(S))
>                                                             : S in ooP};
true

Run in calculator

FindOverOrders(R): AlgEtQOrd -> SetIndx[AlgEtQOrd]#
populateoo_in_oo: BoolElt                    Default: false

We compute all the overorders of \(R\). The parameter populateoo_in_oo (default false) determines whether we should fill the attribute T`OverOrders for every overorder \(T\) of \(R\). The computation is based on [Hofmann and Sircana, 2020].