# Ideals in OM Representation

Ideals of type `RngOrdFracIdl` can have an OM representation computed from them. Similarly ideals constructed from the Montes algorithm in OM representation can be converted into ideals of type `RngOrdFracIdl`.

## `Ideal(I): OMIdl -> RngOrdIdl`

Translates ideal $I$ in OM representation into a Magma representation.

## `OMRepresentation(I): RngFunOrdIdl -> OMIdl`

## `OMRepresentation(I): RngOrdFracIdl -> OMIdl`

Computes the OM representation of the ideal $I$ in a number field.

## `OMRepresentation(L, S): FldArith, [FldArithElt] -> OMIdl`

## `OMRepresentation(L, a): FldArith, FldArithElt -> OMIdl`

## `OMRepresentation(L, a): FldArith, RngElt -> OMIdl`

Given a number field $L$ and an element $a$ or sequence $S$ of elements in $L$, construct, in OM representation, the ideal generated by these elements.

## `Example: Om Rep Ideal (ex-738d2c)`

```magma
>      Ax<x> := PolynomialRing(Integers());
>      f := x^5 + 343*x^4 + 49*x^3 + 343*x^2 + 7*x + 6;
>      L := NumberField(f);
>      p := 7;
>      Montes(L,p);
> Ideal(L`PrimeIdeals[p,1]);
Prime Ideal
Two element generators:
    [7, 0, 0, 0, 0]
    [6, 1, 0, 0, 0]
> OMRepresentation(L, [7, 1 + L.1 + L.1^2 + L.1^3 + L.1^4]);
OM ideal of the field Number Field with defining polynomial x^5 + 343*x^4 +
49*x^3 + 343*x^2 + 7*x + 6 over the Rational Field
generated by [
7,
$.1^4 + $.1^3 + $.1^2 + $.1 + 1
]

> Ideal($1);
Ideal
Two element generators:
    [7, 0, 0, 0, 0]
    [1, 1, 1, 1, 1]

```

## Ideal Arithmetic

### `I + J: OMIdl, OMIdl -> OMIdl`

### `I * J: OMIdl, OMIdl -> OMIdl`

### `I / J: OMIdl, OMIdl -> OMIdl`

The sum, product or quotient of ideals $I$ and $J$ in OM representation.

### `I ^ n: OMIdl, RngIntElt -> OMIdl`

The $n$-th power of the ideal $I$ in OM representation.

### `Example: Om Ideal Arith (ex-58ff3a)`

```magma
> Ax<x> := PolynomialRing(Integers());
> f := x^5 + 343*x^4 + 49*x^3 + 343*x^2 + 7*x + 6;
> L := NumberField(f);
> Montes(L,7);
> P := L`PrimeIdeals[7,1];
> I := OMRepresentation(L,[L.1]);
> I;
OM ideal of the field Number Field with defining polynomial x^5 + 343*x^4 +
49*x^3 + 343*x^2 + 7*x + 6 over the Rational Field
generated by [
$.1
]

> J := P^-2;
> I*J;
> I^2;
OM ideal of the field Number Field with defining polynomial x^5 + 343*x^4 +
49*x^3 + 343*x^2 + 7*x + 6 over the Rational Field
having the factorization [ <2, 1, 2>, <3, 1, 2> ]

> I/J;
OM ideal of the field Number Field with defining polynomial x^5 + 343*x^4 +
49*x^3 + 343*x^2 + 7*x + 6 over the Rational Field
having the factorization [ <2, 1, 1>, <3, 1, 1>, <7, 1, 2> ]

> I+J;
OM ideal of the field Number Field with defining polynomial x^5 + 343*x^4 +
49*x^3 + 343*x^2 + 7*x + 6 over the Rational Field
having the factorization  []
generated by [
1,
0
]

```

## Ideal Predicates

### `IsOne(I): OMIdl -> BoolElt`

Given an ideal $I$ in OM representation returns whether the ideal is generated by the $1$ element of the field.

### `IsZero(I): OMIdl -> BoolElt`

Given an ideal $I$ in OM representation returns whether the ideal contains only the $0$ element of the field.

### `I eq J: OMIdl, OMIdl -> BoolElt`

Given two ideals $I$ and $J$ in OM representation returns whether these ideals are the same.

### `a in I: RngElt, OMIdl -> BoolElt`

Given an element $a$ coercible into the field containing the ideal $I$ in OM representation return whether $a$ is contained in the ideal.

### `I subset J: OMIdl, OMIdl -> BoolElt`

Given two ideals $I$ and $J$ in OM representation returns whether $I$ is contained in $J$.

### `IsPrime(I): OMIdl -> BoolElt`

Given an ideal $I$ in OM representation returns whether only the $1$ ideal and $I$ contain $I$.

### `IsIntegral(I): OMIdl -> BoolElt`

Given an ideal $I$ in OM representation returns whether all elements in the ideal $I$ are integral.
