C binding to transfer matrices from C to Python and from Python to C

David M. Cooke cookedm+news at physics.mcmaster.ca
Fri Oct 22 21:52:18 CEST 2004

Nils Wagner <nwagner at mecha.uni-stuttgart.de> writes:

> Hi all,
> Has someone written a C binding to transfer matrices from C to Python
> and vice versa ?

Is your question more along the lines of "I have an algorithm written
in C that operates on matrices; how do I call it from Python?"

I presume you want Numeric or numarray matrices.

>From easy to hard (and less to more powerful :-):

- f2py will wrap C code. However, last I checked, the documentation
  isn't the clearest on how to do this.
- weave in scipy (and I know you use scipy ;-). This allows you to
  write C code inline; I think you can link with an external routine.
- pyrex is a Python-like language for writing extensions. To access
  arrays, you'll have to include some definitions of the appropiate
  array types from the Numeric or numarray headers.
- use SWIG to generate wrappers. You'll have to do a bit of work with
  typemaps for passing arrays around.
- writing a C extension by hand. See the Python docs about writing
  extensions, and the Numeric and numarray docs about the C API.

|David M. Cooke

More information about the Python-list mailing list