09-30-2022, 04:22 PM
Well math manipulation for this process would have to be on the front end. Speed is not the issue on the back end, where the root calculations are now just raised to a power a single time, or multiplied together, as bplus has demonstrated.
The real slow down in long division root math is the binomial expansion equation. Those calculations get longer and longer with the component numbers getting larger and larger each iteration. So for .1, we use just 10 iterations, not bad, but with .001 we need 1,000 comprised with very huge numbers. That takes minutes to calculate, not seconds. Remember in regular long division where you bring down just one number per iteration to combine with the remainder? In root long division of .001, you would need to bring down 1,000 digits for every iteration. So if your remainder is something small like 3, your next division step is to find the binomial expansion that is closest to 3.0e+1000.
So thinking this through... 8^.001 can be root calculated as (8 root 1000) ^ 1 = 1.0020816050796327943603513248911. I wonder if there is a way to reduce the root 1000 while keeping the power as a WHOLE number?
Also... As a hybrid model, we could always use numeric computer math DOUBLE to produce results to 16-digits for numbers 8-digits or less and get a slightly inaccurate result like: (8 root 1000) ^ 1 = 1.002081605079633 but that last digit should be a 2, not a 3, but the whole concept of using string math is to avoid these inaccuracies.
Pete
The real slow down in long division root math is the binomial expansion equation. Those calculations get longer and longer with the component numbers getting larger and larger each iteration. So for .1, we use just 10 iterations, not bad, but with .001 we need 1,000 comprised with very huge numbers. That takes minutes to calculate, not seconds. Remember in regular long division where you bring down just one number per iteration to combine with the remainder? In root long division of .001, you would need to bring down 1,000 digits for every iteration. So if your remainder is something small like 3, your next division step is to find the binomial expansion that is closest to 3.0e+1000.
So thinking this through... 8^.001 can be root calculated as (8 root 1000) ^ 1 = 1.0020816050796327943603513248911. I wonder if there is a way to reduce the root 1000 while keeping the power as a WHOLE number?
Also... As a hybrid model, we could always use numeric computer math DOUBLE to produce results to 16-digits for numbers 8-digits or less and get a slightly inaccurate result like: (8 root 1000) ^ 1 = 1.002081605079633 but that last digit should be a 2, not a 3, but the whole concept of using string math is to avoid these inaccuracies.
Pete