Opened 8 years ago

Last modified 6 years ago

#14229 needs_work enhancement

Remove vacuous solutions from solve — at Version 6

Reported by: ppurka Owned by: burcin
Priority: major Milestone: sage-6.4
Component: symbolics Keywords:
Cc: kcrisman, jondo Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues: port to upstream
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by 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.

Change History (7)

Changed 8 years ago by ppurka

Apply to devel/sage

comment:1 Changed 8 years ago by ppurka

  • Description modified (diff)

comment:2 Changed 8 years ago by ppurka

  • Description modified (diff)

comment:3 Changed 8 years ago by kcrisman

  • Cc kcrisman added

comment:4 Changed 8 years ago by ppurka

  • Status changed from new to needs_review

comment:5 Changed 8 years ago by nbruin

This kind of change should really be made to maxima, not to sage's postprocessing of what maxima returns.

comment:6 Changed 8 years ago by ppurka

  • Description modified (diff)
  • Status changed from needs_review to needs_work
  • Work issues set to port to upstream

If someone knows how to translate this to maxima, please feel free to put this upstream. Thanks! [ I can not spend time in learning maxima right now. :( ]

Note: See TracTickets for help on using tickets.