Hi all

Does anybody here familiar with numpy f2py tool?

I have some questions about wrapping lapack subroutines in python.

I’ve used it once, a while ago. A basic use case was pretty simple.

```
f2py -c -m modulename modulename.pyf modulename.f90
```

That produces the `.pyf`

file and a `.so`

file. Then just put `import modulename`

in your Python script and you have access to whatever was public in your Fortran module.

Hi ELNS, I might be able to help (or get answers from someone who will :))

Thank you, but when we deal with lapack , it will be a little complicated.

Thanks @melissawm

For example in scipy/linalg/flapack_gen.pyf.src we have a subroutine signature as below:

I built a signature file for

**sgetc2**and also wiki page, but i did not get why did we use

**int i;**and

**for(i=0;i<n;–ipiv[i],–jpiv[i++]);**in callstatement?

Is there some specific reason you would like to perform the wrapping yourself?

Scipy already includes a low-level interface to LAPACK: https://docs.scipy.org/doc/scipy/reference/linalg.lapack.html

As a member of scipy development team, we need to wrap more lapack functions in linalg module,

https://docs.scipy.org/doc/scipy/reference/roadmap-detailed.html#scipy-roadmap-detailed

Hi ELNS, this is an autogenerated signature file that gets written by building scipy. All that is inside the curly brackets after `callstatement`

replaces the f2py generated call statement, and `(*f2py_func)`

is the actual call statement after this substitution. So what I can see is that, in SciPy, after generating the C extension, `*getc2`

is called inside the loop defined by that block. However, I don’t know why - this is something from SciPy and not from f2py. I don’t have a lot of experience in that part of SciPy though, so it would be better to ask someone from the project. Sorry I couldn’t help more!

Thank you very mush