|
D.2.4 grobcov_lib
- Library:
- grobcov.lib
- Purpose:
- Groebner Cover for parametric ideals.
- Purpose:
- Comprehensive Groebner Systems, Groebner Cover, Canonical Forms.
The library contains Montes's algorithms to compute the
canonical Groebner cover of a parametric ideal as described in
the paper:
Montes A., Wibmer M.,
Groebner Bases for Polynomial Systems with parameters.
Journal of Symbolic Computation 45 (2010) 1391-1425.
The central routine is grobcov. Given a parametric
ideal, grobcov outputs its canonical Groebner cover, consisting
of a set of pairs of (basis, segment). The basis (after
normalization) is the reduced Groebner basis for each point
of the segment. The segments are disjoint, locally closed
and correspond to constant lpp (leading power product)
of the basis, and are represented in canonical prime
representation. The segments are disjoint and cover the
whole parameter space. The output is canonical, it only
depends on the given parametric ideal and the monomial order.
This is much more than a simple comprehensive Groebner system.
The algorithm grobcov allows options to solve partially the
problem when the whole automatic algorithm does not finish
in reasonable time.
grobcov uses a first algorithm cgsdr that outputs a disjoint
reduced comprehensive Groebner system with constant lpp.
cgsdr can be called directly if only a disjoint reduced
comprehensive Groebner system is required.
Two other routines: gencase1 and multigrobcov can be used
in problems with basis of the generic case equal to 1
(for example in automatic geometric theorem discovering)
that allow to obtain partial results even when grobcov does
not finish in reasonable time.
For completeness, the library also contains the algorithms
with similar purposes contained in the old library redcgs.lib.
These algorithms are, in general, less efficient and do not
ensure a canonical results, even if they are similar to the
results obtained with grobcov.
The old routines are no more recommended and remain in
this library for didactic purposes. These are
cgsdrold, grobcovold, buildtreetoMaple, cantreetoMaple.
- Authors:
- Antonio Montes , Hans Schoenemann.
- Overview:
- see "Groebner Bases for Polynomial Systems with parameters"
Montes A., Wibmer M.,
Journal of Symbolic Computation 45 (2010) 1391-1425.
(http://www-ma2.upc.edu/~montes/).
- Notations:
- All given and determined polynomials and ideals are in the
basering Q[a][x]; (a=parameters, x=variables)
After defining the ring, the main routines
grobcov, cgsdr, gencase1, multigrobcov
generate the global rings
@R (Q[a][x]),
@P (Q[a]),
@RP (Q[x,a])
that are used inside and killed before the output.
If you want to use some internal routine you must
create before the above rings by calling setglobalrings();
because most of the internal routines use these rings.
The call to the basic routines grobcov, cgsdr, gencase1, multigrobcov
or even the older grobcovold, cgsdrold will kill these rings.
Procedures:
D.2.4.1 grobcov | | Is the basic routine giving the canonical Groebner cover of the parametric ideal F. This routine accepts many options, that allow to obtain results even when the canonical computation does not finish in reasonable time. |
D.2.4.2 cgsdr | | Is the procedure for obtaining a first disjoint, reduced comprehensive Groebner system that is used in grobcov, but that can be used independently if only the CGS is required. It is a more efficient version of buildtree that does not output the complete discussion tree but only the terminal vertices giving the disjoint reduced comprehensive Groebner system. |
D.2.4.3 gencase1 | | Returns the segment of the generic case when his basis is 1. This is useful for automatic discovering of geometrical theorems, as it gives the components where a solution exists and is much more efficient than the complete computation of grobcov. |
D.2.4.4 multigrobcov | | In problems like automatic discovery of theorems, when grobcov does not give the answer in reasonable time, and the generic case is expected to have basis 1, one can try with multigrobcov procedure to obtain an answer over the different irreducible components: the generic case with basis 1, and the components not corresponding to the generic case. To deduce from its result the true Groebner cover one must discuss theoretically in which segment must be located the intersecting parts in the different irreducible components. |
D.2.4.5 setglobalrings | | Generates the global rings @R, @P and @PR that are respectively the rings Q[a][x], Q[a], Q[x,a]. It is called inside each of the fundamental routines of the library: grobcov, cgsdr, gencase1, multigrobcov, as well as by the old routines cgsdrold, grobcovold and killed before the output. If the user want to use some other internal routine, then setglobalrings() is to be called before, as the rings @R, @P and @RP are needed in most of them. globally, and more internal routines can be used, but These rings are destroyed by the call to any of the basic routines. |
D.2.4.6 pdivi | | Performs a pseudodivision of a parametric polynomial by a parametric ideal. |
D.2.4.7 pnormalform | | Reduces a parametric polynomial f by a reduced-representation (N,W) of null and non-null conditions over the parameters. Before using it setglobalrings() must be called. Also included from the old library redcgs.lib the following routines |
D.2.4.8 cgsdrold | | Similar to cgsdr using the algorithm buildtree of the old library. |
D.2.4.9 grobcovold | | Similar to grobcov with the algorithms of the old library. |
D.2.4.10 buildtreetoMaple | | Writes into a file the output of cgsdrold called with option ('old',0) into a text file that is Maple readable and can be plotted in Maple using the tplot routine of the library dpgb. |
D.2.4.11 cantreetoMaple | | Writes into a text file the output of grobcovold called with option ('out',1), that is readable in Maple and can be plotted using the routine plotcantree of the Maple library dpgb. |
See also:
compregb_lib.
|