(A+B+C ) ^ (X + Y + Z ) of arbitrary complexity

  • Thread starter jebusv20
  • Start date
  • #1
3
0
This question relates mostly to computer sciences (my personal field of expertise),
I am trying to find the method for breaking down large floating point (non integer) numbers in to a series of integers (so that they can be stored easily), and completing a power operation over them.

for example

1.23 ^ 4.56 = ((1E0)+(2E-1)+(2E-2))^((4E0)+(5E-1)+(6E-2))

I am aware that a program would be able to store quite large floating point numbers (generally up to 16 places of complexity) but, if I were to try and calculate something to 1 million places of accuracy, I will need the above break down)

Im sure it has something to do with pascals triangle which I am fairly sure is good for (a+b)^c, but I don't know how to do (a+b)^(c+d). I know this formula exists because I'm sure calculators use it every day... just not sure how to do it myself. To be clear, this formula does not need to be 'easy' to use, a computer can do billions of integer calculations a second, just need to write the code.
 

Answers and Replies

  • #2
3
0
No replies? If its a matter of me not explaining myself please just ask what I mean and what confuses you and I'll try to further explain. If its something that would be really hard to explain, just give it a shot... and if you dont know... well ... feel free to tell your friends who might.

Should we just start with the simple stuff? Purely algebraically how could the following be expressed without the power operation, preferably with a serious of multiplication and addition operations:

(a+b)^(c+d)
 
  • #3
11
0
If you're starting with something like [itex](a+b)^{c+d}[/itex] just break it into [itex](a+b)^{c}(a+b)^{d}[/itex] and use the usual http://en.wikipedia.org/wiki/Binomial_theorem for each part of the product, then multiply them together.
 
  • #4
2,051
317
If you're starting with something like [itex](a+b)^{c+d}[/itex] just break it into [itex](a+b)^{c}(a+b)^{d}[/itex] and use the usual http://en.wikipedia.org/wiki/Binomial_theorem for each part of the product, then multiply them together.

This doesn't help for multiprecision arithmetic with more than 2 digits.
If you want to compute (a+b+c)^n, with n an integer repeated squaring and multiplication
is the best way.

a^(2n) = (a^n)^2
a^(2n+1) = a (a^(2n))

A number of algorithms exist to do fast multiplication of multiprecision numbers. (karatsuba multiplication, fast fourier transfrom multiplication)

The latter will be much faster for large numbers, but also quite hard to implement. Using a multiprecision library is always an option.
 

Related Threads on (A+B+C ) ^ (X + Y + Z ) of arbitrary complexity

Replies
5
Views
11K
Replies
10
Views
8K
  • Last Post
Replies
6
Views
2K
  • Last Post
Replies
16
Views
4K
  • Last Post
Replies
9
Views
31K
  • Last Post
Replies
10
Views
1K
  • Last Post
Replies
4
Views
892
Replies
4
Views
4K
Replies
6
Views
917
  • Last Post
Replies
2
Views
2K
Top