Exponential sum equation

  • #1

Main Question or Discussion Point

Hi,

I currently need to solve a problem which leads to an equation of the form a*exp(a*x)+b*exp(b*x)-c=0. The difference between a and b can often become very big, like a=1000 and b=1. Therefore numerical algorithms I tried so far, fail to solve this equation. Has anyone got any clues on a stable method to solve this equation?

Thanks in advance
 

Answers and Replies

  • #2
AlephZero
Science Advisor
Homework Helper
6,994
291
I assume you mean a and b are given real constants and you want to solve for a real value of x.

If all else fails, interval bisection is guaranteed to converge if you start with an interval that contains a root.

The derivative of the function is a^2 exp(ax) + b^2 exp(bx) which is positive for any values of a and b, so the function is always monotonic. If you don't know a better guess, you can find an interval that brackets the root by taking wider and wider intervals like
-1<x<1 , -2<x<2, -4<x<4, -8<x<8, -16<x<16, etc.

That is not quick and elegant, but it should work. Once you have got some solutions, you may understand the problem better and be able to invent a better algorithm.

If the equation is in complex arithmetic, things may get much more complicated!
 
  • #3
329
0
You might write the equation in the form

[tex]x = f(x)[/tex]
where
[tex]f(x) = \frac{1}{a} \ln \left( \frac{c - b \exp(bx)}{a} \right)[/tex]

and apply fixed-point iteration. I.e.,

Let [tex]x_0 = \text {initial guess}[/tex]
and [tex]x_{n+1} = f(x_n)[/tex]

It worked like a charm with me for a = 1000, b = 1, c = 3422.23 (chosen to have a root x = 0.00123), starting with x_0 = 0.0000001.
 
Last edited:
  • #4
You might write the equation in the form

[tex]x = f(x)[/tex]
where
[tex]f(x) = \frac{1}{a} \ln \left( \frac{c - b \exp(bx)}{a} \right)[/tex]

and apply fixed-point iteration. I.e.,

Let [tex]x_0 = \text {initial guess}[/tex]
and [tex]x_{n+1} = f(x_n)[/tex]

It worked like a charm with me for a = 1000, b = 1, c = 3422.23 (chosen to have a root x = 0.00123), starting with x_0 = 0.0000001.
How did you do this!
Is it Newton's method?
 
  • #5
1,545
10
How did you do this!
Is it Newton's method?
No. He just solved ae^ay+be^bx=c for y.
 
  • #6
329
0
Last edited:

Related Threads for: Exponential sum equation

  • Last Post
Replies
1
Views
9K
  • Last Post
Replies
6
Views
4K
  • Last Post
Replies
2
Views
4K
Replies
3
Views
3K
  • Last Post
Replies
4
Views
2K
Replies
3
Views
2K
Replies
1
Views
1K
Replies
4
Views
932
Top