### D.2.4 grobcov_lib

Library:
  grobcov.lib
Purpose:

  "Groebner Cover for parametric ideals.", Comprehensive Groebner Systems, Groebner Cover, Canonical Forms, Parametric Polynomial Systems, Automatic Deduction of Geometric Theorems, Dynamic Geometry, Loci, Envelope, Constructible sets. See: A. Montes A, M. Wibmer, "Groebner Bases for Polynomial Systems with parameters", Journal of Symbolic Computation 45 (2010) 1391-1425. (https://www.mat.upc.edu//en/people/antonio.montes/).

Important:
  Recently published book:

  A. Montes. " The Groebner Cover":
  Springer, Algorithms and Computation in Mathematics 27 (2019) ISSN 1431-1550
  ISBN 978-3-030-03903-5
  ISBN 978-3-030-03904-2 (e-Book)
  Springer Nature Switzerland AG 2018

  https://www.springer.com/gp/book/9783030039035

  The book can also be used as a user manual of all
  the routines included in this library.
  It defines and proves all the theoretic results used in the library, and shows examples of all the routines. There are many previous papers related to the subject, and the book actualices all the contents.

Authors:
  Antonio Montes (Universitat Politecnica de Catalunya), Hans Schoenemann (Technische Universitaet Kaiserslautern).

Overview:
  In 2010, the library was designed to contain
  Montes-Wibmer's algorithm for computing the
  Canonical Groebner Cover of a parametric ideal.
  The central routine is grobcov.
  Given a parametric ideal, grobcov outputs
  its Canonical Groebner Cover, consisting of a set
  of triplets of (lpp, 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 representation.
  The segments cover the whole parameter space.
  The output is canonical, it only depends on the
  given parametric ideal and the monomial order,
  because the segments have
  different lpph of the homogenized system.
  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. Its existence was proved for the
  first time by Michael Wibmer "Groebner bases for
  families of affine or projective schemes",
  JSC, 42,803-834 (2007).

  grobcov uses a first algorithm cgsdr that outputs a disjoint reduced Comprehensive Groebner System
  with constant lpp. For this purpose, in this library, the implemented algorithm is Kapur-Sun-Wang
  algorithm, because it is actually the most efficient algorithm known for this purpose.
  D. Kapur, Y. Sun, and D.K. Wang "A New Algorithm
  for Computing Comprehensive Groebner Systems".
  Proceedings of ISSAC'2010, ACM Press, (2010), 29-36.

  The library has evolved to include new applications of the Groebner Cover, and new theoretical developments have been done.

  A routine locus has been included to compute
  loci of points, and determining the taxonomy of the components.
  Additional routines to transform the output to string (locusdg, locusto) are also included and used in the Dynamic Geometry software GeoGebra. They were
  described in:
  M.A. Abanades, F. Botana, A. Montes, T. Recio:
  "An Algebraic Taxonomy for Locus Computation in
  Dynamic Geometry".
  Computer-Aided Design 56 (2014) 22-33.

  Routines for determining the generalized envelope of a family of hypersurfaces (envelop, AssocTanToEnv,
  FamElemsToEnvCompPoints) are also included.

  It also includes procedures for
  Automatic Deduction of Geometric Theorems (ADGT).

  The actual version also includes a
  routine (ConsLevels) for computing the canonical form of a constructible set, given as a union of locally closed sets. It determines the canonical
  levels of a constructible set. It is described in:
  J.M. Brunat, A. Montes, "Computing the canonical
  representation of constructible sets".
  Math. Comput. Sci. (2016) 19: 165-178.
  A complementary routine Levels transforms the output of ConsLevels into the proper locally closed sets
  forming the levels of the constructible.
  Antoher complementary routine Grob1Levels
  has been included to select the locally closed sets of the segments of the grobcov that correspond to basis different from 1, add them together and return
  the canonical form of this constructible set.
  More recently (2019) given two locally closed sets
  in canonical form the new routine DifConsLCSets
  determines a set of locally closed sets equivalent to the difference them. The description of the
  routine is submitted to the Journal of Symbolic Computation. This routine can be also used internally by ADGT
  with the option "neg",1 . With this option
  DifConsLCSets is used for the negative
  hypothesis and thesis in ADGT.

  The last version N11 (2021) has improved the routines for locus and allows to determine a parametric locus.

  This version was finished on 1/2/2021,

Notations:
  Before calling any routine of the library grobcov, the user must define the ideal Q[a][x], and all the input polynomials and ideals defined on it.
  Internally the routines define and use also other
  ideals: Q[a], Q[x,a] and so on.

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 can also be used independently if only a CGS is required. It is a more efficient routine than buildtree (the own routine of 2010 that is no more available). Now, Kapur-Sun-Wang (KSW) algorithm is used.
> D.2.4.3 pdivi |  | Performs a pseudodivision of a parametric polynomial by a parametric ideal.
> D.2.4.4 pnormalf |  | Reduces a parametric polynomial f over V(E) V(N). E is the null ideal and N the non-null ideal over the parameters.
> D.2.4.5 Crep |  | Computes the canonical C-representation of V(N) V(M). It can be called in Q[a] or in Q[a][x], but the ideals N,M can only contain parameters of Q[a].
> D.2.4.6 Prep |  | Computes the canonical P-representation of V(N) V(M). It can be called in Q[a] or in Q[a][x], but the ideals N,M can only contain parameters of Q[a].
> D.2.4.7 PtoCrep |  | Starting from the canonical Prep of a locally closed set computes its Crep.
> D.2.4.8 extendpoly |  | Given the generic representation f of an I-regular function F defined by poly f on V(p) V(q) it returns its full representation.

> D.2.4.9 extendGC

> When the grobcov of an ideal has been computed with the default option ("ext",0) and the explicit option ("rep",2) (which is not the default), then one can call extendGC(GC) (and options) to obtain the full representation of the bases. With the default option ("ext",0) only the generic representation of the bases is computed, and one can obtain the full representation using extendGC.

> D.2.4.10 locus

> Special routine for determining the geometrical locus of points verifying given conditions. To use it, the ring R=(0,a1,..,ap,x1,..xn),(u1,..um,v1..vn),lp; must be declared, where (a1,..ap) are parameters (optative), (x1,..xn) are the variabes of the tracer point, (u1,..,um) are auxiliary variables, (v1,..,vn) are the mover variables. Then the input to locus must be the parametric ideal F defined in R. locus provides all the components of the locus and determines their taxonomy, that can be: "Normal", "Special", "Accumulation", "Degenerate". The mover variables are the last n variables. The user can ventually restrict them to a subset of them for geometrical reasons but this can change the true taxonomy. locus also allows to determine a parmetric locus depending on p parameters a1,..ap using then the option "numpar",p.

> D.2.4.11 locusdg |  | Is a special routine that determines the "Relevant" components of the locus in dynamic geometry. It is to be called to the output of locus and selects from it the "Normal", and"Accumulation" components.
> D.2.4.12 envelop |  | Special routine for determining the envelop of a family of hyper-surfaces F in Q[x1,..,xn][t1,..,tm] depending on an ideal of constraints C in Q[t1,..,tm]. It computes the locus of the envelop, and detemines the different components as well as their taxonomies: "Normal", "Special", "Accumulation", "Degenerate". (See help for locus).
> D.2.4.13 locusto |  | Transforms the output of locus, locusdg, envelop into a string that can be reed from different computational systems.
> D.2.4.14 stdlocus |  | Simple procedure to determine the components of the locus, alternative to locus that uses only standard GB computation. Cannot determine the taxonomy of the irreducible components.
> D.2.4.15 AssocTanToEnv |  | Having computed an envelop component E of a family of hyper-surfaces F, with constraints C, it returns the parameter values of the associated tangent hyper-surface of the family passing at one point of the envelop component E.
> D.2.4.16 FamElemsAtEnvCompPoints |  | Having computed an envelop component E of a family of hyper-surfaces F, with constraints C, it returns the parameter values of all the hyper-surfaces of the family passing at one point of the envelop component E.
> D.2.4.17 discrim |  | Determines the factorized discriminant of a degree 2 polynomial in the variable x. The polynomial can be defined on any ring where x is a variable. The polynomial f can depend on parameters and variables.
> D.2.4.18 WLemma |  | Given an ideal F in Q[a][x] and an ideal A in Q[a], it returns the list (lpp,B,S) were B is the reduced Groebner basis of the specialized F over the segment S, subset of V(A) with top A, determined by Wibmer's Lemma. S is determined in P-representation (or optionally in C-representation). The basis is given by I-regular functions.
> D.2.4.19 WLCGS |  | Given a parametric ideal F in Q[a][x] determines a CGS in full-representation using WLemma
> D.2.4.20 intersectpar |  | Auxiliary routine. Given a list of ideals definend on K[a][x] it determines the intersection of all of them in K[x,a]
> D.2.4.21 ADGT |  | Given 4 ideals H,T,H1,T1 in Q[a][x], corresponding to a problem of Automatic Deduction of Geometric Theorems, it determines the supplementary conditions over the parameters for the Proposition (H and not H1) => (T and not T1) to be a Theorem. If H1=1 then H1 is not considered, and analogously for T1.
> D.2.4.22 ConsLevels |  | Given a list of locally colsed sets, constructs the canonical representation of the levels of A an its complement.
> D.2.4.23 Levels |  | Transforms the output of ConsLevels into the proper Levels of the constructible set.
> D.2.4.24 Grob1Levels |  | From the output of grobcov, Grob1Levels selects the segments of G with basis different from 1 (having solutions), and determines the levels of the constructible set formed by them.
> D.2.4.25 DifConsLCSets |  | given the canonical forms of the constructible sets A and B, A=[a1,a2,..,ak], B=[b1,b2,...,bj], DifConsLCSets returns a list of locally closed sets of the set A minus B, that can be transformed into the canonical form of A minus B applying ConsLevels.

See also: compregb_lib.

User manual for Singular version 4.4.1, 2025, generated by texi2html.