#7325: Sage cannot solve inequalities
-----------------------------------+----------------------------------------
   Reporter:  robert.marik         |       Owner:  tbd                          
         
       Type:  enhancement          |      Status:  needs_work                   
         
   Priority:  major                |   Milestone:  sage-4.2.1                   
         
  Component:  algebra              |    Keywords:  relation, symbolics, 
inequality, solve
Work_issues:                       |      Author:  Robert Marik                 
         
   Reviewer:  Karl-Dieter Crisman  |      Merged:                               
         
-----------------------------------+----------------------------------------
Changes (by newvalueoldvalue):

  * status:  needs_review => needs_work
  * reviewer:  => Karl-Dieter Crisman
  * author:  => Robert Marik


Comment:

 Please note that #7155 also was about this - always check if a ticket
 already exists.  I have closed this.

 Does this depend (for instance, for parsing 1#0) on any other tickets?  It
 is usually best if one builds on other Sage capacity, current or
 forthcoming.

 REVIEW:
 The basic idea behind this ticket is good.  There is a new global
 solve_ineq (which could eventually be called from solve if it detects
 inequalities?), and two different inequality solvers for the univariate
 and multivariate cases.  So in general, this is on the right track.

 However, the implementation of the univariate solve is nearly all in one
 gigantic Maxima/Lisp command, as far as I can tell, and that makes it
 incredibly hard to read for the typical Sage/Python programmer.  It is not
 clear why the various options are there, nor what they do, because of
 this.  At the very least, the one gigantic command should be separated
 into smaller pieces, with comments, so that any future person can figure
 them out.

 The output style makes sense, but many more examples would be welcome.  Is
 it possible that some of the stuff in the first example could be made
 easier using a little bit of Maxima parsing (e.g.,
 sage.calculus.calculus.from_string_to_symbolic or whatever)?

 Also, there are some nonstandard things.  *opts should probably be made
 more explicit - what are the options or keywords, exactly, that are
 expected?  All the line breaks make the code harder, not easier to read;
 Pythonic indentation should be used.  There are also some typos or
 slightly ungrammatical English (which is fine for a first patch, but a
 reviewer should eventually check), and the documentation is not in the
 normal markup format (see other examples, including in the same file, for
 prototypes, including blank lines and the :: stuff, or see the Sage
 developer's [http://www.sagemath.org/doc/developer/ guide]).

 All that said, assuming it works (which I trust it does, but am not
 currently checking since I can't understand the code), this will be a
 valuable addition to Sage, particularly since it has a framework that will
 allow addition of other inequality solving options - such as the upcoming
 improved to_poly_solve of Maxima, or one or more of the various linear
 programming solvers now included in Sage per default.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7325#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-trac?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to