I won't have a chance to look at this until after the deadline. Aaron Meurer
On Fri, Mar 27, 2015 at 10:39 AM, Sudhanshu Mishra <[email protected]> wrote: > Aaron, > > I've updated(Added more description about execution and added timeline) my > proposal on wiki as well as on melange. Please have a look and let me know > if it looks good. > > Sudhanshu Mishra. > > On Thu, Mar 26, 2015 at 5:12 AM, Aaron Meurer <[email protected]> wrote: >> >> Yep, I see them. You should be able to edit them up to the deadline. >> >> Aaron Meurer >> >> On Wed, Mar 25, 2015 at 6:24 PM, Sudhanshu Mishra <[email protected]> >> wrote: >> > I've submitted the proposals(PSF and NumFOCUS). Please confirm if it's >> > visible to you. >> > >> > Title: "SymPy: Improving assumptions in SymPy" >> > >> > Sudhanshu Mishra >> > >> > On Thu, Mar 26, 2015 at 4:28 AM, Sudhanshu Mishra <[email protected]> >> > wrote: >> >> >> >> Yeah. I'll submit them right now. I'll keep editing later. >> >> I'm submitting my proposal to PSF and NumFOCUS only as it is related to >> >> SymPy only. >> >> >> >> Sudhanshu Mishra >> >> >> >> On Thu, Mar 26, 2015 at 4:23 AM, Aaron Meurer <[email protected]> >> >> wrote: >> >>> >> >>> Don't forget to submit your proposal in Melange. I don't see it there >> >>> yet. >> >>> >> >>> Aaron Meurer >> >>> >> >>> On Wed, Mar 25, 2015 at 1:28 PM, Sudhanshu Mishra <[email protected]> >> >>> wrote: >> >>> > Thanks for pointing these out. I'm a bit slow here because of exams. >> >>> > >> >>> > >> >>> >> >> >>> >> You should also mention my approach from >> >>> >> https://github.com/sympy/sympy/pull/7925 to make the new >> >>> >> assumptions >> >>> >> read the old assumptions (add handlers). Also, technically, >> >>> >> >> >>> >> >> >>> >> >> >>> >> https://github.com/sympy/sympy/pull/2508/files#diff-e0f95401c86d07d90903363122990de0R227 >> >>> >> is a way of doing this as well. I'm undecided on which of these >> >>> >> (including adding to global assumptions) is the best. If you have a >> >>> >> preference, you should argue in the application why you think it's >> >>> >> the >> >>> >> best one. >> >>> > >> >>> > >> >>> > Seems like a good plan. I've to say that, I also like this( >> >>> > https://github.com/sympy/sympy/pull/7926 >> >>> > ) >> >>> > approach. >> >>> > But it has a blocking issue of weakref issue in the cache. >> >>> > I'm adding my views on these in my proposal. >> >>> > >> >>> >> In the execution >> >>> >> section, can you give your impression of how >> >>> >> long/hard each item would be (or maybe the timeline is the >> >>> >> appropriate >> >>> >> place to do this). >> >>> > >> >>> > >> >>> > I though of discussing this with you before writing it. Anyway, I'll >> >>> > write >> >>> > it according to me. We can always alter it later. >> >>> > >> >>> >> What is the difference between "Making API of old assumptions call >> >>> >> new >> >>> >> assumptions internally. The target would be to achieve minimum >> >>> >> ripple >> >>> >> effect throughout the codebase as the changes are made." and "Once >> >>> >> the >> >>> >> new assumption is ready to handle things, start modifying the >> >>> >> codebase >> >>> >> so that expr.is_* syntax calls the new assumptions."? >> >>> > >> >>> > >> >>> > As I've been maintaining two copies of my proposal, this one got >> >>> > duplicated >> >>> > while syncing. Sorry about that. I'll remove one of them. >> >>> > >> >>> >> Regarding the last bullet point, what exactly would the find and >> >>> >> replace >> >>> >> be? >> >>> > >> >>> > >> >>> > Replacing the use of old assumptions with the new one. >> >>> > >> >>> > >> >>> > Sudhanshu Mishra >> >>> > >> >>> > On Tue, Mar 24, 2015 at 9:43 PM, Aaron Meurer <[email protected]> >> >>> > wrote: >> >>> >> >> >>> >> You should also mention my approach from >> >>> >> https://github.com/sympy/sympy/pull/7925 to make the new >> >>> >> assumptions >> >>> >> read the old assumptions (add handlers). Also, technically, >> >>> >> >> >>> >> >> >>> >> >> >>> >> https://github.com/sympy/sympy/pull/2508/files#diff-e0f95401c86d07d90903363122990de0R227 >> >>> >> is a way of doing this as well. I'm undecided on which of these >> >>> >> (including adding to global assumptions) is the best. If you have a >> >>> >> preference, you should argue in the application why you think it's >> >>> >> the >> >>> >> best one. >> >>> >> >> >>> >> In the execution section, can you give your impression of how >> >>> >> long/hard each item would be (or maybe the timeline is the >> >>> >> appropriate >> >>> >> place to do this). >> >>> >> >> >>> >> What is the difference between "Making API of old assumptions call >> >>> >> new >> >>> >> assumptions internally. The target would be to achieve minimum >> >>> >> ripple >> >>> >> effect throughout the codebase as the changes are made." and "Once >> >>> >> the >> >>> >> new assumption is ready to handle things, start modifying the >> >>> >> codebase >> >>> >> so that expr.is_* syntax calls the new assumptions."? >> >>> >> >> >>> >> Regarding the last bullet point, what exactly would the find and >> >>> >> replace >> >>> >> be? >> >>> >> >> >>> >> Aaron Meurer >> >>> >> >> >>> >> >> >>> >> On Mon, Mar 23, 2015 at 7:52 PM, Sudhanshu Mishra >> >>> >> <[email protected]> >> >>> >> wrote: >> >>> >> > I've updated the wiki. (Still far from complete) >> >>> >> > >> >>> >> > Please provide feedback on the matter so far. >> >>> >> > >> >>> >> > Places to look at: >> >>> >> > >> >>> >> > * The Project >> >>> >> > * Execution >> >>> >> > >> >>> >> > >> >>> >> > Sudhanshu Mishra >> >>> >> > >> >>> >> > On Sun, Mar 22, 2015 at 3:10 PM, Joachim Durchholz >> >>> >> > <[email protected]> >> >>> >> > wrote: >> >>> >> >> >> >>> >> >> Am 22.03.2015 um 01:04 schrieb Aaron Meurer: >> >>> >> >>> >> >>> >> >>> On Sat, Mar 21, 2015 at 2:57 PM, Joachim Durchholz >> >>> >> >>> <[email protected]> >> >>> >> >>> wrote: >> >>> >> >>>> >> >>> >> >>>> Am 21.03.2015 um 19:54 schrieb Aaron Meurer: >> >>> >> >>>>>> >> >>> >> >>>>>> >> >>> >> >>>>>> I do not think the new assumptions should call the old >> >>> >> >>>>>> assumptions. >> >>> >> >>>>>> The >> >>> >> >>>>>> new >> >>> >> >>>>>> assumptions work by manipulating data structures, not by >> >>> >> >>>>>> executing >> >>> >> >>>>>> code. >> >>> >> >>>>> >> >>> >> >>>>> >> >>> >> >>>>> They do execute code. See sympy.assumptions.handlers. >> >>> >> >>>> >> >>> >> >>>> >> >>> >> >>>> >> >>> >> >>>> Oh. I've been thinking that that was part of the old >> >>> >> >>>> assumptions >> >>> >> >>>> system. >> >>> >> >>>> But what data is the SAT solver working with, then? >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> Currently, the known_facts >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> >> >>> (https://github.com/sympy/sympy/blob/5507c86e70f816f95f87b868615502a44cac5853/sympy/assumptions/ask.py#L329-L377). >> >>> >> >>> In my branch, everything in that file. The known_facts are >> >>> >> >>> what I >> >>> >> >>> like to call the "free" facts, in that they can be written down >> >>> >> >>> completely free of the expression they apply to. For instance, >> >>> >> >>> Implies(Q.positive, Q.real). Facts that depend on the kind of >> >>> >> >>> expression they apply to (like, if all terms in an Add are >> >>> >> >>> positive, >> >>> >> >>> then the whole expression is positive), aren't expressible >> >>> >> >>> symbolically in the current new assumptions (but they are in >> >>> >> >>> 2508). >> >>> >> >> >> >>> >> >> >> >>> >> >> Oh, I see. >> >>> >> >> >> >>> >> >> I'd want go full length towards making all rules into data >> >>> >> >> structures, >> >>> >> >> no >> >>> >> >> code execution at all (except for generic code to apply rules, >> >>> >> >> obviously). >> >>> >> >> I can't even give a hard reason for that, except that I know >> >>> >> >> from >> >>> >> >> experience that data is far easier to analyze and do something >> >>> >> >> new >> >>> >> >> and >> >>> >> >> initially unexpected than code where this is essentially >> >>> >> >> impossible. >> >>> >> >> Also, >> >>> >> >> all solvers that I know work that way. >> >>> >> >> >> >>> >> >> I don't know whether that would be a wise approach for SymPy, or >> >>> >> >> the >> >>> >> >> right >> >>> >> >> thing to do right now. >> >>> >> >> I'm slightly worried that we might want to go full length to >> >>> >> >> data-based >> >>> >> >> solving after we get the SAT solver, and then have *three* >> >>> >> >> solvers >> >>> >> >> to >> >>> >> >> deal >> >>> >> >> with (because the old assumptions system won't die that >> >>> >> >> quickly), >> >>> >> >> so I >> >>> >> >> still >> >>> >> >> see a small advantage to going that direction right now. >> >>> >> >> Downside of "right now" would be "who's going to do it" and >> >>> >> >> "that's >> >>> >> >> going >> >>> >> >> to be even more work"... so I don't know enough to have a real >> >>> >> >> position >> >>> >> >> about what's the best way forward. >> >>> >> >> >> >>> >> >> -- >> >>> >> >> You received this message because you are subscribed to the >> >>> >> >> Google >> >>> >> >> Groups >> >>> >> >> "sympy" group. >> >>> >> >> To unsubscribe from this group and stop receiving emails from >> >>> >> >> it, >> >>> >> >> send >> >>> >> >> an >> >>> >> >> email to [email protected]. >> >>> >> >> To post to this group, send email to [email protected]. >> >>> >> >> Visit this group at http://groups.google.com/group/sympy. >> >>> >> >> To view this discussion on the web visit >> >>> >> >> >> >>> >> >> >> >>> >> >> >> >>> >> >> https://groups.google.com/d/msgid/sympy/550E8E1E.3060701%40durchholz.org. >> >>> >> >> >> >>> >> >> For more options, visit https://groups.google.com/d/optout. >> >>> >> > >> >>> >> > >> >>> >> > -- >> >>> >> > You received this message because you are subscribed to the >> >>> >> > Google >> >>> >> > Groups >> >>> >> > "sympy" group. >> >>> >> > To unsubscribe from this group and stop receiving emails from it, >> >>> >> > send >> >>> >> > an >> >>> >> > email to [email protected]. >> >>> >> > To post to this group, send email to [email protected]. >> >>> >> > Visit this group at http://groups.google.com/group/sympy. >> >>> >> > To view this discussion on the web visit >> >>> >> > >> >>> >> > >> >>> >> > >> >>> >> > https://groups.google.com/d/msgid/sympy/CAFW_KCS-B%3D2_bs%2BKJakG3fBucmPVB%2BsFfyYffF8G-RfWvndy%2Bg%40mail.gmail.com. >> >>> >> > >> >>> >> > For more options, visit https://groups.google.com/d/optout. >> >>> >> >> >>> >> -- >> >>> >> You received this message because you are subscribed to the Google >> >>> >> Groups >> >>> >> "sympy" group. >> >>> >> To unsubscribe from this group and stop receiving emails from it, >> >>> >> send >> >>> >> an >> >>> >> email to [email protected]. >> >>> >> To post to this group, send email to [email protected]. >> >>> >> Visit this group at http://groups.google.com/group/sympy. >> >>> >> To view this discussion on the web visit >> >>> >> >> >>> >> >> >>> >> https://groups.google.com/d/msgid/sympy/CAKgW%3D6LRH3j2ofpbg_PvH0Qf0qoRKJdebk2mL0%2BXEjj5x5vMfg%40mail.gmail.com. >> >>> >> For more options, visit https://groups.google.com/d/optout. >> >>> > >> >>> > >> >>> > -- >> >>> > You received this message because you are subscribed to the Google >> >>> > Groups >> >>> > "sympy" group. >> >>> > To unsubscribe from this group and stop receiving emails from it, >> >>> > send >> >>> > an >> >>> > email to [email protected]. >> >>> > To post to this group, send email to [email protected]. >> >>> > Visit this group at http://groups.google.com/group/sympy. >> >>> > To view this discussion on the web visit >> >>> > >> >>> > >> >>> > https://groups.google.com/d/msgid/sympy/CAFW_KCRYCx379a3YW82QyJF8gEMnKgfABSVEuiGi3izj%3Dx9ELQ%40mail.gmail.com. >> >>> > >> >>> > For more options, visit https://groups.google.com/d/optout. >> >>> >> >>> -- >> >>> You received this message because you are subscribed to the Google >> >>> Groups >> >>> "sympy" group. >> >>> To unsubscribe from this group and stop receiving emails from it, send >> >>> an >> >>> email to [email protected]. >> >>> To post to this group, send email to [email protected]. >> >>> Visit this group at http://groups.google.com/group/sympy. >> >>> To view this discussion on the web visit >> >>> >> >>> https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2Br6CtjEQ7j59%3D5d_TiaQ7Q_%2BOn%3DwFpGX6WE4SSg8AdaQ%40mail.gmail.com. >> >>> For more options, visit https://groups.google.com/d/optout. >> >> >> >> >> > >> > -- >> > You received this message because you are subscribed to the Google >> > Groups >> > "sympy" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> > an >> > email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at http://groups.google.com/group/sympy. >> > To view this discussion on the web visit >> > >> > https://groups.google.com/d/msgid/sympy/CAFW_KCQaURSuFkheAySeqUrhw%3DRdy6Uqtr%3DVvY45zq%2B0PbzRmw%40mail.gmail.com. >> > >> > For more options, visit https://groups.google.com/d/optout. >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sympy" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> Visit this group at http://groups.google.com/group/sympy. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/sympy/CAKgW%3D6KfXFCw22PJfc6RZig5ydr2reTR%2BpweR1MeBEX6SrZs9w%40mail.gmail.com. >> For more options, visit https://groups.google.com/d/optout. > > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/CAFW_KCTc03b0U9Edm%3Dh2qMQUgGu8%2BALMnrwFidn-Fh0PiJUwbw%40mail.gmail.com. > > For more options, visit https://groups.google.com/d/optout. -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAKgW%3D6JMZh6O16%2BvjcW52ESRRAjcczguL2Rouk3k7jubHC0aoA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
