I have been trying to figure out how the numpy matrix construct works, but after many failed attempts finally decided to try and use f2py to do matrix operations, and then return a matrix (I don't know why but numpy matrices to me just seems totally backwards from every other programming language I know).

I was wondering, first of all, can I compile a F90 module and then call a subroutine in that module using f2py? I have seen examples, but usually only with one subroutine ... Does this need to be the case?
I was also curious to learn how to debug something like this. When I compile using f2py I don't really get any warnings (so I have been compiling the module with gfortran until it is debugged). Any suggestions?

Thanks in advance.