R = ZZ[MonomialOrder=>Position=>Up]
R = ZZ[MonomialOrder=>Position=>Down]
R = ZZ[x,MonomialOrder=>Position=>Up]
options R

    o2 = OptionTable{Adjust => identity                              }
		     DegreeRank => 1
		     Degrees => {}
		     Global => true
		     Heft => 
		     Inverses => false
		     MonomialOrder => {GRevLex => {}, Position => Up}
		     MonomialSize => 32
		     Repair => identity
		     SkewCommutative => {}
		     VariableBaseName => 
		     Variables => {}
		     Weights => {}
		     WeylAlgebra => {}

debug Core; raw R
gens gb (M = random(R^6,R^3))

    o5 = | 0   0  4  |
	 | 0   1  0  |
	 | 27  5  3  |
	 | 23  2  -9 |
	 | -67 -9 4  |
	 | -53 -9 4  |


end

Date: Thu, 6 Jul 2006 16:15:25 -0500
From: Dan Grayson <dan@math.uiuc.edu>
To: mike@math.cornell.edu
CC: dan@math.uiuc.edu
Subject: leadTerm vs. hermiteLLL
Reply-to: dan@math.uiuc.edu


We have to make these two routines agree on which end of the vector is the
leading end:


    i61 : hermiteLLL random (ZZ^4, ZZ^4)

    o61 = | 0  0   0 1  |
	  | 0  0   1 0  |
	  | 0  14  0 8  |
	  | 17 251 2 13 |

		   4        4
    o61 : Matrix ZZ  <--- ZZ

    i62 : leadTerm oo

    o62 = | 0  0   0 0  |
	  | 0  0   0 0  |
	  | 0  0   0 0  |
	  | 17 251 2 13 |

		   4        4
    o62 : Matrix ZZ  <--- ZZ


=============================================================================


Here's another oddity:

    i69 : leadTerm transpose matrix {{3,3}}

    o69 = | 0 |
	  | 3 |

		   2        1
    o69 : Matrix ZZ  <--- ZZ

    i70 : leadTerm transpose matrix {{3_R,3_R}}

    o70 = | 3 |
	  | 0 |

		  2       1
    o70 : Matrix R  <--- R

    i71 : describe R

    o71 = QQ [x]

=============================================================================

Date: Thu, 6 Jul 2006 16:25:10 -0500
From: Dan Grayson <dan@math.uiuc.edu>
To: Michael Stillman <mike@math.cornell.edu>
CC: dan@math.uiuc.edu
In-reply-to: <DBE40707-7D97-44C3-A4EB-E811429DA18E@math.cornell.edu> (message
	from Michael Stillman on Thu, 6 Jul 2006 17:22:15 -0400)
Subject: Re: leadTerm vs. hermiteLLL
Reply-to: dan@math.uiuc.edu


Which routine doesn't do auto reduction?  I know you can't be referring to
hermiteLLL, because it's a normal form.  Nor to leadTerm.

Why is LLL part of the name of hermiteLLL???  That must refer only to the
strategy, not to what is being computed.

It would be nice if hermite normal form would be triangular.

> From: Michael Stillman <mike@math.cornell.edu>
> Subject: Re: leadTerm vs. hermiteLLL
> Date: Thu, 6 Jul 2006 17:22:15 -0400
> To: dan@math.uiuc.edu
> 
> Good point...  Also, one of the routines doesn't do an auto  
> reduction, meaning that the result is not in Hermite normal form.   
> Part of the reason for this: the numbers blowup in size upon  
> autoreduction...  But it should at least be possible.

=============================================================================

Date: Thu, 6 Jul 2006 21:34:31 -0500
From: Dan Grayson <dan@math.uiuc.edu>
To: mike@math.cornell.edu
CC: dan@math.uiuc.edu
Subject: hermite vs. gb
Reply-to: dan@math.uiuc.edu


These two routines also disagree about the ordering of vector monomials:

    i9 : gens gb (random(ZZ^4, ZZ^4), StopWithMinimalGenerators=>true, Syzygies=>false, ChangeMatrix=>false)

    o9 = | 47 6 -12 2  |
	 | 0  4 4   -1 |
	 | 0  0 2   -1 |
	 | 0  0 0   1  |

		  4        4
    o9 : Matrix ZZ  <--- ZZ

    i10 : hermite random(ZZ^4, ZZ^4)

    o10 = | 0    0   0  1   |
	  | 0    0   1  0   |
	  | 0    1   0  0   |
	  | 2209 545 24 114 |

		   4        4
    o10 : Matrix ZZ  <--- ZZ

