Mahesh Narayanamurthi, 07.03.2011 01:50:
I am thinking of implementing a BLAS package in pure python. I am wondering
if this is a good idea. My design goals are:

[1] Efficient manipulation of Matrices and
     Vectors using pure python objects and
     python code.
[2] Targetted to run on Python3
[3] Extensive use of defensive programming
     style
[4] To serve as a reference design for
     future High Performance Code in Python
[5] To serve as a reference material in
     classroom courses on numerical computing
     or for hobbyist programmers

First question that comes to my mind: who would use this? The available packages are commonly not written in Python, but they are fast, which is why they are being used by Python programs. A quick web search brought up Tokyo, for example, which wraps BLAS in Cython:

https://github.com/tokyo/tokyo

I can see that it would be easier to teach the concepts based on code written in Python than based on the existing implementations. Even if there likely won't be a real use case, it may still be nice to have a pure Python implementation available, if it could serve as a drop-in replacement for faster implementations. I.e., you could present the inner workings based on the Python code, and then switch to a 'real' implementation for the actual computations.

However, even if you say "efficient" above (and the algorithms may well be efficient), don't expect it to be fast. Python is great for orchestrating high performance computations. It's less great for doing them in plain Python code.

Stefan

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to