# solving a univariate equation with a sum of exponentials

I am interested in a method to find the roots of the following equation:

$$f(t) = \sum_{i=1}^n \alpha_i e^{\beta_i t} + \gamma t + \delta = 0.$$

For my application, coefficients $\alpha_i$, $\beta_i$, $\gamma$, and $\delta$ are real. $n$ is typically a small integer, say 10. In particular I am interested in the smallest positive real root of $f$.

For those interested, this equation arises when attempting to compute the point of intersection between the solution to the linear ODE

\begin{align} \dot x(t) &= Ax(t) + b & (A = A^T) \\ x(0) &= x_0 \end{align}

and the boundary of a set of linear constraints

$$Cx(t) \ge d.$$

The initial point is always feasible $(Cx_0\ge d)$. For my purposes, all matrices and vectors are real.

-

Assuming $\alpha_i, \beta_i, \gamma$, and $\delta$ are givens, any numeric root finder should make quick work of this. There won't be an algebraic solution. There is good info at Numerical Recipes chapter 9.
Thanks Ross and J.M. I have to solve this equation many times in my code. Visual inspection is not an option. Also I need a guarantee that I find the smallest positive real root. When $\gamma = 0$ and $n = 2$, I can reliably use fzero in Matlab to meet my requirements. I first solve $f'(t)=0$ to find the critical points. For the general problem I've been using chebfun, which works, but ends up being slow. I was/am hoping there is a specific algorithm to solve the equation directly. – nwhsvc Nov 9 '10 at 16:26