Changes between Version 4 and Version 31 of Ticket #7660


Ignore:
Timestamp:
02/12/15 08:07:22 (7 years ago)
Author:
rws
Comment:

Let's start this fresh. To summarize, what's wanted is the following:

equations:

  • (a==b) +-*/ c same as:
    • (a==b).add_to_both_sides(c)
    • (a==b).subtract_from_both_sides(c)
    • (a==b).multiply_both_sides(c)
    • (a==b).divide_both_sides(c)
    • False if */0
  • (a==b)^c --> a^c == b^c
  • f(a==b) --> f(a==b)

relations:

  • (a<b) +- c same as:
    • (a<b).add_to_both_sides(c)
    • (a<b).subtract_from_both_sides(c)
  • (a<b) */ c same as:
    • a*/c > b*/c for c real and negative, or if c is assumed negative
    • a*/c < b*/c for c real and positive, or if c is assumed positive
    • False if c=0
  • (a<b)^c --> (a<b)^c
  • f(a<b) --> f(a<b)

Question: Real or: if coerced to the reals successfully? A followup extension would be like Maxima's ineq package, i.e., ask before doing a sign switch.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #7660

    • Property Status changed from new to needs_work
    • Property Authors changed from to Burcin Erocal, Ralf Stephan
    • Property Summary changed from arithmetic with inequalities confusing to arithmetic with equations and inequalities confusing
    • Property Branch changed from to u/rws/ticket/7660
    • Property Milestone changed from sage-5.11 to sage-6.4
    • Property Keywords inequality solver maxima added
    • Property Commit changed from to 30cc86077172f9e57c6b5df06b40158e17e2320d
  • Ticket #7660 – Description

    v4 v31  
     1Equations and relations should behave like this:
     2equations:
     3 * `(a==b) +-*/ c` same as:
     4   - `(a==b).add_to_both_sides(c)`
     5   - `(a==b).subtract_from_both_sides(c)`
     6   - `(a==b).multiply_both_sides(c)`
     7   - `(a==b).divide_both_sides(c)`
     8   - `False` if `*/0`
     9 * `(a==b)^c` --> `a^c == b^c`
     10 * `f(a==b)` --> `f(a==b)`
     11relations:
     12 * `(a<b) +- c` same as:
     13   - `(a<b).add_to_both_sides(c)`
     14   - `(a<b).subtract_from_both_sides(c)`
     15 * `(a<b) */ c` same as:
     16   - `a*/c > b*/c` for `c` real and negative, or if `c` is assumed negative
     17   - `a*/c < b*/c` for `c` real and positive, or if `c` is assumed positive
     18   - `False` if `c=0`
     19 * `(a<b)^c` --> `(a<b)^c`
     20 * `f(a<b)`  --> `f(a<b)`
     21
     22Original description:
     23
    124From the following sage-devel thread:
    225