re-calculating exponential sum when exponent changes

200 Views Asked by At

If $A_c$ can be calculated as follows:

$A_c=\sum_{k=1}^{N} a_ke^{ck}$

Where c is a known real constant and $a_k$ is a known series comprising real numbers which cannot be described by a function $f(k)$ (such as noisy measurements).

If $c$ now becomes $d$, is there a way of calculating $A_d$ without having to re-evaluate the sum from k = 1 to N?

$A_d=\sum_{k=1}^{N} a_ke^{dk}$

i.e. can $A_d$ be expressed as a function $f(A_c,c,d,N)$.

I think this would mean somehow separating the coefficients from the exponential term which summation by parts can do but I'm not sure I can do this since in my case $a_k$ is not given as a function that can be differentiated.

3

There are 3 best solutions below

0
On BEST ANSWER

$$\sum_{k=1}^{N} a_k(e^c)^k$$ is a polynomial in $e^c$, which you efficiently compute using Horner's scheme.

As far as I know, no interpolation method can be faster.

2
On

Since $$ {\bf a} = \left( {a_{\,1} ,a_2 , \cdots ,a_N } \right) $$ is an unknown vector of $N$ dimensions, and since as you say you do not know any relation between its components, then it has $N$ degrees of freedom.

On the other hand, $e^{c_1 k}={e^c_1}^k={x_1}^k$ is a N vector, and $N$ of them are independent and will make up a Vandermonde matrix.

So you can't tell anything about the relation between the dot product of $\bf a$ with two base vectors, unless you know $N$ of them.

To put it more intuitively (upon your comment):
Since you know $\bf a$, i.e. its components in the base system, once that you have to do the dot product of $\bf a$ with $(0,\cdots,1,0,\cdots)$ you do not have to do many complicated calculations,just pick the value of $a_k$ from your table.
Same if you have to multiply $\bf a$ with a linear combination of "few" of the basis vectors, since the dot product is linear.

Now, you know $A_c= \bf a \cdot \bf c$ with $\bf c = (\cdots, e^{ck},\cdots)$.

So your question is equivalent to: Is $\bf d = (\cdots, e^{dk},\cdots)$ expressible through a linear combination of $\bf c$ plus a "few" other base vectors ?
and the answer is clear.

0
On

Since your sum is a discrete fourier transform, the ability to do what you want for an arbitrary vector $(a_k)$ more efficiently would imply a functional dependence which would say that the vector had a redundant spectrum. This cant be done due to dimension arguments.

If the $c,d$ values were integers, one might think of truncating the FFT butterfly tree to one that only needs to compute two coefficients at the output but this would still not lead to significant savings as $n$ increased, amotised over the number of coefficients neded.