Changes between Initial Version and Version 3 of Ticket #23138


Ignore:
Timestamp:
06/15/17 06:20:59 (2 years ago)
Author:
rws
Comment:

The "more persistent domains() database" exists already in part as GiNaC/Pynac info flags that are set in parallel to Maxima's assumptions. They can be queried with ex.is_real() etc...What is not saved in Pynac are less elementary assumptions like x>1, y+z==pi. Now instead of caching all assumptions in a database (either Python or C++) and sending to Maxima on demand in bulk, another possibility could be, as you say, to just remove the assume calls on variable creation because they are all elementary assumptions. Then when Maxima needs them for integration, solving etc take the information from Pynac and do assumes for just those variables that are needed. Am I missing something?

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #23138

    • Property Cc rws egourgoulhon added
    • Property Authors changed from schymans to
  • Ticket #23138 – Description

    initial v3  
    1 As described in https://groups.google.com/forum/#!topic/sage-devel/jN6inWPyElM, `assume()` takes more and more time the bigger the `assumptions()` data base is. This causes a lot of slow-downs when e.g. declaring variables with a `domain` argument. Nils Bruin suggested that this is due to excessive interactions with the Maxima library and Ralf Stefan suggested that the assumptions could be cached and only sent to Maxima when needed, to speed up the process.
     1As described in https://groups.google.com/forum/#!topic/sage-devel/jN6inWPyElM, `assume()` takes more and more time the bigger the `assumptions()` data base is. This causes a lot of slow-downs when e.g. declaring variables with a `domain` argument. Nils Bruin suggested that this is due to excessive interactions with the Maxima library and Ralf Stephan suggested that the assumptions could be cached and only sent to Maxima when needed, to speed up the process.