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. It's 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} (I-\frac{\Delta t}{2} A) u_{n+1} = (I+\frac{\Delta t}{2} A) 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?