Skip to content

Remove vacuous solutions from solve #14229

Open
@ppurka

Description

@ppurka

Sometimes solve and its variants tend to report vacuous solutions. A recent one from ask.sagemath is the following:

sage: x,y = var('x,y')
sage: solve([x^2*y^2 <= x^2*y, x^2*y^2 > x^2*y],[x,y])
[[x == 0, 1 < y, 0 != 0], [x == 0, y < 0, 0 != 0]]

Shouldn't we remove these meaningless solutions? The attached patch contains a potential solution. If it seems reasonable, then similar changes could be introduced in solve_ineq.

The output of the above command after this patch is as expected:

sage: x,y = var('x,y')
sage: solve([x^2*y^2 <= x^2*y, x^2*y^2 > x^2*y],[x,y])
[]

If you can translate this to maxima proper, please feel free to do so and submit a patch upstream.


Workaround: call maxima_calculus("domain: real") before solve (see comment 12).

CC: @kcrisman @jondo

Component: symbolics

Issue created by migration from https://trac.sagemath.org/ticket/14229

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions