Aaron,

I've updated(Added more description about execution and added timeline) my
proposal
<https://github.com/sympy/sympy/wiki/GSoC-2015-Application-Sudhanshu-Mishra:-Assumptions>
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 <asmeu...@gmail.com> 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 <mrsu...@gmail.com>
> 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 <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.
>
> --
> 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%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 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_KCTc03b0U9Edm%3Dh2qMQUgGu8%2BALMnrwFidn-Fh0PiJUwbw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to