Can some one suggest best way to calculate the huge matrix.
Example:
const int NUMPAT = 1212;
const int NUMIN = 6;
const int NUMHID1= 13;
const int NUMHID2 =15;
const int NUMOUT = 12;
#define rando() ((double)rand()/(RAND_MAX+1))
Below are-----
double Input[NUMPAT+1][NUMIN+1];
double Target[NUMPAT+1][NUMOUT+1];
double SumH1[NUMPAT+1][NUMHID1+1], WeightIH1[NUMIN+1][NUMHID1+1], Hidden1[NUMPAT+1][NUMHID1+1];
double SumH2[NUMPAT+1][NUMHID2+1], WeightH1H2[NUMHID1+1][NUMHID2+1], Hidden2[NUMPAT+1][NUMHID2+1];
double SumO[NUMPAT+1][NUMOUT+1], WeightH2O[NUMHID2+1][NUMOUT+1], Output[NUMPAT+1][NUMOUT+1];
double DeltaO[NUMOUT+1],SumDOW1[NUMHID1+1],SumDOW2[NUMHID2+1],DeltaH1[NUMHID1+1],DeltaH2[NUMHID2+1];
double DeltaWeightIH1[NUMIN+1][NUMHID1+1],DeltaWeightH1H2[NUMHID1+1][NUMHID2+1],DeltaWeightH2O[NUMHID2+1][NUMOUT+1];
Operations required to do on those matrices are:
1) Processing the values of huge matrix and calculating results.
2) Multiplication of two matrices.
3) Adding or subtracting matrices to matrices
Of course, all the matrices size could be same.