15.2 NCProcess

The workhorse commands of a strategy are the NCProcess1 and NCProcess2 commands. These two commands fit the general mold of the NCProcess command. In particular, each option of NCProcess is also an option of NCProcess1 and NCProcess2. See §15.6.

15.2.1 NCProcess[aListOfPolynomials,iterations,fileName, Options ]

Aliases: None
Description: NCProcess[aListOfPolynomials,iterations,fileName] finds a new generating set for the ideal generated by aListOfPolynomials along the lines of the demo presented in Chapter 16. The spreadsheets presented in §16.3.1 are the contents of the files fileName, and are produced by the command NCProcess.
In addition to creating the file fileName, NCProcess returns as Mathematica output a list consisting of three lists.
(1) A partial GB for the digested relations.
(2) The digested relations in the simplified second partial GB.
(3) The undigested relations in the simplified second partial GB.

In practice, the user runs NCProcess, then looks at the file fileName in order to get ideas for the next step. When the user decides on the next step, he can use some of the lists of Mathematica output in addition to some new relations as inputs for the next call to NCProcess. There are many options for NCProcess.

Arguments: aListOfPolynomials is a list of polynomials. iterations is a natural number. 2 fileName is a character string. If fileNames’s last four characters are not “.dvi”, then “.dvi” is appended to fileName.
Comments / Limitations: Not available before NCAlgebra 1.2 If you are using NCProcess in the Windows environment you will have to quit the dvi previewer to continue your Mathematica session.

The command NCProcess calls NCMakeGB[aListOfPolynomials,iters]. NCMakeGB is an algorithm for producing a partial Gröbner basis. This produces many new relations whose solution set is the same as the solution set for aListOfPolynomials. Typically, many of the relations follow from other relations within the same output. There are many options for NCProcess which remove “mathematically redundant” relations before generating the spreadsheet in fileName and lists (2) and (3) of the Mathematica output. The various options as well as the default options for NCProcess are described in §19.

15.2.2 Examples

Here are some examples of how the NCProcess commands are called.

NCProcess1[aListOfPolys,2,"filname"]  
list1 = NCProcess1[aListOfPolys,2,"filname",  
                                      DegreeCap->8, DegreeSumCap->12]  
list2 = NCProcess2[aListOfPolys,2,"filname",UserSelect->anotherList,  
                                      DegreeCap->6, DegreeSumCap->10]