This is GroebnerStrata.info, produced by Macaulay2, version 1.20

GroebnerStrata -- a package for creating families of ideals with the same initial ideal
***************************************************************************************

Description
===========

The GroebnerStrata package is designed to compute, given a monomial ideal in a
polynomial ring, (and a term order, coming from the polynomial ring), a family
of homogeneous ideals all with the given monomial ideal as its lead term
(initial) ideal.

The GroebnerStrata package is designed for computing homogeneous strata and
parameter families for monomial ideals in polynomial rings. In certain
instances homogeneous strata can be used to compute local coordinates on
Hilbert Schemes.

Here is an example of the basic use of the package.  We compute the Groebner
family of the ideal $(a^2, ab, b^2, ac)$.  This is an ideal in a polynomial
ring with variables the same as $S$, and whose coefficient ring is a polynomial
ring containing all of the parameters.  The groebnerStratum(Ideal),
function returns the ideal in the parameters of the locus of
parameters, for which the given family is a Groebner basis.

+-----------------------------------------------------------------------------+
|i1 : kk = ZZ/101;                                                            |
+-----------------------------------------------------------------------------+
|i2 : S = kk[a..d];                                                           |
+-----------------------------------------------------------------------------+
|i3 : M = ideal"a2,ab,b2,ac";                                                 |
|                                                                             |
|o3 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i4 : F = groebnerFamily M;                                                   |
|                                                                             |
|o4 : Ideal of kk[t , t , t  , t , t , t  , t  , t  , t , t , t , t  , t  ,   |
|                  6   5   12   2   4   11   18   24   1   3   8   10   17    |
|-----------------------------------------------------------------------------|
|t  , t , t , t  , t  , t  , t  , t  , t  , t  , t  ][a..d]                   |
| 23   7   9   14   16   20   22   13   15   19   21                          |
+-----------------------------------------------------------------------------+
|i5 : netList F_*                                                             |
|                                                                             |
|     +-------------------------------------------------------+               |
|     | 2                      2                      2       |               |
|o5 = |a  + t b*c + t a*d + t c  + t b*d + t c*d + t d        |               |
|     |      1       3       2      4       5       6         |               |
|     +-------------------------------------------------------+               |
|     |                         2                         2   |               |
|     |a*b + t b*c + t a*d + t c  + t  b*d + t  c*d + t  d    |               |
|     |       7       9       8      10       11       12     |               |
|     +-------------------------------------------------------+               |
|     | 2                         2                         2 |               |
|     |b  + t  b*c + t  a*d + t  c  + t  b*d + t  c*d + t  d  |               |
|     |      13       15       14      16       17       18   |               |
|     +-------------------------------------------------------+               |
|     |                            2                         2|               |
|     |a*c + t  b*c + t  a*d + t  c  + t  b*d + t  c*d + t  d |               |
|     |       19       21       20      22       23       24  |               |
|     +-------------------------------------------------------+               |
+-----------------------------------------------------------------------------+
|i6 : J = trim groebnerStratum F                                              |
|                                                                             |
|                                                                             |
|o6 = ideal (t  - t   + t  t  , t  t   - t  t  t  , t   - t   + t  t   - t t  |
|             7    20    13 19   22 15    15 19 21   10    23    22 13    9 19|
|     ------------------------------------------------------------------------|
|                    2                                                        |
|     + t  t   - t  t   + t  t   - t  t  t  , t  + t  t  , t  + 2t  t   -     |
|        16 19    15 19    20 21    13 19 21   8    14 19   1     20 19       |
|     ------------------------------------------------------------------------|
|         2                                                                   |
|     t  t  , t t   + 50t  t   - 50t  t  t   - t t  t   - 50t  t  t   +       |
|      13 19   9 22      16 22      22 13 21    9 19 21      16 19 21         |
|     ------------------------------------------------------------------------|
|              2                                                              |
|     50t  t  t  , t   + 50t  t   - t  t   - 50t  t  t   - 50t  t  t   +      |
|        13 19 21   24      16 22    23 21      22 13 21      16 19 21        |
|     ------------------------------------------------------------------------|
|         2             2          2                                          |
|     t  t   + 50t  t  t  , t   + t  - t t   - t t   + t  t   + t t  t   -    |
|      20 21      13 19 21   18    9    9 16    3 15    23 15    9 15 19      |
|     ------------------------------------------------------------------------|
|                  2  2                                                       |
|     t  t  t   + t  t   - t  t   + t t  t   - 2t  t  t   + t  t  t  t   +    |
|      16 15 19    15 19    17 21    9 13 21     20 15 21    13 15 19 21      |
|     ------------------------------------------------------------------------|
|         2                                                                   |
|     t  t  , t   - t t   + t  t   + t  t   - t  t  t   - t  t  t  , t  +     |
|      14 21   11    9 20    14 22    17 19    20 15 19    14 19 21   4       |
|     ------------------------------------------------------------------------|
|                                                  2        3                 |
|     2t  t   - t t   + 2t  t   - 2t  t  t   - t  t   + t  t   - 4t  t  t   + |
|       20 22    3 19     23 19     22 13 19    16 19    15 19     20 19 21   |
|     ------------------------------------------------------------------------|
|          2            2        2                                            |
|     2t  t  t  , t  + t   - t  t  , t  t   + 50t  t  t   - 2t  t  t   -      |
|       13 19 21   2    20    14 19   17 22      16 22 13     14 22 21        |
|     ------------------------------------------------------------------------|
|           2                                            2       2     2      |
|     50t  t  t   - t  t  t   - 50t  t  t  t   + 2t  t  t   + 50t  t  t  ,    |
|        22 13 21    17 19 21      16 13 19 21     14 19 21      13 19 21     |
|     ------------------------------------------------------------------------|
|                        2                                                    |
|     t t   - 2t  t   + t  t   + t  t  t   + 4t  t  t   - t t  t   +          |
|      3 22     23 22    22 13    16 22 19     20 22 21    3 19 21            |
|     ------------------------------------------------------------------------|
|                                      2               2         2  2         |
|     2t  t  t   - 3t  t  t  t   - t  t  t   - 4t  t  t   + 2t  t  t  , t   - |
|       23 19 21     22 13 19 21    16 19 21     20 19 21     13 19 21   12   |
|     ------------------------------------------------------------------------|
|                            2                                                |
|     t  t  - 50t  t  t   - t t   + t t  t   + t t  t   - 2t  t  t   -        |
|      23 9      16 22 13    9 19    9 16 19    3 15 19     23 15 19          |
|     ------------------------------------------------------------------------|
|           2           2     2  3                                 2          |
|     t t  t   + t  t  t   - t  t   + t t  t   + t  t  t   + 50t  t  t   +    |
|      9 15 19    16 15 19    15 19    9 20 21    14 22 21      22 13 21      |
|     ------------------------------------------------------------------------|
|                                                                       2     |
|     t  t  t   - t t  t  t   + 50t  t  t  t   + 3t  t  t  t   - t  t  t  t   |
|      17 19 21    9 13 19 21      16 13 19 21     20 15 19 21    13 15 19 21 |
|     ------------------------------------------------------------------------|
|               2       2     2                                           2   |
|     - 2t  t  t   - 50t  t  t  , t  - t t   + 2t  t   - 2t  t  t   - t  t   +|
|         14 19 21      13 19 21   5    3 20     23 20     14 22 19    17 19  |
|     ------------------------------------------------------------------------|
|            2      2            2                    2                    2  |
|     t  t  t   - 2t  t   + 2t  t  t  , t  - t t   + t   + t  t  t   - t  t   |
|      20 15 19     20 21     14 19 21   6    3 23    23    16 20 22    14 22 |
|     ------------------------------------------------------------------------|
|                       2 2          2          2            2          3     |
|     - t  t  t  t   + t t   - t t  t   - t t  t   + 2t  t  t   + t t  t   -  |
|        16 22 13 19    9 19    9 16 19    3 15 19     23 15 19    9 15 19    |
|     ------------------------------------------------------------------------|
|            3     2  4                                                       |
|     t  t  t   + t  t   + t t  t   - 2t  t  t   - t  t  t  t   - t  t  t  t  |
|      16 15 19    15 19    3 20 21     23 20 21    20 22 13 21    16 20 19 21|
|     ------------------------------------------------------------------------|
|           2              2             2              2               2     |
|     + t  t  t  t   - t  t  t   + t t  t  t   + t  t  t  t   - 3t  t  t  t   |
|        22 13 19 21    17 19 21    9 13 19 21    16 13 19 21     20 15 19 21 |
|     ------------------------------------------------------------------------|
|              3        2  2              2         2  2     2  2  2          |
|     + t  t  t  t   + t  t   + t  t  t  t   + 2t  t  t   - t  t  t  )        |
|        13 15 19 21    20 21    20 13 19 21     14 19 21    13 19 21         |
|                                                                             |
|o6 : Ideal of kk[t , t , t  , t , t , t  , t  , t  , t , t , t , t  , t  , t |
|                  6   5   12   2   4   11   18   24   1   3   8   10   17   2|
|-----------------------------------------------------------------------------|
| , t , t , t  , t  , t  , t  , t  , t  , t  , t  ]                           |
|3   7   9   14   16   20   22   13   15   19   21                            |
+-----------------------------------------------------------------------------+

The ideal of the parameter space of all homogeneous ideals with this lead term
ideal is an ideal in 24 variables.  Often, these parameter ideals are in too
many variables to easily analyze them.  But in this case we can determine the
irreducible components of the ideal $J$.  There are two components, of
dimensions 8 and 11.  Note that they are both rational varieties.

