MathGroup Archive 2006

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Determining continuity of regions/curves from inequalities

  • To: mathgroup at
  • Subject: [mg67290] Re: [mg67271] Re: [mg67216] Determining continuity of regions/curves from inequalities
  • From: Andrzej Kozlowski <akoz at>
  • Date: Fri, 16 Jun 2006 00:27:12 -0400 (EDT)
  • Sender: owner-wri-mathgroup at

On 15 Jun 2006, at 16:25, Carl K. Woll wrote:

> Bonny Banerjee wrote:
>> Is there an easy way in Mathematica to determine whether the  
>> region or curve
>> formed by a system of inequalities is continuous or not?
>> For example, the output of some function (e.g. Reduce) might be as  
>> follows:
>> x>2 && y>0
>> which forms a continuous region. Again, the following output
>> (x<2 && y<0) || (x>2 && y>0)
>> is not continuous. Similarly, for curves.
>> Given such a system of inequalities, how to determine whether the
>> region/curve it forms is continuous or not? Or in other words, if  
>> I pick any
>> two random points, say P1 and P2, lying on the output curve/ 
>> region, does
>> there exist a continuous path lying entirely within the output  
>> curve/region
>> from P1 to P2?
>> Any help will be appreciated.
>> Thanks,
>> Bonny.
> The function SemialgebraicComponents in the package
> Algebra`AlgebraicInequalities may help. From the help browser:
> "The package provides a function for solving systems of strong
> polynomial inequalities in one or more unknowns. To be precise,
> SemialgebraicComponents[ineqs, vars] gives a finite set of  
> solutions of
> the system of inequalities. That is, within the set of solutions, any
> solution can be connected by a continuous path to a solution in the
> finite set. The variable ineqs is a list of strong inequalities, where
> both sides of each inequality are polynomials in variables vars with
> rational coefficients. In other words, SemialgebraicComponents[ineqs,
> vars] gives at least one point in each connected component of the open
> semialgebraic set defined by inequalities ineqs. "
> Needs["Algebra`AlgebraicInequalities`"]
> First example: x>2 && y>0
> SemialgebraicComponents accepts a list of inequalities:
> In[6]:=
> SemialgebraicComponents[{x>2,y>0},{x,y}]
> Out[6]=
> {{3,1}}
> Only one point is returned, so the region is connected.
> Second example: (x<2 && y<0) || (x>2 && y>0)
> This example is not a list of inequalities due to the Or. However, in
> this case it is easy to construct an equivalent inequality that
> encompasses the same region:
> In[5]:=
> SemialgebraicComponents[(x-2)y>0,{x,y}]
> Out[5]=
> {{0,-1},{3,1}}
> There are two components, so the region is not connected.
> Carl Woll
> Wolfram Research

This is right, but the package relies on Cylindrical Algebraic  
Decomposition and will return at least one point in each component,  
but usually more than that. So just like my first answer, it only  
provides an upper bound. Of course when the upper bound is 1 we know  
that the region is connected.

Andrzej Kozlowski

  • Prev by Date: Re: Getting the (correct) roots of a polynomial
  • Next by Date: Re: Unexpected condition on convergence of integral
  • Previous by thread: Re: Determining continuity of regions/curves from inequalities
  • Next by thread: new slide template: how change?