I'm trying to use Sage to determine if a collection of (polynomial) inequalities has a solution or not. Ideally, I think I should use qepcad but I am having problems getting it to install. I thought I would try to see if standalone Sage would do the trick and began working with the solve function to get familiar with it. Already I'm running into very weird results. For example I run the following code:

x,y = var('x,y')
circ = x**2 + y**2 == 1
line = y == x


Now, if I execute

solve([circ, line], x)


it returns [] instead of the two solutions I expect. Furthermore, the code

assume(x,'real')
assume(y,'real')


is expected to return no solutions but instead it returns [[y - 1 > 0, x^2 + y^2 - 1 == 0]].

I must be doing something wrong but I can't figure out what it is. Thanks.

edit retag close merge delete

Could you please tell us which problems you encountered in installing qepcad ?

Sort by » oldest newest most voted

Regarding your first issue, you could try:

sage: solve([circ, line], [x,y])
[[x == -1/2*sqrt(2), y == -1/2*sqrt(2)], [x == 1/2*sqrt(2), y == 1/2*sqrt(2)]]


Regarding your second issue, Sage reports the inequations because it is not able to solve the simple system of inequalities. Indeed, qepcad is able to decide that there is no solution:

sage: qf = qepcad_formula
sage: F = qf.and_([circ, badIneq]) ; F
[x^2 + y^2 = 1 /\ y > 1]
FALSE
FALSE


You should be able to install qepcad with the command (in a terminal)

sage -i qepcad


If this does not work, you should provide some informations on your system.

You could also have a look at sympy, which is installed in Sage: https://docs.sympy.org/latest/modules...

more