[next] [prev] [prev-tail] [tail] [up]

### 4 Alternative user interfaces

In addition to our Python-based tool ipbori and the Po l yBoRi package of Sage we also support two more front ends.

#### 4.1 PolyGUI

Po l yBoRi comes with a QT-based graphical user interface, which is started by typing PolyGUI at the command prompt.

Figure 1: PolyGUI: A graphical user interface for Po l yBoRi’s groebner_basis command

The user make a Gröbner analysis of custom polynomial systems by selecting various options of Po l yBoRi’s groebner_basis command. The “Open File” dialog can be used to load Po l yBoRi-compatible data ﬁles. They have to be written in Python syntax and must contain a ring declaration and the deﬁnition of an ideal (given as a lit of Boolean polynomials).

Example

declare_ring([Block("x", 10), Block("y", 10)])
ideal = [x(1) + x(2), x(2) + y(1)]

The user interface comes with several switches and buttons which can be used to set the monomial ordering and the available options of the groebner_basis; including the protocol output. The “Run” button is then to be used to execute the Gröbner basis computation.

#### 4.2 Si n g u l a r’s pyobject extension

This approach uses Si n g u l a r’s upcoming built-in pyobject extension. For using Po l yBoRi from Si n g u l a r you must ensure, that Po l yBoRi is installed either in the python search path, or in Si n g u l a r’s binary path. PolyBoRi’s default installation target (in the system resources) will work. In case you do not have root access, you can customize the installation:

scons install PREFIX=/path/to/my/bin PYINSTALLPREFIX=/path/to/python/modules

where /path/to/my/bin is the users path, and /path/to/python/modules could be for instance Si n g u l a r’s binary directory. If you also do not have write permission to the latter, please add a custom directory to environment variable PYTHONPATH and use that directory for PYINSTALLPREFIX.

The following session illustrates how Po l yBoRi’s functionality can be accessed from Si n g u l a r:

Example

SINGULAR / Development
A Computer Algebra System for Polynomial Computations / version 3-1-2
0<
by: W. Decker, G.-M. Greuel, G. Pfister, H. Schoenemann \ Oct 2010
FB Mathematik der Universitaet, D-67653 Kaiserslautern \
// ** executing LIB/.singularrc
> python_import("polybori");
> declare_ring(list(Block("x", 10), Block("y", 10)));
<polybori.dynamic.PyPolyBoRi.Ring object at 0 xddf050>
> list polybori_ideal = (x(1)+x(2),x(2)+y(1));
> def result = groebner_basis(polybori_ideal);
> result;
[x(1) + y(1), x(2) + y(1)]
> typeof(result);
pyobject
> result[1];
x(2) + y(1)
> Auf Wiedersehen.

[next] [prev] [prev-tail] [front] [up]