# How to choose between compact finite differences and spectral methods

For a project in my advanced numerical method class I have to solve the 1D Kuramoto-Sivashinsky equation.

$$u_t + u u_x + \lambda u_{xx} + \eta u_{xxxx} = 0.$$

As explained here I will solve it using a random initial condition on a periodic support with homogeneous boundary conditions at the inlet and the outlet. I would like to know which is the most suitable method between compact finite differences and spectral methods to solve this equation numerically.

As a general rule, what criteria are used to select one of these methods?

For a $$1$$-D problem like this, a spectral method is pretty easy to code depending on how easy your FFT is to use and you should be able to get accurate results without a ton of Fourier modes. This problem is pretty stiff, so you should take care to choose an ODE solver that can handle such problems, again this is dependent on your programming environment.