On Jan 12, 2007, at 11:49 , Robert Kern wrote: > Christopher Barker wrote: >> Robert Kern wrote: >>> Yup. -framework Accelerate >> >> Robert, just so we're clear here. If one does a straight "setup.py >> build" with numpy 1.0.1, do you get a version that uses Veclib? I do >> understand that that is the Fortran-compatible version, and thus may >> result in some extra copying to shift between row and column major >> ordering. By the way, if one were to take care to use Fortran ordered >> numpy arrays, would you avoid that copying? > > Yes. Both with numpy and scipy.
As long as your arrays are contiguous, it won't matter whether they are C-ordered or Fortran-ordered. Pretty much every BLAS routine takes an argument that says whether to use the array as-is, or the transpose (or the Hermitian conjugate in the case of complex arrays). That's how the C wrappers of Fortran BLAS routines work. The tranpose of a Fortran-ordered array is the original array as C-ordered. For instance, in Fortran to calculate AB=C, you'd do something like DGEMM('N','N',A,B), and to caculate A^T B, something like DGEMM ('T','N',A,B). In C, if A and B are C-ordered, for AB you'd call the Fortran routine like so: DGEMM('T','T', B, A), which does B^T A^T = C^T, and C will be the C-ordered result of AB. The underlying implementations of the BLAS routines are pretty much always the same for the C interface and the Fortran interface. -- |>|\/|< /------------------------------------------------------------------\ |David M. Cooke http://arbutus.physics.mcmaster.ca/dmc/ |[EMAIL PROTECTED] _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig