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 ReturnRelationsToMmaFalse 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: