12
$\begingroup$

I wonder: what is the best algorithm to solve \begin{equation} \frac{du}{dt} = Au \end{equation} Where $A$ is a real $n\times n$ matrix. A is not explicitly time-dependent, usually sparse but not necessarily banded. Its eigenvalues have non-positive real parts. A is also diagonalizable but may be too big for a full diagonalization to be computationally efficient.

There is the implicit Trapezoidal rule which I have had a good experience. \begin{equation} \left(I-\frac{\Delta t}{2} A\right) u_{n+1} = \left(I+\frac{\Delta t}{2} A\right) u_{n} \end{equation}

What about explicit methods or Pade approximants? Also, how does this changes if a forcing term is added to the RHS?

$\endgroup$
3
  • 5
    $\begingroup$ We really need more information about A. Depending on the location of eigenvalues, stability could be an issues affecting the choice between explicit or implicit methods. It also matters what order you would like and whether or not A varies in time/with u as to whether you need a stiff solver. There really isn't enough information to make an informed answer. $\endgroup$ Sep 5, 2012 at 0:42
  • $\begingroup$ @GodricSeer Thanks Godric. I have added some assumptions about $A$. $\endgroup$ Sep 5, 2012 at 12:20
  • $\begingroup$ @GabrielLandi You'll need to add more information than that to get a specific answer. How large is $A$? Is $A$ normal? Are the eigenvalues of $A$ real, imaginary, or complex? How large are they (biggest and smallest magnitude)? $\endgroup$ Sep 6, 2012 at 6:03

1 Answer 1

15
$\begingroup$

As your matrix is independent of $u$ the result is a matrix exponential times the intial vector. The standard discussion of relevent method can be found from http://scholar.google.at by searching for ''Nineteen dubious ways''.

For the scaling-and-squaring algorithm (the least dubious one), see also http://blogs.mathworks.com/cleve/2012/07/23/a-balancing-act-for-the-matrix-exponential/

$\endgroup$
0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.