# [PYTHON MATRIX-SIG] fft's

**Paul. Dubois
**
dubois1@llnl.gov

*Wed, 28 Feb 1996 09:19:27 -0800*

Most routines of this type written in C or Fortran allow for the
possibility that an array has been declared of a larger size than it
actually is. For example
#define N 32
#define M 20
int n, m, c[N]{M];
n = something
m = something
...now you want to do something with c and as far as you are
concerned it is n by m.
In C, the arrays are stored so that in considering
c[i][j] and c[i][j+1], they are 1 storage unit apart, but
c[i][j] and c[i+1][j] are M apart. For Fortran, it works the
other way, and it is c(i,j) and c(i, j+1) that are N apart.
When you pass such a beast to a general routine, therefore, it is
necessary to tell it N in Fortran or M in C. So in your fft what they
want for lda is M.
However, when working with an object-oriented language, this kind of
partially full matrix just doesn't arise very often, and in most of
your work the python array x with shape (n,m) will be passed to the
library fft routine with lda = m.
Hope this helps.
--
Paul F. Dubois, L-472 (510)-422-5426
Lawrence Livermore National Laboratory FAX (510)-423-9969
Livermore, CA 94550 dubois1@llnl.gov
Consulting: PaulDubois@aol.com
=================
MATRIX-SIG - SIG on Matrix Math for Python
send messages to: matrix-sig@python.org
administrivia to: matrix-sig-request@python.org
=================