Heun's method
In mathematics and computational science, Heun's method may refer to the improved or modified Euler's method (that is, the explicit trapezoidal rule), or a similar two-stage Runge–Kutta method. It is named after Karl Heun and is a numerical procedure for solving ordinary differential equations (ODEs) with a given initial value. Both variants can be seen as extensions of the Euler method into two-stage second-order Runge–Kutta methods. The procedure for calculating the numerical solution to the initial value problem: by way of Heun's method, is to first calculate the intermediate  value formula_2 and then the final approximation formula_3 at the next integration point. where formula_6 is the step size and formula_7. Description. Euler's method is used as the foundation for Heun's method. Euler's method uses the line tangent to the function at the beginning of the interval as an estimate of the slope of the function over the interval, assuming that if the step size is small, the error will be small. However, even when extremely small step sizes are used, over a large number of steps the error starts to accumulate and the estimate diverges from  the actual functional value. Where the solution curve is concave up, its tangent line will underestimate the vertical coordinate of the next point and vice versa for a concave down solution. The ideal prediction line would hit the curve at its next predicted point. In reality, there is no way to know whether the solution is concave-up or concave-down, and hence if the next predicted point will overestimate or underestimate its vertical value. The concavity of the curve cannot be guaranteed to remain consistent either and the prediction may overestimate and underestimate at different points in the  domain of the solution. Heun's Method addresses this problem by considering the interval spanned by the tangent line segment as a whole. Taking a concave-up example, the left tangent prediction line underestimates the slope of the curve for the entire width of the interval from the current point to the next predicted point. If the tangent line at the right end point is considered (which can be estimated using Euler's Method), it has the opposite problem The points along the tangent line of the left end point have vertical coordinates which all underestimate those that lie on  the solution curve, including the right end point of the interval under consideration. The solution is to make the slope greater by some amount. Heun's Method considers the tangent lines to the solution curve at "both" ends of the interval, one which "overestimates", and one which "underestimates" the ideal vertical coordinates. A prediction line must be constructed based on the right end point tangent's slope alone, approximated using Euler's Method. If this slope is passed through the left end point of the interval, the result is evidently too steep to be used as an ideal prediction line  and overestimates the ideal point. Therefore, the ideal point lies approximately halfway between the erroneous overestimation and underestimation, the average of the two slopes. Euler's Method is used to roughly estimate the coordinates of the next point in the solution, and with this knowledge, the original estimate is re-predicted or "corrected". Assuming that the quantity formula_8 on the right hand side of the equation can be thought of as the slope of the solution sought at any point formula_9, this can be combined with the Euler estimate of the next point to give the slope of the tangent  line at the right end-point. Next the average of both slopes is used to find the corrected coordinates of the right end interval. Derivation. Using the principle that the slope of a line equates to the rise/run, the coordinates at the end of the interval can be found using the following formula: The accuracy of the Euler method improves only linearly with the step size is decreased, whereas the Heun Method improves accuracy quadratically . The scheme can be compared with the implicit trapezoidal method, but with formula_20 replaced by formula_21 in order to make it explicit. formula_2 is  the result of one step of Euler's method on the same initial value problem. So, Heun's method is a predictor-corrector method with forward Euler's method as predictor and trapezoidal method as corrector. Runge–Kutta method. The improved Euler's method is a two-stage Runge–Kutta method, and can be written using the Butcher tableau (after John C. Butcher): The other method referred to as Heun's method (also known as Ralston's method) has the Butcher table: This method minimizes the truncation error.