```@meta CurrentModule = Hecke


## Creation

```@docs
Order(::Array{nf_elem, 1}, ::Bool)
Order(::AnticNumberField, ::FakeFmpqMat, ::Bool)
EquationOrder(::AnticNumberField)

Example

```@repl using Hecke; # hide Qx, x = PolynomialRing(QQ, "x"); K, a = NumberField(x^2 - 2, "a"); O = EquationOrder(K)


!!! note 
    Internally there is a difference between arbitary orders and maximal orders.
    An order will be treated as a maximal order, that is, as the ring of integers,
    if it was computed in the following way.

```@docs
maximal_order(::AnticNumberField)
maximal_order(::AnticNumberField, ::Array{fmpz, 1})
make_maximal(::NfOrd)

```@repl using Hecke; # hide Qx, x = PolynomialRing(QQ, "x"); K, a = NumberField(x^2 - 2, "a"); R = EquationOrder(K) S = make_maximal(R) T = maximal_order(K) basis_mat(S) == basis_mat(T)


## Basic properties

```@docs
signature(::NfOrd)
degree(::NfOrd)
norm_change_const(::NfOrd)
isequationorder(::NfOrd)
nf(::NfOrd)
basis(::NfOrd)
basis_mat(::NfOrd)
basis_mat_inv(::NfOrd)
discriminant(::NfOrd)
gen_index(::NfOrd)
index(::NfOrd)
isindex_divisor(::NfOrd, p::Int)
minkowski_mat(::NfOrd)
in(::nf_elem, ::NfOrd)
den(::nf_elem, ::NfOrd)
+(::NfOrd, ::NfOrd)
poverorder(::NfOrd, ::fmpz)
pmaximal_overorder(::NfOrd, ::fmpz)

Elements

Creation

```@docs call(::NfOrdGen, ::nf_elem) call(::NfOrdGen, ::fmpz) call(::NfOrdGen, ::Array{fmpz, 1}) call(::NfOrdGen, ::Array{Int, 1}) call(::NfOrdGen)


### Basic properties

```@docs
parent(::NfOrdElem)
elem_in_nf(::NfOrdElem)
elem_in_basis(::NfOrdElem)
discriminant(::Array{NfOrdElem, 1})
==(::NfOrdElem, ::NfOrdElem)
zero(::NfOrd)
one(::NfOrd)
iszero(::NfOrdElem)
isone(::NfOrdElem)

Arithmetic

```@docs -(::NfOrdElem) +(::NfOrdElem, ::NfOrdElem) -(::NfOrdElem, ::NfOrdElem) *(::NfOrdElem, ::NfOrdElem) ^(::NfOrdElem, ::Int) mod(::NfOrdElem, ::Int) powermod(::NfOrdElem, ::fmpz, ::Int)


### Miscallenous

```@docs
representation_mat(::NfOrdElem)
representation_mat(::NfOrdElem, ::AnticNumberField)
trace(::NfOrdElem)
norm(::NfOrdElem)
rand(::NfOrd, ::Int)
minkowski_map(::NfOrdElem, ::Int)
conjugates_arb(::NfOrdElem, ::Int)
conjugates_arb_log(::NfOrdElem, ::Int)
t2(::NfOrdElem, ::Int)

Ideals

Creation

```@docs ideal(::NfOrdGen, ::Int) ideal(::NfOrdGen, ::fmpz) ideal(::NfOrdGen, ::fmpz_mat) ideal(::NfOrdGen, ::NfOrdElem{NfOrdGen}) ring_of_multipliers(::NfOrdIdl) *(::NfOrd, ::NfOrdElem)


### Arithmetic

```@docs
==(::NfOrdIdl, ::NfOrdIdl)
+(::NfOrdIdl, ::NfOrdIdl)
*(::NfOrdIdl, ::NfOrdIdl)
lcm(::NfOrdIdl, ::NfOrdIdl)

Miscaellenous

```@docs order(::NfOrdIdl) basis(::NfOrdIdl) basis_mat(::NfOrdIdl) basis_mat_inv(::NfOrdIdl) minimum(::NfOrdIdl) norm(::NfOrdIdl) in(::NfOrdElem, ::NfOrdIdl) idempotents(::NfOrdIdl, ::NfOrdIdl) mod(::NfOrdElem, ::NfOrdIdl) pradical(::NfOrd, p::fmpz)


## Fractional ideals

### Creation

```@docs
frac_ideal(::NfOrdGen, ::fmpz_mat)
frac_ideal(::NfOrdGen, ::fmpz_mat, ::fmpz)
frac_ideal(::NfOrdGen, ::FakeFmpqMat)
frac_ideal(::NfOrdGen, ::NfOrdGenIdl)
frac_ideal(::NfOrdGen, ::NfOrdGenIdl, ::fmpz)
frac_ideal(::NfOrdGen, ::nf_elem)
frac_ideal(::NfOrdGen, ::NfOrdElem{NfOrdGen})

Arithmetic

```@docs ==(::NfOrdFracIdl, ::NfOrdFracIdl)


### Miscaellenous

```@docs
order(::NfOrdFracIdl)
basis_mat(::NfOrdFracIdl)
basis_mat_inv(::NfOrdFracIdl)
basis(::NfOrdFracIdl)
norm(::NfOrdFracIdl)