Opened 16 months ago

Last modified 5 weeks ago

#31958 new enhancement

Meta-ticket: Use the SymPy assumptions facility

Reported by: Matthias Köppe Owned by:
Priority: major Milestone: sage-9.8
Component: symbolics Keywords:
Cc: Eric Gourgoulhon Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by Matthias Köppe)

SymPy has a clean and general design for assumptions. https://docs.sympy.org/latest/modules/assumptions/index.html

We should connect to it. Based on #31926 (#24171, #31931, #31938), we should be able to express everything in it that Sage's assumptions can do, so perhaps we can replace what we have in Sage completely by SymPy.

Tickets:

  • #30075 Refactor assumptions (move maxima-specific things to maxima interface)

Symptoms:

  • #27998 Solving a single equation for multiple variables doesn't work with assumptions
  • #29938 comparison with infinity does not take assumptions into account
  • #25972 solve does not obey assumptions for inequalities
  • #24334 sympy symbol -> SR drops assumptions
  • #30793 Sage may ignore the imaginary part of variables not explicitly declared complex
  • see also https://trac.sagemath.org/wiki/symbolics

Change History (9)

comment:1 Changed 16 months ago by Eric Gourgoulhon

Cc: Eric Gourgoulhon added

comment:2 Changed 15 months ago by Matthias Köppe

Description: modified (diff)

comment:3 Changed 15 months ago by Matthias Köppe

Description: modified (diff)

comment:4 Changed 15 months ago by Matthias Köppe

Milestone: sage-9.4sage-9.5

comment:5 Changed 14 months ago by Matthias Köppe

Description: modified (diff)

comment:6 Changed 13 months ago by Matthias Köppe

One issue with using sympy for the implementation is that loading it would add quite a bit to the start up time:

$ time ./sage -c quit

real	0m1.620s
user	0m1.249s
sys	0m0.450s
$ time ./sage -c "import sympy"

real	0m1.980s
user	0m1.570s
sys	0m0.514s

comment:7 Changed 10 months ago by Matthias Köppe

Milestone: sage-9.5sage-9.6

comment:8 Changed 6 months ago by Matthias Köppe

Milestone: sage-9.6sage-9.7

comment:9 Changed 5 weeks ago by Matthias Köppe

Milestone: sage-9.7sage-9.8
Note: See TracTickets for help on using tickets.