aschaap / cas741

Course project
Apache License 2.0
0 stars 0 forks source link

SRS: Background Overview #13

Closed GenevaS closed 6 years ago

GenevaS commented 6 years ago

What is a Runge-Kutta method? How is it better than other methods/what kind of IVP is it good at solving? A quick, high-level explanation of this would be helpful (i.e. I really don't know how Runge-Kutta works, so can you bring me up to speed please? Assume that I know ODEs and IVPs).

aschaap commented 6 years ago

@GenevaS, this took me a while as well, and I'm not sure my understanding is good enough to provide a clear and correct explanation.

Let's start with the Euler method, which consists of simply taking the slope of the current point, and extrapolating that for a distance of step size h on the x axis to create a new point. Since the slope of the point changes, this method creates an approximation that will always seem to "lag behind" the actual ODE, but with a small enough step size, it should be pretty close. For larger intervals, you'll see that the error appears to accumulate. See https://en.wikipedia.org/wiki/File:Euler_method.svg as a simple illustration.

If this makes sense, you can probably see how accuracy could be improved by taking the slopes at both the current point as well as the current point + step size h, and using the average of those two slopes as the slope with which to extrapolate to approximate the point that is step size h away from the current point. This is the RK2 method.

Runge-Kutta methods are a collection of methods that use slopes of multiple, sometimes intermediate, points (found through successive extrapolation) to create more accurate approximations. The slopes are also assigned potentially different weights when finding the average. The more points one uses (the higher the order of the RK method), the smaller the error should be (apparently the error will always be within h^(order of used RK method + 1), which gets smaller pretty fast for small step sizes.

Does this make sense, or should I clarify more?

@smiths, do you think I should include this in the SRS?

smiths commented 6 years ago

@aschaap, your summary of RK methods is good. I think you should include this information in your CA. You can include this information in the background overview section. As an example, you can look at SmithMcCutchanAndCarette2017 in the ReferenceMaterial folder.

The background information is to help teach the document users about the application domain. How far you go depends on the assumed reader characteristics. To make the document as useful as possible, I like it better when we don't assume too much knowledge from the readers.

aschaap commented 6 years ago

I've added this to the document as suggested.

GenevaS commented 6 years ago

I think this is much clearer, and assumes less prior knowledge from the reader.