N = size of sample set O[N] => linear O[NlogN] => FFT O[N**2] => not so good O[N**3] => bad ===== p01.exe 10 100 1000 int main(int argc, char** argv) { float joe[99][99]; float* joe[99]; char**** joe = int nrows = atoi(argv[1]); // matrix multiply [1 2] [6 7] = [1*6 + 2*8 1*7 + 2*9] => 8 multiplies + 4 additions [3 4] [8 9] [3*6 + 4*8 3*7 + 4*9] [1 2 3 4] [1 2] = [4 mults + 3 additions ...] => (8x4 multiplies) = 32 multiplies [5 6 7 8] [3 4] [...] [5 6] [7 8] 2x2 => 2x4: 8 => 32 multiplies, is this linear? quadratic with nrows? Autocorrelation: R[k] = sum x[n]x[n+k] N = 3 R[0] = x[0]*x[0] + x[1]*x[1] + x[2]*x[2] => 3 multiplies and 2 additions R[1] = x[0]*x[1] + x[1]*x[2] + x[2]*x[3] => 3 multiplies and 2 additions R[2] = ... for N data points and K lags: no. of multiplies => K*N multiplies p01.exe 10 100 1000 int main(int argc, char** argv) { float joe[99][99]; float* joe[99]; char**** joe = int nrows = atoi(argv[1]); // matrix multiply [1 2] [6 7] = [1*6 + 2*8 1*7 + 2*9] => 8 multiplies + 4 additions [3 4] [8 9] [3*6 + 4*8 3*7 + 4*9] [1 2 3 4] [1 2] = [4 mults + 3 additions ...] => (8x4 multiplies) = 32 multiplies [5 6 7 8] [3 4] [...] [5 6] [7 8] 2x2 => 2x4: 8 => 32 multiplies, is this linear? quadratic with nrows? Autocorrelation: R[k] = sum x[n]x[n+k] N = 3 R[0] = x[0]*x[0] + x[1]*x[1] + x[2]*x[2] => 3 multiplies and 2 additions R[1] = x[0]*x[1] + x[1]*x[2] + x[2]*x[3] => 3 multiplies and 2 additions R[2] = ... for N data points and K lags: no. of multiplies => K*N multiplies