DiscriminantVariety - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim





compute the discriminant variety of a parametric polynomial system


Calling Sequence





Calling Sequence

DiscriminantVariety(sys, vars, pars)

DiscriminantVariety(eqs, ineqs, vars, pars)




list of equations and strict inequalities between polynomials with rational coefficients



list of names; the indeterminates



(optional) list of names; the parameters



list of polynomials f with rational coefficients, representing equations of the form f=0



list of polynomials g with rational coefficients, representing constraint inequalities of the form 0<g



The DiscriminantVariety(sys,vars,pars) calling sequence computes a discriminant variety of the system sys of equations and inequalities with respect to the indeterminates vars and the parameters pars.


The DiscriminantVariety(eqs,ineqs,vars,pars) calling sequence computes a discriminant variety of the system



of equations and inequalities with respect to the indeterminates vars and the parameters pars.


The notion of discriminant variety is a generalization of the discriminant of a univariate polynomial, describing all the critical points of the system, including singularities, solutions of multiplicity greater than 1, and solutions at . It is a subset of the parameter space of lower dimension. See the article by D. Lazard and F. Rouillier in the References section below for details.


A discriminant variety has the following property: It divides the parameter space into open, full-dimensional cells such that the number of solutions of the system sys is constant for parameter values chosen from the same open cell. See CellDecomposition.


The input system must satisfy the following properties:


There are at least as many equations as indeterminates.


At least one and at most finitely many complex solutions exist for almost all complex parameter values (that is, the system is generically solvable and generically zero-dimensional).


For almost all complex parameter values, there are no solutions of multiplicity greater than 1 (that is, the system is generically radical). In particular, the input equations are square-free.


An error occurs if one of these conditions is violated.


The result is returned as a list of lists of polynomials in pars such that the discriminant variety is the union of the set of solutions of the polynomials in each inner list.


If pars is not specified, it defaults to all the names in sys that are not indeterminates.


This command will attempt to find a minimal discriminant variety, but it may return a proper superset in the case that it does not succeed.


The discriminant variety is computed using Groebner basis techniques.


This command is part of the RootFinding[Parametric] package, so it can be used in the form DiscriminantVariety(..) only after executing the command with(RootFinding[Parametric]). However, it can always be accessed through the long form of the command by using RootFinding[Parametric][DiscriminantVariety](..).






The discriminant variety in this first example is a&comma;b&comma;c&colon;a&equals;0orb&equals;corc&equals;0.  

The case a=0 gives a solution of the first equation at . In the case b=c, the second and third equations coincide and therefore the system becomes underdetermined and has infinitely many solutions. Finally, the case c=0 corresponds to a boundary case for the inequality 0<c.

In the following univariate example, compute the well-known discriminant of a quadratic polynomial.




The next example illustrates the alternate calling sequence.




The next system has a solution only if a=b; it is not generically solvable.


Error, (in RootFinding:-Parametric:-DiscriminantVariety) cannot solve the system: there is a nontrivial relation between the parameters, a-b

This system has solutions of multiplicity greater than 1 for all parameter values.


Error, (in RootFinding:-Parametric:-DiscriminantVariety) cannot solve the system: either there are infinitely many complex solutions, or there are solutions of multiplicity > 1, for almost all parameter values

This system has infinitely many solutions for all parameter values.


Error, (in RootFinding:-Parametric:-DiscriminantVariety) cannot solve the system: there are infinitely many complex solutions, for almost all parameter values

The following example represents 2 lines and 2 points in space. It has more equations than indeterminates.






Lazard, D., and Rouillier, F. "Solving parametric polynomial systems." Journal of Symbolic Computation, Vol. 42 No. 6 (2007): 636 - 667.


Liang, S., Gerhard, J., Jeffrey, D. J., and Moroz G., "A Package for Solving Parametric Polynomial Systems." ACM Communications in Computer Algebra, Vol. 43 No. 3 (2009): 61 - 72.


Moroz, G.  "Sur la décomposition réelle et algébrique des systèmes dépendant de paramètres." Ph.D. thesis, l'Universite de Pierre et Marie Curie, Paris, France. 2008.

See Also