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 <mrsu...@gmail.com> 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 <asmeu...@gmail.com> 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 <mrsu...@gmail.com>
>> 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 <asmeu...@gmail.com>
>> 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 <mrsu...@gmail.com>
>> >> 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 <j...@durchholz.org
>> >
>> >> > wrote:
>> >> >>
>> >> >> Am 22.03.2015 um 01:04 schrieb Aaron Meurer:
>> >> >>>
>> >> >>> On Sat, Mar 21, 2015 at 2:57 PM, Joachim Durchholz <
>> j...@durchholz.org>
>> >> >>> 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 sympy+unsubscr...@googlegroups.com.
>> >> >> To post to this group, send email to sympy@googlegroups.com.
>> >> >> 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 sympy+unsubscr...@googlegroups.com.
>> >> > To post to this group, send email to sympy@googlegroups.com.
>> >> > 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 sympy+unsubscr...@googlegroups.com.
>> >> To post to this group, send email to sympy@googlegroups.com.
>> >> 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 sympy+unsubscr...@googlegroups.com.
>> > To post to this group, send email to sympy@googlegroups.com.
>> > 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 sympy+unsubscr...@googlegroups.com.
>> To post to this group, send email to sympy@googlegroups.com.
>> 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 sympy+unsubscr...@googlegroups.com.
To post to this group, send email to sympy@googlegroups.com.
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.

Reply via email to