+-----------------------------------------------------------------------------+
|i7 : compsJ = decompose J;                                                   |
+-----------------------------------------------------------------------------+
|i8 : compsJ = compsJ/trim;                                                   |
+-----------------------------------------------------------------------------+
|i9 : compsJ/dim                                                              |
|                                                                             |
|o9 = {11, 8}                                                                 |
|                                                                             |
|o9 : List                                                                    |
+-----------------------------------------------------------------------------+
|i10 : netList compsJ_0_*                                                     |
|                                                                             |
|      +----------------------------------------------------------------------|
|o10 = |t   - t  t                                                            |
|      | 22    19 21                                                          |
|      +----------------------------------------------------------------------|
|      |t  - t   + t  t                                                       |
|      | 7    20    13 19                                                     |
|      +----------------------------------------------------------------------|
|      |                                 2                                    |
|      |t   - t   - t t   + t  t   - t  t   + t  t                            |
|      | 10    23    9 19    16 19    15 19    20 21                          |
|      +----------------------------------------------------------------------|
|      |t  + t  t                                                             |
|      | 8    14 19                                                           |
|      +----------------------------------------------------------------------|
|      |                   2                                                  |
|      |t  + 2t  t   - t  t                                                   |
|      | 1     20 19    13 19                                                 |
|      +----------------------------------------------------------------------|
|      |                   2                                                  |
|      |t   - t  t   + t  t                                                   |
|      | 24    23 21    20 21                                                 |
|      +----------------------------------------------------------------------|
|      |       2                                                    2  2      |
|      |t   + t  - t t   - t t   + t  t   + t t  t   - t  t  t   + t  t   - t |
|      | 18    9    9 16    3 15    23 15    9 15 19    16 15 19    15 19    1|
|      +----------------------------------------------------------------------|
|      |t   - t t   + t  t   - t  t  t                                        |
|      | 11    9 20    17 19    20 15 19                                      |
|      +----------------------------------------------------------------------|
|      |                           2        3                                 |
|      |t  - t t   + 2t  t   - t  t   + t  t   - 2t  t  t                     |
|      | 4    3 19     23 19    16 19    15 19     20 19 21                   |
|      +----------------------------------------------------------------------|
|      |      2        2                                                      |
|      |t  + t   - t  t                                                       |
|      | 2    20    14 19                                                     |
|      +----------------------------------------------------------------------|
|      |               2                                               2      |
|      |t   - t  t  - t t   + t t  t   + t t  t   - 2t  t  t   - t t  t   + t |
|      | 12    23 9    9 19    9 16 19    3 15 19     23 15 19    9 15 19    1|
|      +----------------------------------------------------------------------|
|      |                           2           2      2                       |
|      |t  - t t   + 2t  t   - t  t   + t  t  t   - 2t  t                     |
|      | 5    3 20     23 20    17 19    20 15 19     20 21                   |
|      +----------------------------------------------------------------------|
|      |              2     2 2          2          2            2          3 |
|      |t  - t t   + t   + t t   - t t  t   - t t  t   + 2t  t  t   + t t  t  |
|      | 6    3 23    23    9 19    9 16 19    3 15 19     23 15 19    9 15 19|
|      +----------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                  2                          |
| t   + t t  t   - 2t  t  t   + t  t  t  t   + t  t                           |
|7 21    9 13 21     20 15 21    13 15 19 21    14 21                         |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|     2     2  3                                                              |
| t  t   - t  t   + t t  t   + t  t  t   - t t  t  t   + 3t  t  t  t   - t  t |
|6 15 19    15 19    9 20 21    17 19 21    9 13 19 21     20 15 19 21    13 1|
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|          3     2  4                                2             2          |
| - t  t  t   + t  t   + t t  t   - 2t  t  t   - t  t  t   + t t  t  t   - 3t |
|    16 15 19    15 19    3 20 21     23 20 21    17 19 21    9 13 19 21     2|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|  2              2                            |                              |
| t  t   - t  t  t                             |                              |
|5 19 21    14 19 21                           |                              |
|----------------------------------------------+                              |
|                                              |                              |
|                                              |                              |
|                                              |                              |
|----------------------------------------------+                              |
|     2              3        2  2        2  2 |                              |
| t  t  t   + t  t  t  t   + t  t   + t  t  t  |                              |
|0 15 19 21    13 15 19 21    20 21    14 19 21|                              |
|----------------------------------------------+                              |
+-----------------------------------------------------------------------------+
|i11 : netList compsJ_1_*                                                     |
|                                                                             |
|      +----------------------------------------------------------------------|
|o11 = |t                                                                     |
|      | 15                                                                   |
|      +----------------------------------------------------------------------|
|      |t  + 50t   - 50t  t                                                   |
|      | 9      16      13 21                                                 |
|      +----------------------------------------------------------------------|
|      |t  - t   + t  t                                                       |
|      | 7    20    13 19                                                     |
|      +----------------------------------------------------------------------|
|      |                              2                                       |
|      |t   + 50t  t   - 2t  t   - 50t  t                                     |
|      | 17      16 13     14 21      13 21                                   |
|      +----------------------------------------------------------------------|
|      |t   - t   + t  t   - 50t  t   + t  t   + 50t  t  t                    |
|      | 10    23    22 13      16 19    20 21      13 19 21                  |
|      +----------------------------------------------------------------------|
|      |t  + t  t                                                             |
|      | 8    14 19                                                           |
|      +----------------------------------------------------------------------|
|      |t  - 2t   + t  t   + t  t   + 4t  t   - 2t  t  t                      |
|      | 3     23    22 13    16 19     20 21     13 19 21                    |
|      +----------------------------------------------------------------------|
|      |                   2                                                  |
|      |t  + 2t  t   - t  t                                                   |
|      | 1     20 19    13 19                                                 |
|      +----------------------------------------------------------------------|
|      |                                                          2           |
|      |t   + 50t  t   - t  t   - 50t  t  t   - 50t  t  t   + t  t   + 50t  t |
|      | 24      16 22    23 21      22 13 21      16 19 21    20 21      13 1|
|      +----------------------------------------------------------------------|
|      |         2        2       2  2                                        |
|      |t   + 25t   - t  t   - 25t  t                                         |
|      | 18      16    14 21      13 21                                       |
|      +----------------------------------------------------------------------|
|      |                                                                     2|
|      |t   + 50t  t   + t  t   - 50t  t  t   - 50t  t  t   + t  t  t   + 50t |
|      | 11      16 20    14 22      16 13 19      20 13 21    14 19 21      1|
|      +----------------------------------------------------------------------|
|      |t  + 2t  t   - t  t  t                                                |
|      | 4     20 22    22 13 19                                              |
|      +----------------------------------------------------------------------|
|      |      2        2                                                      |
|      |t  + t   - t  t                                                       |
|      | 2    20    14 19                                                     |
|      +----------------------------------------------------------------------|
|      |                                  2                                   |
|      |t   + 50t  t   - 50t  t  t   - 25t  t   - 50t  t  t   + t  t  t   - 50|
|      | 12      23 16      16 22 13      16 19      16 20 21    14 22 21     |
|      +----------------------------------------------------------------------|
|      |                                                   2      2           |
|      |t  + t  t  t   + t  t  t   - 2t  t  t   + 50t  t  t   + 2t  t   - 2t  |
|      | 5    20 22 13    16 20 19     14 22 19      16 13 19     20 21     20|
|      +----------------------------------------------------------------------|
|      |      2                    2                                          |
|      |t  - t   + t  t  t   - t  t   + t  t  t   + t  t  t   - t  t  t  t   +|
|      | 6    23    16 20 22    14 22    23 22 13    23 16 19    16 22 13 19  |
|      +----------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|  2                                                                          |
| t                                                                           |
|9 21                                                                         |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
| t  t                                                                        |
|3 19 21                                                                      |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                                                                             |
|                                                                             |
|                                                                             |
|-----------------------------------------------------------------------------|
|                  2                                 2       2     2          |
|t  t  t   + 50t  t  t   + 50t  t  t  t   + 50t  t  t   - 25t  t  t           |
| 23 13 21      22 13 21      16 13 19 21      20 13 21      13 19 21         |
|-----------------------------------------------------------------------------|
|               2  2                                                          |
|t  t  t   - 50t  t  t                                                        |
| 13 19 21      13 19 21                                                      |
|-----------------------------------------------------------------------------|
|    2  2                                                                     |
| 25t  t   + 4t  t  t   - 2t  t  t  t   - 2t  t  t  t   - 2t  t  t  t   + t  t|
|    16 19     23 20 21     20 22 13 21     16 20 19 21     23 13 19 21    22 |
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|                                                               |             |
|                                                               |             |
|                                                               |             |
|---------------------------------------------------------------+             |
|2                 2         2  2               2       2  2  2 |             |
|  t  t   + t  t  t  t   - 3t  t   + 3t  t  t  t   - 26t  t  t  |             |
|13 19 21    16 13 19 21     20 21     20 13 19 21      13 19 21|             |
|---------------------------------------------------------------+             |
+-----------------------------------------------------------------------------+

This tells us that there are 2 components (at least over the given field).
Their dimensions are 11, 8.

We can find random points on each component, since these components are
rational.

+-----------------------------------------------------------------------------+
|i12 : pt1 = randomPointOnRationalVariety compsJ_0                            |
|                                                                             |
|o12 = | -13 -21 -15 -5 36 46 -6 -25 12 -22 -33 37 24 -36 -36 -30 -29 -8 19   |
|      -----------------------------------------------------------------------|
|      -13 19 -29 -29 -10 |                                                   |
|                                                                             |
|               1        24                                                   |
|o12 : Matrix kk  <--- kk                                                     |
+-----------------------------------------------------------------------------+
|i13 : pt2 = randomPointOnRationalVariety compsJ_1                            |
|                                                                             |
|o13 = | 50 -8 -9 9 0 5 -15 38 0 -42 -18 28 45 39 16 -46 34 19 -16 -24 -38 0  |
|      -----------------------------------------------------------------------|
|      -47 21 |                                                               |
|                                                                             |
|               1        24                                                   |
|o13 : Matrix kk  <--- kk                                                     |
+-----------------------------------------------------------------------------+
|i14 : F1 = sub(F, (vars S)|pt1)                                              |
|                                                                             |
|              2             2                              2                 |
|o14 = ideal (a  + 12b*c - 5c  - 22a*d + 36b*d - 21c*d - 13d , a*b - 36b*c -  |
|      -----------------------------------------------------------------------|
|         2                              2   2              2                 |
|      33c  - 30a*d + 37b*d + 46c*d - 15d , b  + 19b*c - 29c  - 29a*d - 8b*d +|
|      -----------------------------------------------------------------------|
|                2                   2                              2         |
|      24c*d - 6d , a*c - 29b*c + 19c  - 10a*d - 13b*d - 36c*d - 25d )        |
|                                                                             |
|o14 : Ideal of S                                                             |
+-----------------------------------------------------------------------------+
|i15 : F2 = sub(F, (vars S)|pt2)                                              |
|                                                                             |
|              2     2                     2                   2              |
|o15 = ideal (a  + 9c  - 42a*d - 8c*d + 50d , a*b + 16b*c - 18c  - 46a*d +    |
|      -----------------------------------------------------------------------|
|                       2   2              2                      2           |
|      28b*d + 5c*d - 9d , b  - 38b*c + 34c  + 19b*d + 45c*d - 15d , a*c -    |
|      -----------------------------------------------------------------------|
|                 2                              2                            |
|      47b*c - 16c  + 21a*d - 24b*d + 39c*d + 38d )                           |
|                                                                             |
|o15 : Ideal of S                                                             |
+-----------------------------------------------------------------------------+
|i16 : decompose F1                                                           |
|                                                                             |
|                                    2              2                      2  |
|o16 = {ideal (a - 29b + 19c - 48d, b  + 19b*c - 29c  - 41b*d - 31c*d + 16d ),|
|      -----------------------------------------------------------------------|
|      ideal (c - 10d, b + 3d, a - d)}                                        |
|                                                                             |
|o16 : List                                                                   |
+-----------------------------------------------------------------------------+
|i17 : decompose F2                                                           |
|                                                                             |
|o17 = {ideal (b - 42c - 19d, a + 30c + 33d), ideal (b + 4c + 38d, a - 30c +  |
|      -----------------------------------------------------------------------|
|      26d)}                                                                  |
|                                                                             |
|o17 : List                                                                   |
+-----------------------------------------------------------------------------+

