[sympy] Re: GSoC 2011 Proposal - Cythonizing SymPy

2011-04-05 Thread Ben M
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

2011-04-04 Thread Ben M
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

2011-03-29 Thread Ben M
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

2011-03-27 Thread Ben M
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

2011-03-25 Thread Ben M
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.