Question: Simple Integral with 1.2*10^15 Summands

Hello humble forum readers

I haven't used Maple in over 10 years and am therefor a bit rusty when it comes to runtime optimizations; on top of that, I'm not a mathematician, so bear with my limited knowledge in this field. A risk analysis problem of a rather complex system resulted in roughly following integral, which I seem to be unable to compute with Maple (Version 12, in case this matters):

binom[1]:=(a1+b1*exp(-(a1+b1)*t))^k[1];

binom[2]:=(a2+b2*exp(-(a2+b2)*t))^k[2];

binom[3]:=(a3+b3*exp(-(a3+b3)*t))^k[3];

...

binom[8]:=(a8+b8*exp(-(a8+b8)*t))^k[8];

where k[1]...k[8] are 3744,624,312,24,24,8,16 and 16;

            a1, b1, ..., a8, b8 are between 1e-2 to 1e-13.

The integral roughly is as follows:

int(exp(-x*t)*binom[1]*binom[2]*...*binom[8],t=0..12);

This for more or less obvious reasons won't compute in a lifetime in this form with Maple 12, so I am looking into possible switches (inside Maple to direct the kernel to optimize the solver path) or programatic datastructures, which would allow me to compute this integral. The binomial Theorem teaches us that we have (n+1) summands when expanding (a+b)^n, doing so for every eight of the binoms and multiplying each of them will result in roughly 1.2*10^15 Summands (mult(k[i]+1,i=1..8)) or Integrals. I have no idea how big a generic number object is in the Java implementation of Maple 12, but even if it was only one byte, there would be no chance to hold all the summands in volatile memory or cache before computing the integral.

Does anyone have a solution to this problem? Do I need to write a C Program optimized exactly for this case to solve this problem or could I maybe find a solution with Maple and writing temporary data to disk?

Thanks in advance for any pointers.

Please Wait...