Note, the general element of one component is a plane conic union a point. (The
dimension of the locus of all such is: (choice of plane) + (choice of degree 2
in plane) + choice of point. This is 3 + 5 + 3 = 11.

The other component consists of two skew lines.  This has dimension (choice of
line) + (choice of line). This is 4 + 4 = 8.  Also notice that the 2 skew lines
do not have to be defined over the base field, as in this case.

Authors
=======

  * Mike Stillman (see http://www.math.cornell.edu/~mike/ )
    <mike@math.cornell.edu>
  *     Kristine Jones <kejones84@gmail.com>

Version
=======

This documentation describes version 0.9 of GroebnerStrata.

Source code
===========

The source code from which this documentation is derived is in the file
GroebnerStrata.m2 (see common/share/Macaulay2/GroebnerStrata.m2 ).

Exports
=======

  * Functions and commands
      * findWeightConstraints -- returns a matrix
        of weight constraints
      * findWeightVector -- returns a weight vector
      * groebnerFamily -- computes families of ideals
        with a specified initial ideal
      * groebnerStratum -- compute the ideal where a
        given is a Groebner basis
      * linearPart -- returns linear part of a polynomial
      * nonminimalMaps -- find the degree zero maps in
        the Schreyer resolution of an ideal
      * "randomPointOnRationalVariety" -- see
        randomPointOnRationalVariety(Ideal),
        -- find a random point on a
        variety that can be detected to be rational
      * "randomPointsOnRationalVariety" -- see
        randomPointsOnRationalVariety(Ideal,ZZ),
        -- find random points on
        a variety that can be detected to be rational
      * smallerMonomials -- returns the standard
        monomials smaller but of the same degree as given monomial(s)
      * standardMonomials -- computes standard
        monomials
      * tailMonomials -- find tail monomials
  * Methods
      * "findWeightConstraints(Ideal,List)" -- see findWeightConstraints,
        -- returns a matrix of weight constraints
      * "findWeightVector(Ideal,List)" -- see findWeightVector,
        -- returns a weight vector
      * "groebnerFamily(Ideal)" -- see groebnerFamily, --
        computes families of ideals with a specified initial ideal
      * "groebnerFamily(Ideal,List)" -- see groebnerFamily,
        -- computes families of ideals with a specified initial
        ideal
      * "groebnerStratum(Ideal)" -- see groebnerStratum,
        -- compute the ideal where a given is a Groebner basis
      * "nonminimalMaps(Ideal)" -- see nonminimalMaps, --
        find the degree zero maps in the Schreyer resolution of an ideal
      * randomPointOnRationalVariety(Ideal)
        -- find a random point on a
        variety that can be detected to be rational
      * randomPointsOnRationalVariety(Ideal,ZZ)
        -- find random points on
        a variety that can be detected to be rational
      * "smallerMonomials(Ideal)" -- see smallerMonomials,
        -- returns the standard monomials smaller but of the
        same degree as given monomial(s)
      * "smallerMonomials(Ideal,RingElement)" -- see smallerMonomials,
        -- returns the standard monomials smaller but of the
        same degree as given monomial(s)
      * "standardMonomials(Ideal)" -- see standardMonomials,
        -- computes standard monomials
      * "standardMonomials(List,Ideal)" -- see standardMonomials,
        -- computes standard monomials
      * "standardMonomials(ZZ,Ideal)" -- see standardMonomials,
        -- computes standard monomials
      * "tailMonomials(Ideal)" -- see tailMonomials, --
        find tail monomials
      * "tailMonomials(Ideal,RingElement)" -- see tailMonomials,
        -- find tail monomials
  * Symbols
      * AllStandard -- boolean option for determining the
        use of all standard or smaller standard monomials
      * Minimalize -- boolean option for determining whether
        excess parameters will be elimnated

For the programmer
==================

The object GroebnerStrata, is a package (Macaulay2Doc).

AllStandard -- boolean option for determining the use of all standard or smaller standard monomials
***************************************************************************************************

Description
===========

This is an optional input for the groebnerStratum, and
groebnerFamily, functions.  It takes values $true$ and
$false$.  When assigned the value $true$, the functions are computed with
respect to all standard monomials for the specified generators.  When assigned
the value $false$, the functions are computed with respect to smaller monomials
of the same degree as the specified generators but which do not lie in the
ideal.

See also
========

  * groebnerStratum -- compute the ideal where a given
    is a Groebner basis
  * groebnerFamily -- computes families of ideals with a
    specified initial ideal
  * smallerMonomials -- returns the standard monomials
    smaller but of the same degree as given monomial(s)
  * standardMonomials -- computes standard monomials

Functions with optional argument named AllStandard :
====================================================

  * "groebnerFamily(...,AllStandard=>...)" -- see groebnerFamily,
    -- computes families of ideals with a specified initial
    ideal
  * "tailMonomials(...,AllStandard=>...)" -- see tailMonomials,
    -- find tail monomials

For the programmer
==================

The object AllStandard, is a symbol (Macaulay2Doc).

findWeightConstraints -- returns a matrix of weight constraints
***************************************************************

Synopsis
========

  * Usage:
        constraints = findWeightConstraints(M, L)
  * Inputs:
      * M, an ideal (Macaulay2Doc), M should be a monomial ideal
      * L, a list (Macaulay2Doc), a list of lists of tail monomials
  * Outputs:
      * a matrix (Macaulay2Doc), with the constraints on a weight
        vector for $M$ to be the lead monomial considering the given tail
        monomials in $L$. The number of rows of the matrix is the number of
        variables in the ring of $M$, The number of columms is the total size
        of $L$

Description
===========

+-----------------------------------------------------------------------------+
|i1 : R = ZZ/32003[a,b,c, d];                                                 |
+-----------------------------------------------------------------------------+
|i2 : M = ideal (a^2, a*b, b^2);                                              |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : L = smallerMonomials M;                                                 |
+-----------------------------------------------------------------------------+
|i4 : mat = findWeightConstraints(M,L)                                        |
|                                                                             |
|o4 = | 1  2  2  1  2  2  2  0  1  1  0  1  1  1  -1 0  0  -1 0  0  0  |      |
|     | 0  -1 0  0  -1 0  0  1  0  1  1  0  1  1  2  1  2  2  1  2  2  |      |
|     | -1 -1 -2 0  0  -1 0  -1 -1 -2 0  0  -1 0  -1 -1 -2 0  0  -1 0  |      |
|     | 0  0  0  -1 -1 -1 -2 0  0  0  -1 -1 -1 -2 0  0  0  -1 -1 -1 -2 |      |
|                                                                             |
|              4        21                                                    |
|o4 : Matrix ZZ  <--- ZZ                                                      |
+-----------------------------------------------------------------------------+
|i5 : needsPackage "Polyhedra"                                                |
|                                                                             |
|o5 = Polyhedra                                                               |
|                                                                             |
|o5 : Package                                                                 |
+-----------------------------------------------------------------------------+
|i6 : dualCone posHull (-mat)                                                 |
|                                                                             |
|o6 = Cone{...2...}                                                           |
|                                                                             |
|o6 : Cone                                                                    |
+-----------------------------------------------------------------------------+
|i7 : rays oo                                                                 |
|                                                                             |
|o7 = | 0 0 0  0 |                                                            |
|     | 0 0 -1 1 |                                                            |
|     | 1 0 1  2 |                                                            |
|     | 0 1 1  2 |                                                            |
|                                                                             |
|              4        4                                                     |
|o7 : Matrix ZZ  <--- ZZ                                                      |
+-----------------------------------------------------------------------------+
|i8 : posHull mat -- seems wrong?                                             |
|                                                                             |
|o8 = Cone{...1...}                                                           |
|                                                                             |
|o8 : Cone                                                                    |
+-----------------------------------------------------------------------------+
|i9 : coneFromHData transpose mat                                             |
|                                                                             |
|o9 = Cone{...1...}                                                           |
|                                                                             |
|o9 : Cone                                                                    |
+-----------------------------------------------------------------------------+
|i10 : rays mat                                                               |
|                                                                             |
|o10 = 0                                                                      |
|                                                                             |
|               1                                                             |
|o10 : Matrix ZZ  <--- 0                                                      |
+-----------------------------------------------------------------------------+
|i11 : findWeightVector(M,L)                                                  |
|                                                                             |
|o11 = ({2, 2, 1, 1}, {1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1,  |
|      -----------------------------------------------------------------------|
|      1, 2, 2})                                                              |
|                                                                             |
|o11 : Sequence                                                               |
+-----------------------------------------------------------------------------+

TO BE FINISHED!! Note that the first generator listed for $M$ is $a^2$, and the
first corresponding standard monomial is $a*c$.  The difference of these two
monomials exponent vectors is $(1,0,-1,0)$.  This vector dotted with the weight
vector $(2,2,1,1)$ gives the value $1$, which is the first value in the second
list.

Note that the desired term ordering, and hence weight vector, may not exist. In
this case, null is returned.

+-------------------------------------------------+
|i12 : M = ideal"ab"                              |
|                                                 |
|o12 = ideal(a*b)                                 |
|                                                 |
|o12 : Ideal of R                                 |
+-------------------------------------------------+
|i13 : L1 = standardMonomials M                   |
|                                                 |
|         2   2             2                  2  |
|o13 = {{a , b , a*c, b*c, c , a*d, b*d, c*d, d }}|
|                                                 |
|o13 : List                                       |
+-------------------------------------------------+
|i14 : findWeightVector(M,L1)                     |
+-------------------------------------------------+

This command is used in the groebnerFamily, routine.

See also
========

  * groebnerStratum -- compute the ideal where a given
    is a Groebner basis
  * groebnerFamily -- computes families of ideals with a
    specified initial ideal

Ways to use findWeightConstraints :
===================================

  * "findWeightConstraints(Ideal,List)"

For the programmer
==================

The object findWeightConstraints, is a
method function (Macaulay2Doc).

findWeightVector -- returns a weight vector
*******************************************

Synopsis
========

  * Usage:
        (w, h) = findWeightVector (M, L)
  * Inputs:
      * M, an ideal (Macaulay2Doc), M should be a monomial ideal
      * L, a list (Macaulay2Doc), a list of lists of standard
        monomials
  * Outputs:
      * w, a list (Macaulay2Doc), w is a weight vector that places
        the specified generators of M greater than the corresponding standard
        monomials, if possible.  If not possible, null is returned instead of
        (w,h)
      * h, a list (Macaulay2Doc), h is a list of values for w
        dotted with the difference of the exponent of the each standard
        monomial for each generator and the corresponding generator, in the
        order they are listed in L

Description
===========

In the first entry, this command returns a weight vector associated to a
monomial order that places the generators of a monomial ideal $M$ ahead of
standard monomials of the same degree.  The second entry is a list of values
for the weight vector dotted with the difference of the exponent of each
standard monomial for each generator and the corresponding generator.

+-----------------------------------------------------------------------------+
|i1 : R = ZZ/32003[a,b,c, d];                                                 |
+-----------------------------------------------------------------------------+
|i2 : M = ideal (a^2, a*b, b^2);                                              |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : L = smallerMonomials M;                                                 |
+-----------------------------------------------------------------------------+
|i4 : findWeightVector(M,L)                                                   |
|                                                                             |
|o4 = ({2, 2, 1, 1}, {1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1, 2, 2, 1, 1, 2, 1, 1,|
|     ------------------------------------------------------------------------|
|     2, 2})                                                                  |
|                                                                             |
|o4 : Sequence                                                                |
+-----------------------------------------------------------------------------+

Note that the first generator listed for $M$ is $a^2$, and the first
corresponding standard monomial is $a*c$.  The difference of these two
monomials exponent vectors is $(1,0,-1,0)$.  This vector dotted with the weight
vector $(2,2,1,1)$ gives the value $1$, which is the first value in the second
list.

Note that the desired term ordering, and hence weight vector, may not exist. In
this case, null is returned.

+------------------------------------------------+
|i5 : M = ideal"ab"                              |
|                                                |
|o5 = ideal(a*b)                                 |
|                                                |
|o5 : Ideal of R                                 |
+------------------------------------------------+
|i6 : L1 = standardMonomials M                   |
|                                                |
|        2   2             2                  2  |
|o6 = {{a , b , a*c, b*c, c , a*d, b*d, c*d, d }}|
|                                                |
|o6 : List                                       |
+------------------------------------------------+
|i7 : findWeightVector(M,L1)                     |
+------------------------------------------------+

This command is used in the groebnerFamily, routine.

See also
========

  * groebnerStratum -- compute the ideal where a given
    is a Groebner basis
  * groebnerFamily -- computes families of ideals with a
    specified initial ideal

Ways to use findWeightVector :
==============================

  * "findWeightVector(Ideal,List)"

For the programmer
==================

The object findWeightVector, is a method function (Macaulay2Doc).

groebnerFamily -- computes families of ideals with a specified initial ideal
****************************************************************************

Synopsis
========

  * Usage:
        J = groebnerFamily M
        J = groebnerFamily(M, L)
  * Inputs:
      * M, an ideal (Macaulay2Doc), a monomial ideal
      * L, a list (Macaulay2Doc), a list of lists of standard
        monomials or smaller standard monomials for the generators of M
  * Optional inputs (Macaulay2Doc),:
      * AllStandard => a Boolean value (Macaulay2Doc), default
        value false
      * Weights => a list (Macaulay2Doc), default value null
      * Variable => a symbol (Macaulay2Doc), default value t, or
        a string (Macaulay2Doc),
  * Outputs:
      * F, an ideal (Macaulay2Doc), the groebner family, an ideal
        in the polynomial ring over the original variables and the parameters

Description
===========

Given a monomial ideal $M$ in a polynomial ring $R$, this computes the
parameter families of homogeneous ideals where $M$ could be their initial
ideal.  These families are obtained from either the standard monomials to the
generators of $M$, or the standard monomials smaller than the generators of $M$
but of the same degree as these generators.  In the former case we obtain a
family of all ideals where $M$ could be their initial ideal.  In the latter
case, we obtain such a family with respect to a given term order.

+-----------------------------------------------------------------------------+
|i1 : R = ZZ/32003[a,b,c,d];                                                  |
+-----------------------------------------------------------------------------+
|i2 : M = ideal (a^2, a*b, b^2)                                               |
|                                                                             |
|             2        2                                                      |
|o2 = ideal (a , a*b, b )                                                     |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : F = groebnerFamily M                                                    |
|                                                                             |
|             2                                      2              2         |
|o3 = ideal (a  + t a*c + t b*c + t a*d + t b*d + t c  + t c*d + t d , a*b +  |
|                  1       2       4       5       3      6       7           |
|     ------------------------------------------------------------------------|
|                                           2                2   2            |
|     t a*c + t b*c + t  a*d + t  b*d + t  c  + t  c*d + t  d , b  + t  a*c + |
|      8       9       11       12       10      13       14          15      |
|     ------------------------------------------------------------------------|
|                                    2                2                       |
|     t  b*c + t  a*d + t  b*d + t  c  + t  c*d + t  d )                      |
|      16       18       19       17      20       21                         |
|                                                                             |
|                ZZ                                                           |
|o3 : Ideal of -----[t , t ..t , t  , t  ..t  , t  , t  ..t  , t ..t , t ..t ,|
|              32003  3   6   7   10   13   14   17   20   21   1   2   4   5 |
|-----------------------------------------------------------------------------|
|t ..t , t  ..t  , t  ..t  , t  ..t  ][a..d]                                  |
| 8   9   11   12   15   16   18   19                                         |
+-----------------------------------------------------------------------------+
|i4 : netList F_*                                                             |
|                                                                             |
|     +---------------------------------------------------------------+       |
|     | 2                                      2              2       |       |
|o4 = |a  + t a*c + t b*c + t a*d + t b*d + t c  + t c*d + t d        |       |
|     |      1       2       4       5       3      6       7         |       |
|     +---------------------------------------------------------------+       |
|     |                                            2                2 |       |
|     |a*b + t a*c + t b*c + t  a*d + t  b*d + t  c  + t  c*d + t  d  |       |
|     |       8       9       11       12       10      13       14   |       |
|     +---------------------------------------------------------------+       |
|     | 2                                           2                2|       |
|     |b  + t  a*c + t  b*c + t  a*d + t  b*d + t  c  + t  c*d + t  d |       |
|     |      15       16       18       19       17      20       21  |       |
|     +---------------------------------------------------------------+       |
+-----------------------------------------------------------------------------+
|i5 : U = ring F                                                              |
|                                                                             |
|o5 = U                                                                       |
|                                                                             |
|o5 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i6 : T = coefficientRing U                                                   |
|                                                                             |
|o6 = T                                                                       |
|                                                                             |
|o6 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i7 : gens T                                                                  |
|                                                                             |
|o7 = {t , t , t , t  , t  , t  , t  , t  , t  , t , t , t , t , t , t , t  , |
|       3   6   7   10   13   14   17   20   21   1   2   4   5   8   9   11  |
|     ------------------------------------------------------------------------|
|     t  , t  , t  , t  , t  }                                                |
|      12   15   16   18   19                                                 |
|                                                                             |
|o7 : List                                                                    |
+-----------------------------------------------------------------------------+
|i8 : gens U                                                                  |
|                                                                             |
|o8 = {a, b, c, d}                                                            |
|                                                                             |
|o8 : List                                                                    |
+-----------------------------------------------------------------------------+

Here, $F$ is the family of homogeneous ideals having $M$ as their initial
ideal, under the term order of the ring of $M$.

The optional argument AllStandard, is boolean, taking the
value $true$ to compute the family of all homogeneous ideals with a given
initial ideal and the value $false$ to compute the family with respect to a
given order.  The default value for this argument is false.

If $L$ is not given, then it is computed using standardMonomials,
(if AllStandard is true), or smallerMonomials,
(if AllStandard is false).

+-----------------------------------------------------------------------------+
|i9 : L = standardMonomials M                                                 |
|                                                                             |
|                  2                  2               2                  2    |
|o9 = {{a*c, b*c, c , a*d, b*d, c*d, d }, {a*c, b*c, c , a*d, b*d, c*d, d },  |
|     ------------------------------------------------------------------------|
|                 2                  2                                        |
|     {a*c, b*c, c , a*d, b*d, c*d, d }}                                      |
|                                                                             |
|o9 : List                                                                    |
+-----------------------------------------------------------------------------+
|i10 : F2 = groebnerFamily (M, L)                                             |
|                                                                             |
|              2                                      2              2        |
|o10 = ideal (a  + t a*c + t b*c + t a*d + t b*d + t c  + t c*d + t d , a*b + |
|                   1       2       4       5       3      6       7          |
|      -----------------------------------------------------------------------|
|                                            2                2   2           |
|      t a*c + t b*c + t  a*d + t  b*d + t  c  + t  c*d + t  d , b  + t  a*c +|
|       8       9       11       12       10      13       14          15     |
|      -----------------------------------------------------------------------|
|                                     2                2                      |
|      t  b*c + t  a*d + t  b*d + t  c  + t  c*d + t  d )                     |
|       16       18       19       17      20       21                        |
|                                                                             |
|                 ZZ                                                          |
|o10 : Ideal of -----[t , t ..t , t  , t  ..t  , t  , t  ..t  , t ..t , t ..t |
|               32003  3   6   7   10   13   14   17   20   21   1   2   4   5|
|-----------------------------------------------------------------------------|
|, t ..t , t  ..t  , t  ..t  , t  ..t  ][a..d]                                |
|   8   9   11   12   15   16   18   19                                       |
+-----------------------------------------------------------------------------+

Note that $F$ and $F_2$ are the same family, in this case.

See also
========

  * groebnerStratum -- compute the ideal where a given
    is a Groebner basis
  * smallerMonomials -- returns the standard monomials
    smaller but of the same degree as given monomial(s)
  * standardMonomials -- computes standard monomials

Ways to use groebnerFamily :
============================

  * "groebnerFamily(Ideal)"
  * "groebnerFamily(Ideal,List)"

For the programmer
==================

The object groebnerFamily, is a method function with options (Macaulay2Doc).

groebnerStratum -- compute the ideal where a given is a Groebner basis
**********************************************************************

Synopsis
========

  * Usage:
        J = groebnerStratum F
  * Inputs:
      * F, an ideal (Macaulay2Doc), An ideal constructed from
        groebnerFamily,
  * Optional inputs (Macaulay2Doc),:
      * Minimalize => ..., default value false
  * Outputs:
      * J, an ideal (Macaulay2Doc), the ideal of the Groebner
        stratum

Description
===========

Given a monomial ideal $M$, this command returns a family of ideals having $M$
as an initial ideal, and conditions on the parameters so that the family is
flat.  If the optional input AllStandard, is specified as
$true$, the family of all homogeneous ideals having $M$ as an initial ideal is
computed, and if it is specified as $false$ the family of all homogenous ideals
having $M$ as an initial ideal with respect to the given term order is
computed.

+-----------------------------------------------------------------------------+
|i1 : R = ZZ/32003[a,b,c]                                                     |
|                                                                             |
|o1 = R                                                                       |
|                                                                             |
|o1 : PolynomialRing                                                          |
+-----------------------------------------------------------------------------+
|i2 : M = ideal (a^2, a*b, b^2)                                               |
|                                                                             |
|             2        2                                                      |
|o2 = ideal (a , a*b, b )                                                     |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : F = groebnerFamily M                                                    |
|                                                                             |
|             2                      2                           2   2        |
|o3 = ideal (a  + t a*c + t b*c + t c , a*b + t a*c + t b*c + t c , b  + t a*c|
|                  1       2       3           4       5       6          7   |
|     ------------------------------------------------------------------------|
|                  2                                                          |
|     + t b*c + t c )                                                         |
|        8       9                                                            |
|                                                                             |
|                ZZ                                                           |
|o3 : Ideal of -----[t , t , t , t ..t , t ..t , t ..t ][a..c]                |
|              32003  3   6   9   1   2   4   5   7   8                       |
+-----------------------------------------------------------------------------+
|i4 : J = trim groebnerStratum F                                              |
|                                                                             |
|                  2                                                          |
|o4 = ideal (t  + t  - t t  + t t  - t t , t  - t t  + t t , t  + t t  - t t  |
|             9    4    1 7    5 7    4 8   6    4 5    2 7   3    2 4    1 5 |
|     ------------------------------------------------------------------------|
|        2                                                                    |
|     + t  - t t )                                                            |
|        5    2 8                                                             |
|                                                                             |
|                ZZ                                                           |
|o4 : Ideal of -----[t , t , t , t ..t , t ..t , t ..t ]                      |
|              32003  3   6   9   1   2   4   5   7   8                       |
+-----------------------------------------------------------------------------+

In this example, F is the universal family, and L is the ideal giving the
conditions on the parameters.  In general, several of the parameters are
unnecesary. Note that H is an ideal in a ring with far fewer parameters. This
is because a maximal set of eliminable parameters from the original ideal of
conditions on parameters have been eliminated.  If the full ideal in the
polynomial ring over all the parameters is desired, set the optional argument
$Minimalize$ to false.

+-----------------------------------------------------------------------------+
|i5 : J2 = trim groebnerStratum(F, Minimalize => false)                       |
|                                                                             |
|                  2                                                          |
|o5 = ideal (t  + t  - t t  + t t  - t t , t  - t t  + t t , t  + t t  - t t  |
|             9    4    1 7    5 7    4 8   6    4 5    2 7   3    2 4    1 5 |
|     ------------------------------------------------------------------------|
|        2                                                                    |
|     + t  - t t )                                                            |
|        5    2 8                                                             |
|                                                                             |
|                ZZ                                                           |
|o5 : Ideal of -----[t , t , t , t ..t , t ..t , t ..t ]                      |
|              32003  3   6   9   1   2   4   5   7   8                       |
+-----------------------------------------------------------------------------+
|i6 : netList J_*                                                             |
|                                                                             |
|     +----------------------------+                                          |
|     |      2                     |                                          |
|o6 = |t  + t  - t t  + t t  - t t |                                          |
|     | 9    4    1 7    5 7    4 8|                                          |
|     +----------------------------+                                          |
|     |t  - t t  + t t             |                                          |
|     | 6    4 5    2 7            |                                          |
|     +----------------------------+                                          |
|     |                    2       |                                          |
|     |t  + t t  - t t  + t  - t t |                                          |
|     | 3    2 4    1 5    5    2 8|                                          |
|     +----------------------------+                                          |
+-----------------------------------------------------------------------------+
|i7 : netList J2_*                                                            |
|                                                                             |
|     +----------------------------+                                          |
|     |      2                     |                                          |
|o7 = |t  + t  - t t  + t t  - t t |                                          |
|     | 9    4    1 7    5 7    4 8|                                          |
|     +----------------------------+                                          |
|     |t  - t t  + t t             |                                          |
|     | 6    4 5    2 7            |                                          |
|     +----------------------------+                                          |
|     |                    2       |                                          |
|     |t  + t t  - t t  + t  - t t |                                          |
|     | 3    2 4    1 5    5    2 8|                                          |
|     +----------------------------+                                          |
+-----------------------------------------------------------------------------+

Notice that the parameters $t_3$, $t_6$, and $t_9$ are clearly eliminable.

See also
========

  * groebnerFamily -- computes families of ideals with a
    specified initial ideal

Ways to use groebnerStratum :
=============================

  * "groebnerStratum(Ideal)"

For the programmer
==================

The object groebnerStratum, is a method function with options (Macaulay2Doc).

linearPart -- returns linear part of a polynomial
*************************************************

Synopsis
========

  * Usage:
        l = linearPart(f)
  * Inputs:
      * f, a ring element (Macaulay2Doc), f is a polynomial
  * Outputs:
      * l, a ring element (Macaulay2Doc), l is the sum of
        the terms of f whose monomial is a variable

Description
===========

+----------------------------------------+
|i1 : R = ZZ/32003[a,b,c];               |
+----------------------------------------+
|i2 : f = a^2 + 3*b + 5*a*b*c + 2*a +b^2;|
+----------------------------------------+
|i3 : linearPart f                       |
|                                        |
|o3 = 2a + 3b                            |
|                                        |
|o3 : R                                  |
+----------------------------------------+

If we have a polynomial ring over another polynomial ring, the command only
looks at the exponents on the new set of variables.

+--------------------------------+
|i4 : S = ZZ/32003[a,b,c][x,y,z];|
+--------------------------------+
|i5 : g = a*b*x + 3*y + a + b^2  |
|                                |
|                   2            |
|o5 = a*b*x + 3y + b  + a        |
|                                |
|o5 : S                          |
+--------------------------------+
|i6 : linearPart g               |
|                                |
|o6 = a*b*x + 3y                 |
|                                |
|o6 : S                          |
+--------------------------------+

Note that in the previous example, linearPart g does not include a but does
include a*b*x

For the programmer
==================

The object linearPart, is a function closure (Macaulay2Doc).

Minimalize -- boolean option for determining whether excess parameters will be elimnated
****************************************************************************************

Description
===========

This an optional input for the groebnerStratum,
function.  It takes values $true$ and $false$.  When assigned the value $true$,
elimanable parameters are eliminated to obtain the groebner basin / stratum in
a smaller ring.  When assigned the value $false$, no parameters are eliminated,
and the groebner basin / stratum is computed in a ring containing all the
parameters.

See also
========

  * groebnerStratum -- compute the ideal where a given
    is a Groebner basis

Functions with optional argument named Minimalize :
===================================================

  * "groebnerStratum(...,Minimalize=>...)" -- see groebnerStratum,
    -- compute the ideal where a given is a Groebner basis

For the programmer
==================

The object Minimalize, is a symbol (Macaulay2Doc).

nonminimalMaps -- find the degree zero maps in the Schreyer resolution of an ideal
**********************************************************************************

Synopsis
========

  * Usage:
        (C, H) = nonminimalMaps I
  * Inputs:
      * I, an ideal (Macaulay2Doc), in a polynomial ring $S$ over
        a base field or coefficient ring $A$.  The lead terms of the generators
        of $I$ should be the initial ideal of $I$, and should be monic.
  * Outputs:
      * C, a chain complex (Macaulay2Doc), A complex over a
        polynomial ring where any parameters in the base ring are set to have
        degree 0, and the variables of the ring of $I$ are set to have degree
        one.
      * H, a hash table (Macaulay2Doc), Whose keys describe
        which submatrix in the resolution this is, and whose values are those
        submatrices (placed into the original coefficient ring $A$)

Description
===========

The Schreyer resolution of $I$ (which is generally non-minimal) is computed.
The nonminimal parts are the submatrices in this resolution which do not
involve the variables in $S$.  They are elements in the base ring $A$.  For
instance, H#(\ell, d) is the submatrix of the matrix from $C_{\ell+1} \to
C_{\ell}$ sending degree $d$ to degree $d$.

The ranks of these matrices for a specific parameter value determine exactly
the minimal Betti table for the ideal $I$, evaluated at that parameter point.

Now for our example.

+-----------------------------------------------------------------------------+
|i1 : kk = ZZ/101;                                                            |
+-----------------------------------------------------------------------------+
|i2 : S = kk[a..d];                                                           |
+-----------------------------------------------------------------------------+
|i3 : F = groebnerFamily ideal"a2,ab,ac,b2,bc2,c3"                            |
|                                                                             |
|             2                      2                      2                 |
|o3 = ideal (a  + t b*c + t a*d + t c  + t b*d + t c*d + t d , a*b + t b*c +  |
|                  1       3       2      4       5       6           7       |
|     ------------------------------------------------------------------------|
|                2                         2                              2   |
|     t a*d + t c  + t  b*d + t  c*d + t  d , a*c + t  b*c + t  a*d + t  c  + |
|      9       8      10       11       12           13       15       14     |
|     ------------------------------------------------------------------------|
|                           2   2                         2                   |
|     t  b*d + t  c*d + t  d , b  + t  b*c + t  a*d + t  c  + t  b*d + t  c*d |
|      16       17       18          19       21       20      22       23    |
|     ------------------------------------------------------------------------|
|           2     2                    2       2          2         2       3 |
|     + t  d , b*c  + t  b*c*d + t  a*d  + t  c d + t  b*d  + t  c*d  + t  d ,|
|        24            25         27        26       28        29        30   |
|     ------------------------------------------------------------------------|
|      3                    2       2          2         2       3            |
|     c  + t  b*c*d + t  a*d  + t  c d + t  b*d  + t  c*d  + t  d )           |
|           31         33        32       34        35        36              |
|                                                                             |
|o3 : Ideal of kk[t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , |
|                  6   12   5   30   18   4   24   36   11   2   29   3   10  |
|-----------------------------------------------------------------------------|
|t  , t , t  , t  , t  , t , t  , t , t  , t  , t  , t , t  , t  , t  , t  ,  |
| 17   1   23   28   35   8   16   9   22   26   34   7   14   27   15   20   |
|-----------------------------------------------------------------------------|
|t  , t  , t  , t  , t  , t  , t  ][a..d]                                     |
| 25   32   13   21   33   19   31                                            |
+-----------------------------------------------------------------------------+
|i4 : (C, H) = nonminimalMaps F;                                              |
+-----------------------------------------------------------------------------+
|i5 : betti(C, Weights => {1,1,1,1})                                          |
|                                                                             |
|            0 1  2 3 4                                                       |
|o5 = total: 1 6 10 6 1                                                       |
|         0: 1 .  . . .                                                       |
|         1: . 4  4 2 .                                                       |
|         2: . 2  5 3 1                                                       |
|         3: . .  1 1 .                                                       |
|                                                                             |
|o5 : BettiTally                                                              |
+-----------------------------------------------------------------------------+

We see that there are 4 maps that are nonminimal (of sizes $2 \times 4$, $5
\times 2$, $1 \times 3$, and $1 \times 1$).

+-----------------------------------------------------------------------------+
|i6 : keys H                                                                  |
|                                                                             |
|o6 = {(3, 4), (3, 5), (4, 6), (2, 3)}                                        |
|                                                                             |
|o6 : List                                                                    |
+-----------------------------------------------------------------------------+
|i7 : H#(2,3)                                                                 |
|                                                                             |
|o7 = {3} | -t_8-t_20t_13      t_7t_20-t_14t_20+t_20t_13t_19                  |
|     {3} | -t_7+t_14-t_13t_19 -t_8-t_20t_13+t_7t_19-t_14t_19+t_13t_19^2      |
|     ------------------------------------------------------------------------|
|     -t_2-t_14^2+t_20t_13^2    -t_8t_14+t_1t_20+t_7t_20t_13             |    |
|     -t_1-2t_14t_13+t_13^2t_19 -t_2-t_7t_14-t_8t_13+t_1t_19+t_7t_13t_19 |    |
|                                                                             |
|                                                                             |
|o7 : Matrix (kk[t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , t|
|                 6   12   5   30   18   4   24   36   11   2   29   3   10   |
|-----------------------------------------------------------------------------|
|                                                                             |
|  , t , t  , t  , t  , t , t  , t , t  , t  , t  , t , t  , t  , t  , t  ,   |
|17   1   23   28   35   8   16   9   22   26   34   7   14   27   15   20    |
|-----------------------------------------------------------------------------|
|                                   2                                         |
|t  , t  , t  , t  , t  , t  , t  ])  <--- (kk[t , t  , t , t  , t  , t , t  ,|
| 25   32   13   21   33   19   31              6   12   5   30   18   4   24 |
|-----------------------------------------------------------------------------|
|                                                                             |
|t  , t  , t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , t  ,   |
| 36   11   2   29   3   10   17   1   23   28   35   8   16   9   22   26    |
|-----------------------------------------------------------------------------|
|                                                                4            |
|t  , t , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  ])             |
| 34   7   14   27   15   20   25   32   13   21   33   19   31               |
+-----------------------------------------------------------------------------+
|i8 : H#(3,4)                                                                 |
|                                                                             |
|o8 = {4} | -t_20                                                             |
|     {4} | -1                                                                |
|     {4} | t_8+t_20t_13-t_7t_19+t_14t_19-t_13t_19^2                          |
|     {4} | -t_7+t_14-t_13t_19                                                |
|     {4} | 0                                                                 |
|     ------------------------------------------------------------------------|
|     -t_8                                    |                               |
|     t_13                                    |                               |
|     t_2+t_7t_14+t_8t_13-t_1t_19-t_7t_13t_19 |                               |
|     -t_1-2t_14t_13+t_13^2t_19               |                               |
|     t_7-t_14+t_13t_19                       |                               |
|                                                                             |
|                                                                             |
|o8 : Matrix (kk[t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , t|
|                 6   12   5   30   18   4   24   36   11   2   29   3   10   |
|-----------------------------------------------------------------------------|
|                                                                             |
|  , t , t  , t  , t  , t , t  , t , t  , t  , t  , t , t  , t  , t  , t  ,   |
|17   1   23   28   35   8   16   9   22   26   34   7   14   27   15   20    |
|-----------------------------------------------------------------------------|
|                                   5                                         |
|t  , t  , t  , t  , t  , t  , t  ])  <--- (kk[t , t  , t , t  , t  , t , t  ,|
| 25   32   13   21   33   19   31              6   12   5   30   18   4   24 |
|-----------------------------------------------------------------------------|
|                                                                             |
|t  , t  , t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , t  ,   |
| 36   11   2   29   3   10   17   1   23   28   35   8   16   9   22   26    |
|-----------------------------------------------------------------------------|
|                                                                2            |
|t  , t , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  ])             |
| 34   7   14   27   15   20   25   32   13   21   33   19   31               |
+-----------------------------------------------------------------------------+
|i9 : H#(3,5)                                                                 |
|                                                                             |
|o9 = {5} | -1 t_13 -t_14 |                                                   |
|                                                                             |
|                                                                             |
|o9 : Matrix (kk[t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  ,  |
|                 6   12   5   30   18   4   24   36   11   2   29   3   10   |
|-----------------------------------------------------------------------------|
|                                                                             |
|t  , t , t  , t  , t  , t , t  , t , t  , t  , t  , t , t  , t  , t  , t  ,  |
| 17   1   23   28   35   8   16   9   22   26   34   7   14   27   15   20   |
|-----------------------------------------------------------------------------|
|                                   1                                         |
|t  , t  , t  , t  , t  , t  , t  ])  <--- (kk[t , t  , t , t  , t  , t , t  ,|
| 25   32   13   21   33   19   31              6   12   5   30   18   4   24 |
|-----------------------------------------------------------------------------|
|                                                                             |
|t  , t  , t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , t  ,   |
| 36   11   2   29   3   10   17   1   23   28   35   8   16   9   22   26    |
|-----------------------------------------------------------------------------|
|                                                                3            |
|t  , t , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  ])             |
| 34   7   14   27   15   20   25   32   13   21   33   19   31               |
+-----------------------------------------------------------------------------+
|i10 : H#(4,6)                                                                |
|                                                                             |
|o10 = {6} | -1 |                                                             |
|                                                                             |
|                                                                             |
|o10 : Matrix (kk[t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , |
|                  6   12   5   30   18   4   24   36   11   2   29   3   10  |
|-----------------------------------------------------------------------------|
|                                                                             |
|t  , t , t  , t  , t  , t , t  , t , t  , t  , t  , t , t  , t  , t  , t  ,  |
| 17   1   23   28   35   8   16   9   22   26   34   7   14   27   15   20   |
|-----------------------------------------------------------------------------|
|                                   1                                         |
|t  , t  , t  , t  , t  , t  , t  ])  <--- (kk[t , t  , t , t  , t  , t , t  ,|
| 25   32   13   21   33   19   31              6   12   5   30   18   4   24 |
|-----------------------------------------------------------------------------|
|                                                                             |
|t  , t  , t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  , t  ,   |
| 36   11   2   29   3   10   17   1   23   28   35   8   16   9   22   26    |
|-----------------------------------------------------------------------------|
|                                                                1            |
|t  , t , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  , t  ])             |
| 34   7   14   27   15   20   25   32   13   21   33   19   31               |
+-----------------------------------------------------------------------------+

Let's impose the condition that the map H#(2,3) vanishes (so has rank 0). The
Betti diagram of such ideals is not the one for a set of 6 generic points in
$\PP^3$.

+-----------------------------------------------------------------------------+
|i11 : J = trim(minors(1, H#(2,3)) + groebnerStratum F);                      |
|                                                                             |
|o11 : Ideal of kk[t , t  , t , t  , t  , t , t  , t  , t  , t , t  , t , t  ,|
|                   6   12   5   30   18   4   24   36   11   2   29   3   10 |
|-----------------------------------------------------------------------------|
|t  , t , t  , t  , t  , t , t  , t , t  , t  , t  , t , t  , t  , t  , t  ,  |
| 17   1   23   28   35   8   16   9   22   26   34   7   14   27   15   20   |
|-----------------------------------------------------------------------------|
|t  , t  , t  , t  , t  , t  , t  ]                                           |
| 25   32   13   21   33   19   31                                            |
+-----------------------------------------------------------------------------+
|i12 : compsJ = decompose J;                                                  |
+-----------------------------------------------------------------------------+
|i13 : #compsJ                                                                |
|                                                                             |
|o13 = 2                                                                      |
+-----------------------------------------------------------------------------+
|i14 : pt1 = randomPointOnRationalVariety compsJ_0                            |
|                                                                             |
|o14 = | -48 -21 -28 -32 16 31 15 -12 14 5 -13 29 -40 -22 2 30 25 -10 3 -1 3  |
|      -----------------------------------------------------------------------|
|      -30 19 -16 -24 -29 -29 24 -29 -24 -36 21 -8 -38 19 39 |                |
|                                                                             |
|               1        36                                                   |
|o14 : Matrix kk  <--- kk                                                     |
+-----------------------------------------------------------------------------+
|i15 : pt2 = randomPointOnRationalVariety compsJ_1                            |
|                                                                             |
|o15 = | 6 29 -50 41 50 -19 -15 -34 -28 -44 21 -45 -23 -13 -23 25 31 -18 45 22|
|      -----------------------------------------------------------------------|
|      -40 17 -47 38 -25 -43 19 26 -47 -15 34 16 0 -28 -39 2 |                |
|                                                                             |
|               1        36                                                   |
|o15 : Matrix kk  <--- kk                                                     |
+-----------------------------------------------------------------------------+
|i16 : F1 = sub(F, (vars S)|pt1)                                              |
|                                                                             |
|              2            2                              2                  |
|o16 = ideal (a  + 2b*c + 5c  + 29a*d + 31b*d - 28c*d - 48d , a*b - 24b*c +   |
|      -----------------------------------------------------------------------|
|        2                             2                   2                  |
|      3c  + 3a*d - 40b*d + 14c*d - 21d , a*c + 21b*c - 29c  + 24a*d - b*d -  |
|      -----------------------------------------------------------------------|
|                 2   2              2                             2     2    |
|      22c*d + 16d , b  + 19b*c - 29c  - 8a*d - 30b*d + 30c*d + 15d , b*c  -  |
|      -----------------------------------------------------------------------|
|                   2         2        2        2      3   3                2 |
|      24b*c*d + 19c d - 29a*d  + 25b*d  - 13c*d  - 32d , c  + 39b*c*d - 36c d|
|      -----------------------------------------------------------------------|
|             2        2        2      3                                      |
|      - 38a*d  - 16b*d  - 10c*d  - 12d )                                     |
|                                                                             |
|o16 : Ideal of S                                                             |
+-----------------------------------------------------------------------------+
|i17 : betti res F1                                                           |
|                                                                             |
|             0 1 2 3                                                         |
|o17 = total: 1 6 8 3                                                         |
|          0: 1 . . .                                                         |
|          1: . 4 4 1                                                         |
|          2: . 2 4 2                                                         |
|                                                                             |
|o17 : BettiTally                                                             |
+-----------------------------------------------------------------------------+
|i18 : F2 = sub(F, (vars S)|pt2)                                              |
|                                                                             |
|              2              2                             2                 |
|o18 = ideal (a  - 23b*c - 44c  - 45a*d - 19b*d - 50c*d + 6d , a*b - 25b*c +  |
|      -----------------------------------------------------------------------|
|         2                              2                   2                |
|      45c  - 40a*d - 23b*d - 28c*d + 29d , a*c + 16b*c - 43c  + 26a*d + 22b*d|
|      -----------------------------------------------------------------------|
|                   2   2              2                      2     2         |
|      - 13c*d + 50d , b  - 39b*c - 47c  + 17b*d + 25c*d - 15d , b*c  -       |
|      -----------------------------------------------------------------------|
|                   2         2        2        2      3   3               2  |
|      15b*c*d - 47c d + 19a*d  + 31b*d  + 21c*d  + 41d , c  + 2b*c*d + 34c d |
|      -----------------------------------------------------------------------|
|             2        2        2      3                                      |
|      - 28a*d  + 38b*d  - 18c*d  - 34d )                                     |
|                                                                             |
|o18 : Ideal of S                                                             |
+-----------------------------------------------------------------------------+
|i19 : betti res F2                                                           |
|                                                                             |
|             0 1 2 3                                                         |
|o19 = total: 1 6 8 3                                                         |
|          0: 1 . . .                                                         |
|          1: . 4 4 1                                                         |
|          2: . 2 4 2                                                         |
|                                                                             |
|o19 : BettiTally                                                             |
+-----------------------------------------------------------------------------+

What are the ideals F1 and F2?

+-----------------------------------------------------------------------------+
|i20 : netList decompose F1                                                   |
|                                                                             |
|      +-------------------------------------------------------+              |
|o20 = |ideal (c - 49d, b - 6d, a - 15d)                       |              |
|      +-------------------------------------------------------+              |
|      |ideal (c + 24d, b + 37d, a + 35d)                      |              |
|      +-------------------------------------------------------+              |
|      |                                      2              2 |              |
|      |ideal (b - 18c - 32d, a + 46c + 33d, c  - 26c*d - 15d )|              |
|      +-------------------------------------------------------+              |
|      |                                      2              2 |              |
|      |ideal (b - 37c - 27d, a + 41c + 29d, c  + 15c*d + 16d )|              |
|      +-------------------------------------------------------+              |
+-----------------------------------------------------------------------------+
|i21 : netList decompose F2                                                   |
|                                                                             |
|      +----------------------------------------------------------------------|
|      |                        2                              2   2          |
|o21 = |ideal (a*c + 16b*c - 43c  + 26a*d + 22b*d - 13c*d + 50d , b  - 39b*c -|
|      +----------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|    2                      2                   2                             |
| 47c  + 17b*d + 25c*d - 15d , a*b - 25b*c + 45c  - 40a*d - 23b*d - 28c*d + 29|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
| 2   2              2                             2   3               2      |
|d , a  - 23b*c - 44c  - 45a*d - 19b*d - 50c*d + 6d , c  + 2b*c*d + 34c d - 28|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|   2        2        2      3     2                2         2        2      |
|a*d  + 38b*d  - 18c*d  - 34d , b*c  - 15b*c*d - 47c d + 19a*d  + 31b*d  + 21c|
|-----------------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|-----------+                                                                 |
|  2      3 |                                                                 |
|*d  + 41d )|                                                                 |
|-----------+                                                                 |
+-----------------------------------------------------------------------------+

We can determine what these represent.  One should be a set of 6 points, where
5 lie on a plane.  The other should be 6 points with 3 points on one line, and
the other 3 points on a skew line.

See also
========

  * randomPointOnRationalVariety
    -- find a random point on a
    variety that can be detected to be rational

Ways to use nonminimalMaps :
============================

  * "nonminimalMaps(Ideal)"

For the programmer
==================

The object nonminimalMaps, is a method function (Macaulay2Doc).

randomPointOnRationalVariety(Ideal) -- find a random point on a variety that can be detected to be rational
***********************************************************************************************************

Synopsis
========

  * Function: randomPointOnRationalVariety,
  * Usage:
        randomPointOnRationalVariety I
        randomPointOnRationalVariety
  * Inputs:
      * I, an ideal (Macaulay2Doc), An ideal in a polynomial ring
        $S$ over a field, which defines a prime ideal
  * Outputs:
      * a matrix (Macaulay2Doc), A one row matrix over the base
        field of $S$, representing a randomly chosen point on the zero locus of
        $I$.  null is returned in the case when the routine cannot determine if
        the variety is rational and irreducible.

Description
===========

As a first example, we find a random point on the Veronese surface in $\PP^5$.

+-----------------------------------------------------------------------------+
|i1 : kk = ZZ/101;                                                            |
+-----------------------------------------------------------------------------+
|i2 : S = kk[a..f];                                                           |
+-----------------------------------------------------------------------------+
|i3 : I = minors(2, genericSymmetricMatrix(S, 3))                             |
|                                                                             |
|               2                                                  2          |
|o3 = ideal (- b  + a*d, - b*c + a*e, - c*d + b*e, - b*c + a*e, - c  + a*f, - |
|     ------------------------------------------------------------------------|
|                                             2                               |
|     c*e + b*f, - c*d + b*e, - c*e + b*f, - e  + d*f)                        |
|                                                                             |
|o3 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i4 : pt = randomPointOnRationalVariety I                                     |
|                                                                             |
|o4 = | 1 49 24 -23 -36 -30 |                                                 |
|                                                                             |
|              1        6                                                     |
|o4 : Matrix kk  <--- kk                                                      |
+-----------------------------------------------------------------------------+
|i5 : sub(I, pt) == 0                                                         |
|                                                                             |
|o5 = true                                                                    |
+-----------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
|i6 : S = kk[a..d];                                                           |
+-----------------------------------------------------------------------------+
|i7 : F = groebnerFamily ideal"a2,ab,ac,b2"                                   |
|                                                                             |
|             2                      2                      2                 |
|o7 = ideal (a  + t b*c + t a*d + t c  + t b*d + t c*d + t d , a*b + t b*c +  |
|                  1       3       2      4       5       6           7       |
|     ------------------------------------------------------------------------|
|                2                         2                              2   |
|     t a*d + t c  + t  b*d + t  c*d + t  d , a*c + t  b*c + t  a*d + t  c  + |
|      9       8      10       11       12           13       15       14     |
|     ------------------------------------------------------------------------|
|                           2   2                         2                   |
|     t  b*d + t  c*d + t  d , b  + t  b*c + t  a*d + t  c  + t  b*d + t  c*d |
|      16       17       18          19       21       20      22       23    |
|     ------------------------------------------------------------------------|
|           2                                                                 |
|     + t  d )                                                                |
|        24                                                                   |
|                                                                             |
|o7 : Ideal of kk[t , t , t  , t , t , t  , t  , t  , t , t , t , t  , t  , t |
|                  6   5   12   2   4   11   18   24   1   3   8   10   17   2|
|-----------------------------------------------------------------------------|
| , t , t , t  , t  , t  , t  , t  , t  , t  , t  ][a..d]                     |
|3   7   9   14   16   20   22   13   15   19   21                            |
+-----------------------------------------------------------------------------+
|i8 : J = groebnerStratum F                                                   |
|                                                                             |
|                                                                             |
|o8 = ideal (- t  + t   - t  t  , - t  - t  t  , - t   + t   + t t   - t  t   |
|               7    14    13 19     8    20 13     10    17    9 13    22 13 |
|     ------------------------------------------------------------------------|
|                         2                                                   |
|     - t t   - t  t   + t  t  , - t  t   + t  t  t  , - t   + t t   - t  t   |
|        7 15    16 19    13 21     16 21    13 15 21     11    9 14    16 20 |
|     ------------------------------------------------------------------------|
|                                                                             |
|     - t  t   - t t   + t  t  t  , t   + t t   - t  t   - t  t   + t  t  t  ,|
|        23 13    8 15    14 13 21   18    9 16    16 22    10 15    16 13 21 |
|     ------------------------------------------------------------------------|
|                                                                             |
|     - t   + t  t  - t  t   - t  t   - t  t   + t  t  t  , t  t  - t  t   -  |
|        12    17 9    23 16    24 13    11 15    17 13 21   18 9    24 16    |
|     ------------------------------------------------------------------------|
|                                           2              2        2         |
|     t  t   + t  t  t  , - t  - 2t  t   + t  t  , - t  - t   + t  t  , - t  -|
|      12 15    18 13 21     1     14 13    13 19     2    14    20 13     4  |
|     ------------------------------------------------------------------------|
|                                            2                                |
|     t t   - t  t   + t t   - 2t  t   + t  t   - t t   + t t  t   + t  t  t  |
|      7 16    14 16    3 13     17 13    22 13    1 15    7 13 15    14 13 15|
|     ------------------------------------------------------------------------|
|                    3                                            2           |
|     + t  t  t   - t  t  , t   - t t   - t  t   + t t  t   + t  t   +        |
|        16 13 19    13 21   18    9 16    17 15    9 13 15    14 15          |
|     ------------------------------------------------------------------------|
|                  2                                                          |
|     t  t  t   - t  t  t  , - t  + t t   - 2t  t   - t t   + t  t  t   +     |
|      16 13 21    13 15 21     5    3 14     17 14    8 16    16 20 13       |
|     ------------------------------------------------------------------------|
|         2             2                      2                              |
|     t  t   - t t   + t  t   + t t  t   - t  t  t  , t t   - t  t   - t  t   |
|      23 13    2 15    14 15    8 13 15    14 13 21   3 16    10 16    17 16 |
|     ------------------------------------------------------------------------|
|                                                                2            |
|     - t  t   + t  t  t   - t t   + t  t  t   + t  t  t   - t  t  t  , - t  +|
|        18 13    16 22 13    4 15    14 16 15    10 13 15    16 13 21     6  |
|     ------------------------------------------------------------------------|
|              2                                      2                       |
|     t t   - t   - t  t   - t  t   + t  t  t   + t  t   - t t   + t  t  t   +|
|      3 17    17    18 14    11 16    23 16 13    24 13    5 15    17 14 15  |
|     ------------------------------------------------------------------------|
|                     2                                                       |
|     t  t  t   - t  t  t  , t  t  - t  t   - t  t   + t  t  t   - t t   +    |
|      11 13 15    17 13 21   18 3    18 17    12 16    24 16 13    6 15      |
|     ------------------------------------------------------------------------|
|                                 2                                           |
|     t  t  t   + t  t  t   - t  t  t  , - t  - t  t   + t t   - t  t   +     |
|      18 14 15    12 13 15    18 13 21     8    20 13    7 19    14 19       |
|     ------------------------------------------------------------------------|
|         2                                                                   |
|     t  t  , t t   - t  t   + t  t  t  , - t   + t t  - t  t   - t  t   +    |
|      13 19   7 20    14 20    20 13 19     11    7 9    16 20    23 13      |
|     ------------------------------------------------------------------------|
|                                                              2              |
|     t  t  t   + t  t   - t  t   + t  t  t   + t t  t   + t  t   - t t   -   |
|      20 13 15    10 19    17 19    22 13 19    7 15 19    16 19    1 21     |
|     ------------------------------------------------------------------------|
|                 2                2                        2                 |
|     t t  t   - t  t  t  , t   + t  - t t   - t  t   + t  t   + t t  t   -   |
|      7 13 21    13 19 21   24    9    9 22    23 15    20 15    9 15 19     |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t t   + t  t   - t t  t   + t  t  t   - t  t  t  t  , t  t  + t t  -    |
|      3 21    10 21    7 15 21    16 19 21    13 15 19 21   23 7    8 9      |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t  t   + t  t   - t  t   - t t   + t  t  t   + t  t  t   + t  t  t   +  |
|      23 14    10 20    17 20    8 22    14 20 15    16 20 19    23 13 19    |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t t  t   - t t   - t t  t   - t  t  t  t  , - t   + t  t  - t  t   +    |
|      8 15 19    2 21    7 14 21    14 13 19 21     12    10 9    23 16      |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t  t  t   - t  t   + t  t  t   + t  t  t   - t t   - t t  t   -         |
|      16 20 15    18 19    16 22 19    10 15 19    4 21    7 16 21           |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t  t  t  t  , t  t   - t  t   + t  t  + t  t  - t  t   - t  t   +       |
|      16 13 19 21   10 23    17 23    24 7    11 9    18 20    11 22         |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t  t  t   + t  t  t   + t  t  t   + t  t  t   - t t   - t  t t   -      |
|      17 20 15    23 16 19    24 13 19    11 15 19    5 21    17 7 21        |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t  t  t  t  , t  t   - t  t   + t  t  - t  t   + t  t  t   + t  t  t   +|
|      17 13 19 21   24 10    18 23    12 9    12 22    18 20 15    24 16 19  |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t  t  t   - t t   - t  t t   - t  t  t  t  , - t  - t t   - t t   +     |
|      12 15 19    6 21    18 7 21    18 13 19 21     2    7 14    8 13       |
|     ------------------------------------------------------------------------|
|                                                                             |
|     t t   + t t  t  , - t t   + t t   + t t  t  , - t  + t t  - t  t  -     |
|      1 19    7 13 19     8 14    1 20    7 20 13     5    3 7    10 7       |
|     ------------------------------------------------------------------------|
|                                                         2                   |
|     t  t  - t t  - t t   + t t   - t  t   + t t  t   + t t   + t t  t   +   |
|      17 7    1 9    8 16    1 22    11 13    7 22 13    7 15    8 13 15     |
|     ------------------------------------------------------------------------|
|                                      2                                      |
|     t t   + t t  t   - t t  t   - t t  t  , t   - t  t  - t  t   + t t t   +|
|      4 19    7 16 19    1 13 21    7 13 21   12    10 9    11 15    7 9 15  |
|     ------------------------------------------------------------------------|
|        2                                                                    |
|     t t   + t t   + t t  t   - t t  t   - t t  t  t  , t t  - t t   - t t   |
|      8 15    4 21    7 16 21    1 15 21    7 13 15 21   3 8    8 10    8 17 |
|     ------------------------------------------------------------------------|
|                                                                             |
|     + t t   - t t  - t  t   + t t   + t t  t   + t  t t   + t t t   +       |
|        1 23    2 9    11 14    4 20    7 16 20    23 7 13    8 7 15         |
|     ------------------------------------------------------------------------|
|                                                        2                    |
|     t t  t   - t t  t   - t t  t  t  , - t  + t t   - t   - t  t  - t t  -  |
|      8 14 15    1 14 21    7 14 13 21     6    3 10    10    18 7    4 9    |
|     ------------------------------------------------------------------------|
|     t  t   + t t   + t t  t   + t  t t   + t t  t   - t t  t   -            |
|      11 16    4 22    7 16 22    10 7 15    8 16 15    1 16 21              |
|     ------------------------------------------------------------------------|
|     t t  t  t  , t  t  + t  t  - t  t  - t  t   - t  t   + t t   - t t  +   |
|      7 16 13 21   24 1    11 3    18 8    11 10    11 17    4 23    5 9     |
|     ------------------------------------------------------------------------|
|     t  t t   + t  t t   + t t  t   + t  t t   - t t  t   - t  t t  t  , -   |
|      23 7 16    24 7 13    8 17 15    11 7 15    1 17 21    17 7 13 21      |
|     ------------------------------------------------------------------------|
|     t  t   + t t   + t  t  - t  t   - t t  + t  t t   + t  t t   + t  t t   |
|      11 18    4 24    12 3    12 10    6 9    24 7 16    18 8 15    12 7 15 |
|     ------------------------------------------------------------------------|
|     - t  t t   - t  t t  t  )                                               |
|        18 1 21    18 7 13 21                                                |
|                                                                             |
|o8 : Ideal of kk[t , t , t  , t , t , t  , t  , t  , t , t , t , t  , t  , t |
|                  6   5   12   2   4   11   18   24   1   3   8   10   17   2|
|-----------------------------------------------------------------------------|
| , t , t , t  , t  , t  , t  , t  , t  , t  , t  ]                           |
|3   7   9   14   16   20   22   13   15   19   21                            |
+-----------------------------------------------------------------------------+
|i9 : compsJ = decompose J;                                                   |
+-----------------------------------------------------------------------------+
|i10 : compsJ = compsJ/trim;                                                  |
+-----------------------------------------------------------------------------+
|i11 : #compsJ == 2                                                           |
|                                                                             |
|o11 = true                                                                   |
+-----------------------------------------------------------------------------+
|i12 : compsJ/dim                                                             |
|                                                                             |
|o12 = {11, 8}                                                                |
|                                                                             |
|o12 : List                                                                   |
+-----------------------------------------------------------------------------+

There are 2 components.  We attempt to find a point on the first component

+-----------------------------------------------------------------------------+
|i13 : pt1 = randomPointOnRationalVariety compsJ_0                            |
|                                                                             |
|o13 = | 50 15 46 -33 2 -43 -46 8 33 19 -2 -18 -8 -22 43 -29 19 3 -16 -29 -38 |
|      -----------------------------------------------------------------------|
|      -24 -10 -29 |                                                          |
|                                                                             |
|               1        24                                                   |
|o13 : Matrix kk  <--- kk                                                     |
+-----------------------------------------------------------------------------+
|i14 : F1 = sub(F, (vars S)|pt1)                                              |
|                                                                             |
|              2              2                             2                 |
|o14 = ideal (a  + 33b*c - 33c  + 19a*d + 2b*d + 15c*d + 50d , a*b + 43b*c -  |
|      -----------------------------------------------------------------------|
|        2                              2                   2                 |
|      2c  - 29a*d - 18b*d - 43c*d + 46d , a*c - 38b*c + 19c  - 24a*d + 3b*d -|
|      -----------------------------------------------------------------------|
|                2   2              2                             2           |
|      8c*d - 46d , b  - 10b*c - 16c  - 29a*d - 29b*d - 22c*d + 8d )          |
|                                                                             |
|o14 : Ideal of S                                                             |
+-----------------------------------------------------------------------------+
|i15 : decompose F1                                                           |
|                                                                             |
|                                    2              2                      2  |
|o15 = {ideal (a - 38b + 19c + 44d, b  - 10b*c - 16c  - 20b*d + 24c*d - 29d ),|
|      -----------------------------------------------------------------------|
|      ideal (c - 24d, b - 38d, a + 15d)}                                     |
|                                                                             |
|o15 : List                                                                   |
+-----------------------------------------------------------------------------+

We attempt to find a point on the second component in parameter space, and its
corresponding ideal.

+-----------------------------------------------------------------------------+
|i16 : pt2 = randomPointOnRationalVariety compsJ_1                            |
|                                                                             |
|o16 = | -14 40 -5 26 -48 -26 -35 41 -8 -15 -38 31 -13 29 21 16 39 21 -18 19  |
|      -----------------------------------------------------------------------|
|      -47 -39 34 0 |                                                         |
|                                                                             |
|               1        24                                                   |
|o16 : Matrix kk  <--- kk                                                     |
+-----------------------------------------------------------------------------+
|i17 : F2 = sub(F, (vars S)|pt2)                                              |
|                                                                             |
|              2             2                              2                 |
|o17 = ideal (a  - 8b*c + 26c  - 15a*d - 48b*d + 40c*d - 14d , a*b + 21b*c -  |
|      -----------------------------------------------------------------------|
|         2                             2                   2                 |
|      38c  + 16a*d + 31b*d - 26c*d - 5d , a*c - 47b*c + 39c  - 39a*d + 21b*d |
|      -----------------------------------------------------------------------|
|                   2   2              2                      2               |
|      - 13c*d - 35d , b  + 34b*c - 18c  + 19b*d + 29c*d + 41d )              |
|                                                                             |
|o17 : Ideal of S                                                             |
+-----------------------------------------------------------------------------+
|i18 : decompose F2                                                           |
|                                                                             |
|o18 = {ideal (b + 19c - 18d, a + 23c + 43d), ideal (b + 15c + 37d, a + 37c + |
|      -----------------------------------------------------------------------|
|      26d)}                                                                  |
|                                                                             |
|o18 : List                                                                   |
+-----------------------------------------------------------------------------+

It turns out that this is the ideal of 2 skew lines, just not defined over this
field.

Caveat
======

This routine expects the input to represent an irreducible variety

See also
========

  * randomPointsOnRationalVariety
    -- find random points on a
    variety that can be detected to be rational

Ways to use this method:
========================

  * randomPointOnRationalVariety(Ideal)
    -- find a random point on a
    variety that can be detected to be rational

randomPointsOnRationalVariety(Ideal,ZZ) -- find random points on a variety that can be detected to be rational
**************************************************************************************************************

Synopsis
========

  * Function: randomPointsOnRationalVariety,
  * Usage:
        randomPointsOnRationalVariety(I, n)
        randomPointOnRationalVariety
  * Inputs:
      * I, an ideal (Macaulay2Doc), An ideal in a polynomial ring
        $S$ over a field, which defines a prime ideal
      * n, an integer (Macaulay2Doc), The number of points to
        generate
  * Outputs:
      * a list (Macaulay2Doc), A list of $n$ one row matrices over
        the base field of $S$, that are randomly chosen points on $I$.  null is
        returned in the case when the routine cannot determine if the variety
        is rational and irreducible.

Description
===========

+-----------------------------------------------------------------------------+
|i1 : kk = ZZ/101;                                                            |
+-----------------------------------------------------------------------------+
|i2 : S = kk[a..f];                                                           |
+-----------------------------------------------------------------------------+
|i3 : I = minors(2, genericSymmetricMatrix(S, 3))                             |
|                                                                             |
|               2                                                  2          |
|o3 = ideal (- b  + a*d, - b*c + a*e, - c*d + b*e, - b*c + a*e, - c  + a*f, - |
|     ------------------------------------------------------------------------|
|                                             2                               |
|     c*e + b*f, - c*d + b*e, - c*e + b*f, - e  + d*f)                        |
|                                                                             |
|o3 : Ideal of S                                                              |
+-----------------------------------------------------------------------------+
|i4 : pts = randomPointsOnRationalVariety(I, 4)                               |
|                                                                             |
|o4 = {| 1 49 24 -23 -36 -30 |, | 23 -29 -29 19 19 19 |, | 38 -11 -10 -42 -29 |
|     ------------------------------------------------------------------------|
|     -8 |, | -37 -35 -22 -14 -29 -24 |}                                      |
|                                                                             |
|o4 : List                                                                    |
+-----------------------------------------------------------------------------+
|i5 : for p in pts list sub(I, p) == 0                                        |
|                                                                             |
|o5 = {true, true, true, true}                                                |
|                                                                             |
|o5 : List                                                                    |
+-----------------------------------------------------------------------------+
+-----------------------------------------------------------------------------+
|i6 : S = kk[a..d];                                                           |
+-----------------------------------------------------------------------------+
|i7 : F = groebnerFamily ideal"a2,ab,ac,b2"                                   |
|                                                                             |
|             2                      2                      2                 |
|o7 = ideal (a  + t b*c + t a*d + t c  + t b*d + t c*d + t d , a*b + t b*c +  |
|                  1       3       2      4       5       6           7       |
|     ------------------------------------------------------------------------|
|                2                         2                              2   |
|     t a*d + t c  + t  b*d + t  c*d + t  d , a*c + t  b*c + t  a*d + t  c  + |
|      9       8      10       11       12           13       15       14     |
|     ------------------------------------------------------------------------|
|                           2   2                         2                   |
|     t  b*d + t  c*d + t  d , b  + t  b*c + t  a*d + t  c  + t  b*d + t  c*d |
|      16       17       18          19       21       20      22       23    |
|     ------------------------------------------------------------------------|
|           2                                                                 |
|     + t  d )                                                                |
|        24                                                                   |
|                                                                             |
|o7 : Ideal of kk[t , t , t  , t , t , t  , t  , t  , t , t , t , t  , t  , t |
|                  6   5   12   2   4   11   18   24   1   3   8   10   17   2|
|-----------------------------------------------------------------------------|
| , t , t , t  , t  , t  , t  , t  , t  , t  , t  ][a..d]                     |
|3   7   9   14   16   20   22   13   15   19   21                            |
+-----------------------------------------------------------------------------+
|i8 : J = groebnerStratum F;                                                  |
|                                                                             |
|o8 : Ideal of kk[t , t , t  , t , t , t  , t  , t  , t , t , t , t  , t  ,   |
|                  6   5   12   2   4   11   18   24   1   3   8   10   17    |
|-----------------------------------------------------------------------------|
|t  , t , t , t  , t  , t  , t  , t  , t  , t  , t  ]                         |
| 23   7   9   14   16   20   22   13   15   19   21                          |
+-----------------------------------------------------------------------------+
|i9 : compsJ = decompose J;                                                   |
+-----------------------------------------------------------------------------+
|i10 : compsJ = compsJ/trim;                                                  |
+-----------------------------------------------------------------------------+
|i11 : #compsJ == 2                                                           |
|                                                                             |
|o11 = true                                                                   |
+-----------------------------------------------------------------------------+
|i12 : compsJ/dim                                                             |
|                                                                             |
|o12 = {11, 8}                                                                |
|                                                                             |
|o12 : List                                                                   |
+-----------------------------------------------------------------------------+

There are 2 components.  We attempt to find points on each of these two
components. We are successful.  This indicates that the corresponding varieties
are both rational. Also, if we can find one point, we can find as many as we
want.

+-----------------------------------------------------------------------------+
|i13 : netList randomPointsOnRationalVariety(compsJ_0, 10)                    |
|                                                                             |
|      +----------------------------------------------------------------------|
|o13 = || 13 15 3 36 2 48 44 -35 -34 39 5 -32 34 19 -42 -47 -16 -34 -39 -13 -1|
|      +----------------------------------------------------------------------|
|      || -43 48 14 29 -47 -10 47 22 8 -47 15 -26 2 16 -49 22 -28 -18 45 -48 -|
|      +----------------------------------------------------------------------|
|      || -3 45 42 47 -50 16 -30 28 43 -16 24 19 15 -23 37 39 19 -8 43 -11 -17|
|      +----------------------------------------------------------------------|
|      || -49 7 32 -6 -30 -41 -10 2 44 11 -25 4 33 40 -19 11 35 -17 46 1 -28 -|
|      +----------------------------------------------------------------------|
|      || 35 -48 -2 45 -35 29 34 12 -32 -23 50 2 2 29 -3 -47 -47 -34 15 -13 -3|
|      +----------------------------------------------------------------------|
|      || 47 8 -14 6 -1 -13 -7 16 -20 39 -34 -22 -22 32 17 -9 -18 -6 -32 24 -2|
|      +----------------------------------------------------------------------|
|      || -2 -36 -39 41 -6 34 -10 42 5 39 20 33 33 -49 -15 -33 -15 41 -19 -20 |
|      +----------------------------------------------------------------------|
|      || -30 37 -9 16 -36 19 -13 -14 -19 9 -33 5 4 13 44 -26 36 -12 22 -11 -4|
|      +----------------------------------------------------------------------|
|      || 27 41 32 -44 40 -20 41 33 28 36 44 31 -22 -30 9 41 -8 30 16 -6 -28 3|
|      +----------------------------------------------------------------------|
|      || 37 -2 17 -42 -42 -12 18 -31 33 6 19 -31 3 -31 -11 25 -35 28 -2 -49 -|
|      +----------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|---------------+                                                             |
|8 -43 21 -38 | |                                                             |
|---------------+                                                             |
|34 -47 38 -15 ||                                                             |
|---------------+                                                             |
| 48 7 47 |     |                                                             |
|---------------+                                                             |
|3 -38 36 |     |                                                             |
|---------------+                                                             |
|7 -10 -7 22 |  |                                                             |
|---------------+                                                             |
|0 -30 27 30 |  |                                                             |
|---------------+                                                             |
|17 44 0 -48 |  |                                                             |
|---------------+                                                             |
|9 -8 -39 -39 | |                                                             |
|---------------+                                                             |
|5 -3 43 |      |                                                             |
|---------------+                                                             |
|41 -13 40 -9 | |                                                             |
|---------------+                                                             |
+-----------------------------------------------------------------------------+
|i14 : netList randomPointsOnRationalVariety(compsJ_1, 10)                    |
|                                                                             |
|      +----------------------------------------------------------------------|
|o14 = || -41 -1 -48 25 40 4 35 16 26 -41 -28 -16 27 -14 -39 4 4 30 -40 37 -31|
|      +----------------------------------------------------------------------|
|      || -1 19 -3 12 50 3 4 25 48 50 34 -6 -29 6 -5 36 -39 -31 -48 30 47 -37 |
|      +----------------------------------------------------------------------|
|      || -27 -3 -40 22 27 3 -28 -41 -12 -34 -10 40 46 29 30 24 -49 28 1 40 10|
|      +----------------------------------------------------------------------|
|      || -26 -6 24 28 -27 26 34 47 13 50 3 -42 -17 5 4 -35 7 30 -13 3 8 -41 1|
|      +----------------------------------------------------------------------|
|      || 49 -7 48 1 48 25 25 -10 49 36 -16 35 -46 -5 25 -33 8 -29 49 -18 23 4|
|      +----------------------------------------------------------------------|
|      || -35 28 -6 22 50 -49 2 -5 -11 -39 30 27 -16 34 -9 -34 -28 15 -46 12 2|
|      +----------------------------------------------------------------------|
|      || -49 -44 -16 -10 48 18 22 33 -35 -48 -28 -8 -23 -48 -25 -3 -21 23 44 |
|      +----------------------------------------------------------------------|
|      || -33 -14 -18 10 2 -43 -26 45 10 19 -15 25 47 9 -15 -22 0 -47 -28 6 -3|
|      +----------------------------------------------------------------------|
|      || 20 -27 -17 2 -47 -23 13 40 -19 -13 39 -23 5 -3 47 -6 28 -29 -37 -33 |
|      +----------------------------------------------------------------------|
|      || 19 10 -10 47 41 20 -43 -34 -43 2 44 29 22 35 -42 16 44 30 5 -20 -29 |
|      +----------------------------------------------------------------------|
|-----------------------------------------------------------------------------|
|-----------------+                                                           |
| -35 -47 0 |     |                                                           |
|-----------------+                                                           |
|-48 0 |          |                                                           |
|-----------------+                                                           |
| -22 -18 0 |     |                                                           |
|-----------------+                                                           |
|3 0 |            |                                                           |
|-----------------+                                                           |
|2 30 0 |         |                                                           |
|-----------------+                                                           |
|7 -18 18 0 |     |                                                           |
|-----------------+                                                           |
|-39 19 20 -37 0 ||                                                           |
|-----------------+                                                           |
|3 -9 -28 0 |     |                                                           |
|-----------------+                                                           |
|42 -28 26 0 |    |                                                           |
|-----------------+                                                           |
|-13 4 0 |        |                                                           |
|-----------------+                                                           |
+-----------------------------------------------------------------------------+

Caveat
======

This routine expects the input to represent an irreducible variety

See also
========

  * randomPointOnRationalVariety(Ideal)
    -- find a random point on a
    variety that can be detected to be rational

Ways to use this method:
========================

  * randomPointsOnRationalVariety(Ideal,ZZ)
    -- find random points on a
    variety that can be detected to be rational

smallerMonomials -- returns the standard monomials smaller but of the same degree as given monomial(s)
******************************************************************************************************

Synopsis
========

  * Usage:
        L = smallerMonomials M
        L = smallerMonomials(M, m)
  * Inputs:
      * M, an ideal (Macaulay2Doc), $M$ should be a monomial ideal
        (an ideal generated by monomials)
      * m, a ring element (Macaulay2Doc), optional,
  * Outputs:
      * L, a list (Macaulay2Doc), a list of lists: for each
        generator $m$ of $M$, the list of all monomials of the same degree as
        $m$, not in the monomial ideal and smaller than that generator in the
        term order of the ambient ring.  If instead $m$ is given, the list of
        the standard monomials of the same degree, smaller than $m$, is
        returned.

Description
===========

Inputting an ideal $M$ returns the smaller monomials of each of the given
generators of the ideal.

+-----------------------------------------------------------------------------+
|i1 : R = ZZ/32003[a..d];                                                     |
+-----------------------------------------------------------------------------+
|i2 : M = ideal (a^2, b^2, a*b*c);                                            |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : L1 = smallerMonomials M                                                 |
|                                                                             |
|                       2                  2               2                  |
|o3 = {{a*b, a*c, b*c, c , a*d, b*d, c*d, d }, {a*c, b*c, c , a*d, b*d, c*d,  |
|     ------------------------------------------------------------------------|
|      2       2     2   3                        2      2     2     2   3    |
|     d }, {a*c , b*c , c , a*b*d, a*c*d, b*c*d, c d, a*d , b*d , c*d , d }}  |
|                                                                             |
|o3 : List                                                                    |
+-----------------------------------------------------------------------------+
|i4 : smallerMonomials(M, b^2)                                                |
|                                                                             |
|                 2                  2                                        |
|o4 = {a*c, b*c, c , a*d, b*d, c*d, d }                                       |
|                                                                             |
|o4 : List                                                                    |
+-----------------------------------------------------------------------------+

See also
========

  * tailMonomials -- find tail monomials
  * standardMonomials -- computes standard monomials

Ways to use smallerMonomials :
==============================

  * "smallerMonomials(Ideal)"
  * "smallerMonomials(Ideal,RingElement)"

For the programmer
==================

The object smallerMonomials, is a method function (Macaulay2Doc).

standardMonomials -- computes standard monomials
************************************************

Synopsis
========

  * Usage:
        L = standardMonomials M
        L = standardMonomials(d, M)
  * Inputs:
      * M, an ideal (Macaulay2Doc), M should be a monomial ideal
      * d, a list (Macaulay2Doc), a degree
  * Outputs:
      * L, a list (Macaulay2Doc), L is a list of lists of standard
        monomials for the ideal $M$, one for each generator of $M$

Description
===========

A monomial $m$ is standard with respect to a monomial ideal $M$ and a generator
$g$ of $M$ if $m$ is of the same degree as $g$ but is not an element of $M$.

Inputting an ideal $M$ returns the standard monomials of each of the given
generators of the ideal.

+-----------------------------------------------------------------------------+
|i1 : R = ZZ/32003[a..d];                                                     |
+-----------------------------------------------------------------------------+
|i2 : M = ideal (a^2, a*b, b^3, a*c);                                         |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : L1 = standardMonomials M                                                |
|                                                                             |
|        2        2                  2     2        2                  2      |
|o3 = {{b , b*c, c , a*d, b*d, c*d, d }, {b , b*c, c , a*d, b*d, c*d, d },    |
|     ------------------------------------------------------------------------|
|       2      2   3   2           2      2     2     2   3     2        2    |
|     {b c, b*c , c , b d, b*c*d, c d, a*d , b*d , c*d , d }, {b , b*c, c ,   |
|     ------------------------------------------------------------------------|
|                     2                                                       |
|     a*d, b*d, c*d, d }}                                                     |
|                                                                             |
|o3 : List                                                                    |
+-----------------------------------------------------------------------------+
|i4 : standardMonomials({3}, M)                                               |
|                                                                             |
|       2      2   3   2           2      2     2     2   3                   |
|o4 = {b c, b*c , c , b d, b*c*d, c d, a*d , b*d , c*d , d }                  |
|                                                                             |
|o4 : List                                                                    |
+-----------------------------------------------------------------------------+

Inputting an integer $d$ (or degree $d$) and an ideal gives the standard
monomials for the specified ideal in degree $d$.

+-------------------------------------+
|i5 : standardMonomials(2, M)         |
|                                     |
|       2        2                  2 |
|o5 = {b , b*c, c , a*d, b*d, c*d, d }|
|                                     |
|o5 : List                            |
+-------------------------------------+

See also
========

  * tailMonomials -- find tail monomials
  * smallerMonomials -- returns the standard monomials
    smaller but of the same degree as given monomial(s)

Ways to use standardMonomials :
===============================

  * "standardMonomials(Ideal)"
  * "standardMonomials(List,Ideal)"
  * "standardMonomials(ZZ,Ideal)"

For the programmer
==================

The object standardMonomials, is a method function (Macaulay2Doc).

tailMonomials -- find tail monomials
************************************

Synopsis
========

  * Usage:
        L = tailMonomials M
        L = tailMonomials(M, m)
  * Inputs:
      * M, an ideal (Macaulay2Doc), $M$ should be a monomial ideal
        (an ideal generated by monomials)
      * m, a ring element (Macaulay2Doc), optional, only
        return a single list of the tail monomials for this monomial
  * Optional inputs (Macaulay2Doc),:
      * AllStandard => a Boolean value (Macaulay2Doc), default
        value false, which monomials should be considered tail monomials of a
        monomial $m$: either all standard monomials of a given degree, or all
        monomials smaller than $m$ in the given term order (but still of the
        same degree)
  * Outputs:
      * L, a list (Macaulay2Doc), a list of lists: for each
        generator $m$ of $M$, the list of all tail monomials If instead $m$ is
        given, the list of the tail monomials of $m$ is returned

Description
===========

Inputting an ideal $M$ generated by monomials returns a list of lists of tail
monomialsfor each generator of $M$ (in the smae order).

+-----------------------------------------------------------------------------+
|i1 : R = ZZ/32003[a..d];                                                     |
+-----------------------------------------------------------------------------+
|i2 : M = ideal (a^2, b^2, a*b*c);                                            |
|                                                                             |
|o2 : Ideal of R                                                              |
+-----------------------------------------------------------------------------+
|i3 : tailMonomials M                                                         |
|                                                                             |
|                       2                  2               2                  |
|o3 = {{a*b, a*c, b*c, c , a*d, b*d, c*d, d }, {a*c, b*c, c , a*d, b*d, c*d,  |
|     ------------------------------------------------------------------------|
|      2       2     2   3                        2      2     2     2   3    |
|     d }, {a*c , b*c , c , a*b*d, a*c*d, b*c*d, c d, a*d , b*d , c*d , d }}  |
|                                                                             |
|o3 : List                                                                    |
+-----------------------------------------------------------------------------+
|i4 : tailMonomials(M, AllStandard => true)                                   |
|                                                                             |
|                       2                  2                    2             |
|o4 = {{a*b, a*c, b*c, c , a*d, b*d, c*d, d }, {a*b, a*c, b*c, c , a*d, b*d,  |
|     ------------------------------------------------------------------------|
|           2       2     2   3                        2      2     2     2   |
|     c*d, d }, {a*c , b*c , c , a*b*d, a*c*d, b*c*d, c d, a*d , b*d , c*d ,  |
|     ------------------------------------------------------------------------|
|      3                                                                      |
|     d }}                                                                    |
|                                                                             |
|o4 : List                                                                    |
+-----------------------------------------------------------------------------+
|i5 : tailMonomials(M, b^2)                                                   |
|                                                                             |
|                 2                  2                                        |
|o5 = {a*c, b*c, c , a*d, b*d, c*d, d }                                       |
|                                                                             |
|o5 : List                                                                    |
+-----------------------------------------------------------------------------+
|i6 : tailMonomials(M, b^2, AllStandard=>true)                                |
|                                                                             |
|                      2                  2                                   |
|o6 = {a*b, a*c, b*c, c , a*d, b*d, c*d, d }                                  |
|                                                                             |
|o6 : List                                                                    |
+-----------------------------------------------------------------------------+

See also
========

  * standardMonomials -- computes standard monomials
  * smallerMonomials -- returns the standard monomials
    smaller but of the same degree as given monomial(s)

Ways to use tailMonomials :
===========================

  * "tailMonomials(Ideal)"
  * "tailMonomials(Ideal,RingElement)"

For the programmer
==================

The object tailMonomials, is a method function with options (Macaulay2Doc).