Solving (HGRAIL) using NCProcess

The first step is to assemble all of the key polynomial equations in executable form:

The polynomials we shall input to NCProcess1 are naturally thought of in several groups. First, to enforce that the 2 x 2 matrix () i=1, 2, j=1, 2 is symmetric, we require each of the following polynomials to be zero:

We also assume that is invertible for i=1, 2 and j=1, 2. We assume the following polynomials are zero:
Naturally we also assume the following polynomials are zero:
The multigraded lexicographic order which we use is:

We ran NCProcess1 for 2 iterations with the option NCCollectOnVariables turned on.

The algorithm did not run the full two iterations but finished after one. Our program produced a message saying that, in fact, the output is a Gröbner Basis (rather than a partial GB).

Step 1 : Process and Collect

There is no point in listing the full spreadsheet here. Indeed, the only nontrivial undigested polynomial equations are:


The expressions with unknown variables
and knowns

The expressions with unknown variables
and knowns

Step 2: The user attacks

Now the reader must apply his expertise to the nontrivial polynomial equations left undigested by the NCProcess1 command. A key observation is that the first key polynomial equation contains b but not c and the second key polynomial equation contains c but not b. In other words, b and c appear in decoupled equations. Observe that the first key polynomial from the above spreadsheet is quadratic in b. We could complete the square and put the polynomial in the form
where and are expressions involving
, , , , , , , and .
Since there are many unknowns in the problem, there is probably excess freedom. Let us investigate what happens when we take . This yields the polynomial equation
which we could add to the starting polynomial equations and proceed. We can also complete the square for the expression in c and put that expression in the form
We also assume that . This defines c by the following equation
Since we have now solved for b and c, we can use these equations to solve for and .

Home Back More