## `Dom::Ideal` -- the domains of sets of ideals

#### Introduction

`Dom::Ideal``(R)` creates the domain of finitely generated ideals of the ring `R`.

#### Domain

`Dom::Ideal(R)`

#### Parameters

`R` | - | domain of category `Cat::Ring`

#### Introduction

`Dom::Ideal``(R)([a1, ...,an])` or `Dom::Ideal``(R)({a1, ...,an})` creates the ideal generated by the elements `a1` through `an`.

#### Creating Elements

``Dom::Ideal`(R)([a1...])`
``Dom::Ideal`(R)({a1...})`

#### Parameters

`a1...` | - | elements of `R`

#### Categories

`Cat::Monoid`

#### Entries

coeffRing

  the ring `R`

zero

  the ideal consisting only of the zero element of `R`.

one

  the ideal generated by `R::one`, i.e., `R` itself.

#### Method iszero: tests whether an ideal is zero

- `iszero(dom J)`
- - This method returns `TRUE` if `J` is the zero ideal, and `FALSE` otherwise.
  - It overloads the function `iszero`.

#### Method _mult: product of ideals

- `_mult(dom J1...)`
- - The product of ideals J1 ·····Jk is defined to be the ideal generated by all products a1 ·····ak, where ai ∈Ji.
  - This method overloads the function `_mult`.

#### Method _plus: sum of ideals

- `_plus(dom J1...)`
- - The sum of ideals J1 + ...+ Jk is defined to be the ideal of all sums a1 + ...+ ak, where ai ∈Ji.
  - This method overloads the function `_plus`.

#### Method _negate: negate an ideal

- `_negate(dom J)`
- - Since -1 is a unit in every ring, negating an ideal just gives the ideal itself.
  - This method overloads the function `_negate`.

#### Method _subtract: difference of ideals

- `_subtract(dom J1, dom J2)`
- - This is the same as J1+J2 since J2=-J2.
  - This method overloads the function `_subtract`.

#### Method normal: normal form of an ideal

- `normal(dom J)`
- - This method only exists for ideals over polynomial rings over fields; in this case, it returns a Gröbner base for the ideal.
  - It overloads the function `normal`.

#### Method convert: convert list or set to ideal

- `convert(list or set of ring elements l)`
- - returns the ideal generated by the elements of `l`.

#### Method expr: list of generators of an ideal

- `expr(dom J)`
- - This method returns the list of generators defining `J`.
  - It overloads the function `expr`.

#### Example 1

We define `R` to be the polynomial ring Q[x,y,z].

    >> R:=Dom::DistributedPolynomial([x,y,z], Dom::Rational)

          Dom::DistributedPolynomial([x, y, z], Dom::Rational, LexOrder)

Next, we define an ideal `J` over `R` by giving a list of generators.

    >> J:=Dom::Ideal(R)([x*y+y^2*x+x*y+z+1, z^2-x*z-y*x-7])

                 <[x*y^2 + 2*x*y + z + 1, - x*y - x*z + z^2 - 7]>

Since `R` is a polynomial ring over a field, a Gröbner base of `J` can be obtained as follows:

    >> normal(J)

          <[z - 13*y + y*z - 7*y^2 + z^2 + 2*y*z^2 + y^2*z^2, 8*z - 7*y \
          - 2*x*z + 2*z^2 - z^3 + x*z^2 + y*z^2 - 13, x*y + x*z - z^2 + \
          7]>

#### Super-Domain

`Dom::BaseDomain`

#### Changes

- new function

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000