Am 15.03.2015 um 15:56 schrieb Aaditya Nair:
I have updated my proposal
<https://www.google.com/url?q=https%3A%2F%2Fgithub.com%2Fsympy%2Fsympy%2Fwiki%2FGSoC-2015-Application-Aaditya-M-Nair-%253A-Improve-the-assumptions-system.&sa=D&sntz=1&usg=AFQjCNGfaK8fPWMa5ZDncLWmQ4CxMPOJhg>
 and
added a timeline for the project.
Can you please review it ?

1. Remove incompatibilities between the old and new assumptions.
[...] This project aims to correct that by adding a compatibility
layer between the old and the new assumptions.

Is such a compatibility layer needed?
From previous discussion, I have been under the impression that it is not, but then I haven't followed it very closely.

2. Since we ultimately want to shift to the new assumptions system.
Make a few core components ( symbol, Add, Mul, etc ) use the new
assumptions system and expand gradually.

Sounds like a good plan to me.
BTW I think this alone could well be enough work for a full GSoC. Making changes of this kind involves not just review, but also writing documentation and unit tests. These can easily double or triple the total amount of work (but are *very* important).

> 3. instead of,
>>> facts  = Q.positive(x) & Q.real(x) & Q.commutative(x)
>>> facts &= Q.positive(y) & Q.real(y) & Q.commutative(y)
>>> facts &= Q.positive(z) & Q.real(z) & Q.commutative(z)
> we could do something as
>>> factset =  Q.positive & Q.real & Q.commutative
>>> facts=factset.apply(x, y, z)

That's a very cool idea.
If requires some changes to the API of Q, and probably some background in higher-order functions. Can you say a bit about how Q's API would look for that? I.e. a list of functions that need to be made (or modified), and what each would do.

I'm not sure that the new assumptions system is ready for this addition right now.

4. The present assumptions system creates a lot of bugs like #8873
which are fixed through non-desirable hacks. The new system will
provide a better and elegant solutions to them.

Move that from "Plan" to "Overview".
It's not something that you do, it's something that will happen.

> 5. (Adding examples to docstrings)

This could well be worth it.


Timeline Week-2
I suspect that making the old system interpret new assumptions isn't going to work very well. Logic inference algorithms tend to break down if you work with just a subset of a body of known facts.

Overall, I suspect you're trying to do too much in too little time.
I may be wrong :-)

Just my thoughts. I bet others will have other things to say.

Regards,
Jo

--
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/5505CE95.5020803%40durchholz.org.
For more options, visit https://groups.google.com/d/optout.

Reply via email to