      FieldIdeal
      Copyright (c)  2005 John Abbott
      GNU Free Documentation License, Version 1.2
%!includeconf: ../aux-txt2tags/config.t2t
      TeXTitle{FieldIdeal}{John Abbott}



== User documentation for files FieldIdeal* ==
%======================================================================

The structure of ideals in a field is so simple that it is usually
ignored completely: there are just two ideals being the zero ideal
and the whole field.  Nonetheless it is helpful to have an
implementation of them.

There is only one publicly callable function here

```   NewFieldIdeal(k, gens)

where k is a CoCoA::ring which represents a field, and gens is a
std::vector<CoCoA::RingElem> being a collection of generators
(RingElem values belonging to k).  It creates a CoCoA::ideal
which represents the ideal of k generated by the elements of gens;
gens may be empty.

For operations on ideals, please see [[ideal]].


== Maintainer documentation for files FieldIdeal* ==
%======================================================================

The implementation is slightly more complex than one might naively
expect: the primary complication is simply the need to retain the list
of generators as specified by the user.

myTidyGensValue is either empty or it contains a single copy of RingElem(k, 1)
according as the ideal is zero or the whole field.


== Bugs, Shortcomings, and other ideas ==
%======================================================================

One would like to think that code so short and so simple couldn't
possibly harbour any nasty surprises.  Then again one might just
be surprised...

I definitely do not like the name of the function GetPtr; perhaps import?
What is the correct way to achieve the end I want to achieve?

