[IronPython] SciPy

Mark Senko msenko at completegenomics.com
Mon Dec 20 19:32:01 CET 2010


Thank you.  

My real goal is to find a decent math/numerical package that I can use without having to reinvent the wheel.

My searches came up with numpy/SciPy.  Whether it actually uses the C interface or is a refactored version for .NET  really doesn’t matter to me.

 

At least not much.

 

I think I’ll take this opportunity to explain to this portion of the IronPython community (which seems to contain most of the real “movers” ) why I chose IronPython, and what I want to accomplish with it.

I’m sure my use case may be of interest, at least academically, to some of you.  

 

I write software that controls hardware … it moves samples around with a robot and stage, controls shutters, light sources, moves optics, performs data acquisition and data analysis.

It’s a complicated system. It requires scientists and engineers with high levels of knowledge in optics, physics, electronics to develop, study and understand performance, and to calibrate.

 

At my old company, we wrote our own macro language (early ‘90s) which provided functions to move the pieces of hardware, call higher level routines in our code, call mathematical and higher level analysis routines, plot, macros could call other macros  … just about anything you want a scripting language to do.  The portion of my efforts I spent extending this macro language was time well spent.  Instead of being the bottleneck that had to write all new tests and experiments and new platform prototyping, I enabled the other scientists and engineers to do it themselves. I was an enabler, and productivity shot through the roof. 

Some of the macros written were simple, others complicated … but most were not written by me, they were written by the scientists and engineers.

 

But, they were not programmers … at least not in the computer scientist sense.  They think procedurally, not object oriented.  They don’t want to argue about global vs. local variables, or whether a GOTO is good programming style.  They don’t develop web pages.  

 

At my new company, which builds a tool with similar demands, I am implementing similar scripting abilities.  I didn’t want to write my own scripting language again, that would be crazy with the number that are already available.

The core needs are control over the hardware, numerical capabilities, plotting capabilities.  The language also needs to be straightforward without too much overhead, like a pile of import statements, that don’t really contribute to the functionality.  I also wanted a language with a some history, and lot’s of community written libraries that I could use without having to write my own.

 

I did my internet search and looked at many different scripting languages, finally settling on Python as having the best set of language features for my needs.

Granted, I HATE the indentation control, especially since an auto-indented line has a “different” indentation than the preceding line which was indented with spaces (unless you carefully set up your editor).

I would much rather see braces or ENDIF,ENDFOR, ENDDEF … statements. That’s just an aside …

 

Our company uses C#.  I quickly discovered that C# and Python don’t play well together …. Ah, but here is IronPython.

So I learned how to embed it, wrote my own console, learned how to make static wrappers, how to make my functions global, and how to make python functions global.  I’m still learning the best and easiest ways to use it for our needs.  

But, I’m starting to find that the community developed libraries I was counting on are more often than not out of reach. That is what I found when I started looking for  a simple math package that would fit a polynomial, perform an FFT, maybe even do a non-linear least squares fit.  And I still need to find a plotting package …

 

Anyway, I thought this might be interesting to some of you.

 

 

Mark Senko

Complete Genomics, Inc.

2071 Stierlin Court

Mountain View, CA 94043

 

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Jason McCampbell
Sent: Monday, December 20, 2010 7:13 AM
To: Discussion of IronPython
Subject: Re: [IronPython] SciPy

 

Hi Mark,

 

As Dino mentioned we (Enthought) are working on refactoring Numpy into a pure "C" core with CPython and IronPython interface layers.  This is largely complete and available at github (https://github.com/numpy/numpy-refactor), though the core layer is largely undocumented thus far.  This is the multi-dimensional array.

 

SciPy is in progress and we are updating it to work with the refactored numpy core and to add an IronPython interface.  

 

I assume you are looking for IronPython interfaces to SciPy as opposed to a C interface, correct?  

 

Regards,

Jason

 

On Thu, Dec 16, 2010 at 1:56 PM, Dino Viehland <dinov at microsoft.com> wrote:

Enthought has been working on getting numpy/scipy ported over to work w/ IronPython.  I believe numpy is working but I’m not sure of how far along SciPy is.  There’s a separate mailing list for this at:

 

https://mail.enthought.com/mailman/listinfo/scipy4dotnet

 

It’s very low traffic – it’s usually just working through issues Enthought has run into and either workarounds or suggested changes to IronPython.  I’d suggest sending a mail there – they might have something you can try.

 

 

From: users-bounces at lists.ironpython.com [mailto:users-bounces at lists.ironpython.com] On Behalf Of Mark Senko
Sent: Thursday, December 16, 2010 11:49 AM
To: users at lists.ironpython.com
Subject: [IronPython] SciPy

 

I’ve been searching for the current state of support for “C” based libraries, specifically SciPy (I’m just looking for a decent numerical analysis package).  The responses I’ve seen on various websites are somewhat dated.

What is the latest status, or is there no effort towards accommodating the C API? Is IronClad still the best option? Any info, suggestions and warnings would be appreciated before I start to invest a lot of time into installing and learning these packages.

 

Mark Senko

Complete Genomics, Inc.

2071 Stierlin Court

Mountain View, CA 94043

 

 
 
____ 
 
The contents of this e-mail and any attachments are confidential and only for 
use by the intended recipient. Any unauthorized use, distribution or copying 
of this message is strictly prohibited. If you are not the intended recipient 
please inform the sender immediately by reply e-mail and delete this message 
from your system. Thank you for your co-operation.


_______________________________________________
Users mailing list
Users at lists.ironpython.com
http://lists.ironpython.com/listinfo.cgi/users-ironpython.com

 




____ 
 
The contents of this e-mail and any attachments are confidential and only for 
use by the intended recipient. Any unauthorized use, distribution or copying 
of this message is strictly prohibited. If you are not the intended recipient 
please inform the sender immediately by reply e-mail and delete this message 
from your system. Thank you for your co-operation.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ironpython-users/attachments/20101220/ae729ab4/attachment.html>


More information about the Ironpython-users mailing list