[sympy] Re: GSoC 2011 Proposal - Cythonizing SymPy
Thanks for the feedback. I have mentioned how I will decide what to cythonize but it is buried in the schedule. I will make that more explicit. I will also add cythonizing methods (headers, decorators, ...) and the pros and cons. Do I need to commit myself to a headers/decorators and a set of modules now? In my proposal at the moment, I have mentioned modules that could be optimised, and I have outlined a schedule to assess the priority of modules before I start work on them. Ben M On Apr 5, 6:06 pm, Brian Granger elliso...@gmail.com wrote: Ben, I think my main feedback is the same as Ondrej. How will you decide what to cythonize? That is a non-trivial aspect of the work and I think more thought needs to be given to that. Cheers, Brian On Mon, Apr 4, 2011 at 5:43 AM, Ben M mcdonald@gmail.com wrote: Hi, I have updated my Google Summer of Code proposal on the wiki. https://github.com/sympy/sympy/wiki/GSoC-2011-Application-Ben-McDonal... Any comments, feedback or suggests are welcome. Ben M -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/sympy?hl=en. -- Brian E. Granger Cal Poly State University, San Luis Obispo bgran...@calpoly.edu and elliso...@gmail.com -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
[sympy] GSoC 2011 Proposal - Cythonizing SymPy
Hi, I have updated my Google Summer of Code proposal on the wiki. https://github.com/sympy/sympy/wiki/GSoC-2011-Application-Ben-McDonald:-Optimising-SymPy-using-Cython Any comments, feedback or suggests are welcome. Ben M -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
[sympy] Re: GSOC Introduction
Hi, I am looking at Issue 834 http://code.google.com/p/sympy/issues/detail?id=834. I feel I understand the problem and how I would fix it. But would I be able to get feedback on what fix would be best so I can practice submitting a patch? I've added a comment to the issue with my questions about the issue. Ben M On Mar 28, 9:08 am, Aaron S. Meurer asmeu...@gmail.com wrote: Yes, the present use case is only for integers. We do not really use floating point numbers (our numerical library, mpmath, has its own arbitrary precision floating point implementation). This can be expanded, though, to cover other C types, like arrays for lists/tuples. Aaron Meurer On Mar 27, 2011, at 5:22 AM, Ben M wrote: Hey, I’m learning about SymPy’s use of Cython at the moment so I can write my proposal. I've been looking at past discussions and the code. The ‘cythonized’ decorator seems to cast all given variables to local C int types ('cython.int'). Why only ints and no decimals? Is this because SymPy has its own way of representing rational numbers and will other modules only make use of ints? Thanks. Ben M On Mar 26, 3:22 pm, Ben M mcdonald@gmail.com wrote: Hi. I'm continuing to look at Cython. I've added a wiki page.https://github.com/sympy/sympy/wiki/Optimising-SymPy-using-Cython... Ben M On Mar 24, 1:10 pm, Aaron S. Meurer asmeu...@gmail.com wrote: Yes, maybe you could look at cythonizing the logic code (ilke the SAT solver). Another idea that comes to mind is the matrices. The other really big main part aside from the core is the polys, but Mateusz has already been working on cythonizing the core of that. Maybe you could see what he has done and if more could be done (see the @cythonized decorators in some of the files in sympy/polys/). Aaron Meurer On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote: Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit : Thanks for the link Aaron. What other parts of SymPy could be optimised without working on deprecated code? I could try to produce a dependence graph to find the most referenced modules. I read in that thread that removing the old assumptions could be a challenging project. What skills does it rely on? Is it more mathematics or software engineering? I have more experience in the later doing a Comp. Sc. degree (encapsulation, modularity, OO design patterns). I think it's mostly software engineering (refactoring, interface design, ...) with a side dish of hardcore CS/AI topics (knowledge base maintenance and indexing, inductive reasoning, ...) We probably also need to implement simplification of boolean expressions. On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote: You might read through this thread from a few days agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e Note that there might be a problem with the Cythonizing the core because we still need to remove the old assumptions (this would itself be a whole GSoC project). However, if you are still interested in Cython, you might look at cythonizing other core parts of SymPy. Aaron Meurer On Mar 23, 2011, at 5:20 AM, Friedman wrote: Hello SymPy people, I’m a Computer Science student currently completing my Master’s thesis at the University of Canterbury, New Zealand. I am looking to participate in gsoc this year. I would like to contribute to sympy because I have both an interest in mathematics and Python. Python is currently my language of choice. I use Python in my studies and I also tutor Python in undergraduate classes. I’m considering the Cython project to optimise the core. I used Cython in Master’s project to optimise processor/memory intensive methods. With Cython I increase the performance of my code while leaving the original Python code unchanged by adding Cython headers (.pyx) to modules to convert the Python into C++. It would be very interesting to be involved in doing the same to sympy. Currently looking through the discussion topics to see what would be required of the Cython project. Just wanted to express my interest in this project at this moment. Ben M. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed
[sympy] Re: GSOC Introduction
Hey, I’m learning about SymPy’s use of Cython at the moment so I can write my proposal. I've been looking at past discussions and the code. The ‘cythonized’ decorator seems to cast all given variables to local C int types ('cython.int'). Why only ints and no decimals? Is this because SymPy has its own way of representing rational numbers and will other modules only make use of ints? Thanks. Ben M On Mar 26, 3:22 pm, Ben M mcdonald@gmail.com wrote: Hi. I'm continuing to look at Cython. I've added a wiki page.https://github.com/sympy/sympy/wiki/Optimising-SymPy-using-Cython... Ben M On Mar 24, 1:10 pm, Aaron S. Meurer asmeu...@gmail.com wrote: Yes, maybe you could look at cythonizing the logic code (ilke the SAT solver). Another idea that comes to mind is the matrices. The other really big main part aside from the core is the polys, but Mateusz has already been working on cythonizing the core of that. Maybe you could see what he has done and if more could be done (see the @cythonized decorators in some of the files in sympy/polys/). Aaron Meurer On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote: Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit : Thanks for the link Aaron. What other parts of SymPy could be optimised without working on deprecated code? I could try to produce a dependence graph to find the most referenced modules. I read in that thread that removing the old assumptions could be a challenging project. What skills does it rely on? Is it more mathematics or software engineering? I have more experience in the later doing a Comp. Sc. degree (encapsulation, modularity, OO design patterns). I think it's mostly software engineering (refactoring, interface design, ...) with a side dish of hardcore CS/AI topics (knowledge base maintenance and indexing, inductive reasoning, ...) We probably also need to implement simplification of boolean expressions. On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote: You might read through this thread from a few days agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e Note that there might be a problem with the Cythonizing the core because we still need to remove the old assumptions (this would itself be a whole GSoC project). However, if you are still interested in Cython, you might look at cythonizing other core parts of SymPy. Aaron Meurer On Mar 23, 2011, at 5:20 AM, Friedman wrote: Hello SymPy people, I’m a Computer Science student currently completing my Master’s thesis at the University of Canterbury, New Zealand. I am looking to participate in gsoc this year. I would like to contribute to sympy because I have both an interest in mathematics and Python. Python is currently my language of choice. I use Python in my studies and I also tutor Python in undergraduate classes. I’m considering the Cython project to optimise the core. I used Cython in Master’s project to optimise processor/memory intensive methods. With Cython I increase the performance of my code while leaving the original Python code unchanged by adding Cython headers (.pyx) to modules to convert the Python into C++. It would be very interesting to be involved in doing the same to sympy. Currently looking through the discussion topics to see what would be required of the Cython project. Just wanted to express my interest in this project at this moment. Ben M. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
[sympy] Re: GSOC Introduction
Hi. I'm continuing to look at Cython. I've added a wiki page. https://github.com/sympy/sympy/wiki/Optimising-SymPy-using-CythonGSoC-Proposal,-Ben-McDonald Ben M On Mar 24, 1:10 pm, Aaron S. Meurer asmeu...@gmail.com wrote: Yes, maybe you could look at cythonizing the logic code (ilke the SAT solver). Another idea that comes to mind is the matrices. The other really big main part aside from the core is the polys, but Mateusz has already been working on cythonizing the core of that. Maybe you could see what he has done and if more could be done (see the @cythonized decorators in some of the files in sympy/polys/). Aaron Meurer On Mar 23, 2011, at 5:44 PM, Ronan Lamy wrote: Le mercredi 23 mars 2011 à 16:09 -0700, Friedman a écrit : Thanks for the link Aaron. What other parts of SymPy could be optimised without working on deprecated code? I could try to produce a dependence graph to find the most referenced modules. I read in that thread that removing the old assumptions could be a challenging project. What skills does it rely on? Is it more mathematics or software engineering? I have more experience in the later doing a Comp. Sc. degree (encapsulation, modularity, OO design patterns). I think it's mostly software engineering (refactoring, interface design, ...) with a side dish of hardcore CS/AI topics (knowledge base maintenance and indexing, inductive reasoning, ...) We probably also need to implement simplification of boolean expressions. On Mar 24, 7:56 am, Aaron S. Meurer asmeu...@gmail.com wrote: You might read through this thread from a few days agohttp://groups.google.com/group/sympy/browse_thread/thread/18f0197965e Note that there might be a problem with the Cythonizing the core because we still need to remove the old assumptions (this would itself be a whole GSoC project). However, if you are still interested in Cython, you might look at cythonizing other core parts of SymPy. Aaron Meurer On Mar 23, 2011, at 5:20 AM, Friedman wrote: Hello SymPy people, I’m a Computer Science student currently completing my Master’s thesis at the University of Canterbury, New Zealand. I am looking to participate in gsoc this year. I would like to contribute to sympy because I have both an interest in mathematics and Python. Python is currently my language of choice. I use Python in my studies and I also tutor Python in undergraduate classes. I’m considering the Cython project to optimise the core. I used Cython in Master’s project to optimise processor/memory intensive methods. With Cython I increase the performance of my code while leaving the original Python code unchanged by adding Cython headers (.pyx) to modules to convert the Python into C++. It would be very interesting to be involved in doing the same to sympy. Currently looking through the discussion topics to see what would be required of the Cython project. Just wanted to express my interest in this project at this moment. Ben M. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group athttp://groups.google.com/group/sympy?hl=en. -- You received this message because you are subscribed to the Google Groups sympy group. To post to this group, send email to sympy@googlegroups.com. To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.