In the course, we discussed that staggering the first derivative calculation actually provides a very elegant way for the elastic wave equation in the first order form to basically increase the accuracy at almost no cost. This staggered grid scheme, as I mentioned before, is used widely in many of the simulations that are still used today for realistic problem solving, solving really research problems. So, let's have a look in its simplest form, in the one-dimensional case, how this is implemented in a Python code. So, let's have a look. So, a quick look at the initialization. We have a one-dimensional domain here, with 1,000 points. We have a velocity of 4,500 meters per second, and we start with a frequency of 0.1 hertz, that actually corresponds to a 10 seconds period. Now, the source time function, again, will be the first derivative of a Gaussian function. Now, if we just look at the extrapolation scheme as we've seen in the algorithm, we are extrapolating in time, as usual, and the first thing we do is we calculate the first derivative of the stresses here. We use a four-point operator for the first derivative, which is why we see these funny values here. So, we're multiplying the stress values at the points, grid points, i minus 1, i plus 1, i plus 2, with the appropriate differentiation weight we divide it by dx, and that returns us the derivative of the stress in vector ds. Then using the Euler scheme, we extrapolate the velocity to the next time step. Then, we add the source term, so we actually initiate a source in velocity, this we will also have a stress source that's possible in this formulation but we, basically, perturbe the velocity, this is injected here. Then, we calculate the derivative of the velocities. Again, also using a four-point operator, we see here that we start with the index i minus 2, i minus 1, i to i plus 1, and you can see this indexing is a little different, shifted by one from the stress value. So, that's basically means once you do a so-called forward derivative and once you do a backward derivative, which you can appreciate if you basically draw down the staggering of the fields. Now that we have calculated the gradient, the derivative of the velocity, we can extrapolate the stress levels till the next time. So, this is now very different to the previous finite difference schemes using the acoustic wave equation, we have basically this coupled system of equations that we are going to solve. Now, let's see how this looks like in the simulation. Now, we have two fields, we have one, the velocity field in red here at the top. So, we can see that the wave field is propagating away from the source as expected. We can also appreciate that the stress at the bottom, given in blue, has a different polarization in one direction. So, that's as expected, that's not an error, that's basically the expression of the physics behind the problem here. So, in this case, we're actually expecting the first derivative of the Gaussian to propagate away from the source, which is what we see. It's a healthy looking simulation, we don't see any signs of numerical dispersion. So, I encourage you to play around with this. Also, explore the limits of the setup, increase the frequency, change the space increment, and investigate when the accuracy of the simulation breaks down.