29.1 Play By Numbers
The Mathematica code and the C++ code both attach numbers to the polynomials which occur in the
running of the GB algorithm. While these numbers are not externally visible at least in the
commands described so far, they can be accessed by the user and are quite useful. One feature
is that they can save typing time for the user who chooses to select or deselect relations in
later runs of NCMakeGB. Also, if one is running the C++ version of the code, this will save
considerable computer time because the C++ version of the code only has to send a number
rather than the full polynomial to the Mathematica session. This time can be very significant
when the polynomial has a large number of terms. See also section 29.2. Recall the Option
ReturnRelationsToMma → False for NCMakeGB stops the partial GB calculated by the C++ program
from transferring the answer back to Mathematica. This is the typical prelude to a “play by numbers ”
session.
Recall the option ReturnRelationsToMma→ False for NCMakeGB stops the results from the
NCMakeGB command from being returned to Mathematica. This is typically the first step in “playing by
numbers”.
29.1.1 WhatAreGBNumbers[]
-
- Aliases: None
-
- Description: WhatAreGBNumbers[] returns a list of numbers. These numbers correspond to the
elements of WhatIsHistory which determine what the ending relations are. If one computes
Map[(#[[2]])&,WhatIsHistory[WhatAreGBNumbers[]]] then one gets the same result as
WhatIsPartialGB[]
-
- Arguments: None
-
- Comments / Limitations: Not available before NCAlgebra 1.2
29.1.2 WhatAreNumbers[]
-
- Aliases: None
-
- Description: WhatAreNumbers[] returns a list of numbers. These numbers correspond to all of the
polynomials which were used and retained inside the C++ code. One needs this command to
make sense of the WhatIsHistory output. No argument is included because it can be applied
only to the previous GB run.
-
- Arguments: None
-
- Comments / Limitations: Not available before NCAlgebra 1.2
29.1.3 WhatIsPartialGB[aListOfIntegers]
-
- Aliases: None
-
- Description: WhatIsPartialGB[aListOfIntegers] returns the polynomials corresponding to
the entries in aListOfIntegers. The command WhatIsPartialGB[] is equivalent to
WhatIsPartialGB[WhatAreGBNumbers[]].
-
- Arguments: aListOfIntegers is a list of natural numbers.
-
- Comments / Limitations: Not available before NCAlgebra 1.2. The list of integers does not have
to be a subset of the integers in WhatAreGBNumbers[], it can also be a subset of the list of
integers in WhatAreNumbers[]. In plain english this says that WhatIsPartialGB can retrieve
any polynomial which has occurred in the course of running the last call to NCMakeGB (not
just the output of NCMakeGB).
29.1.4 NumbersFromHistory[aPolynomial,history]
-
- Aliases: None
-
- Description: NumbersFromHistory[aPolynomial,history] returns all numbers n such that one of
the elements of the list history has the form {n,aPolynomial,whatever,whatever2} where
we do not care what the value of whatever or whatever2 is. Usually this function will return
only a list with one integer in it.
-
- Arguments: aPolynomial is a polynomial. history is the output from the command WhatIsHistory
(subsection 29.2.1).
-
- Comments / Limitations: