General linear methods
General linear methods (GLMs) are a large class of numerical methods used to obtain numerical solutions to ordinary differential equations. They include multistage Runge–Kutta methods that use intermediate collocation points, as well as linear multistep methods that save a finite time history of the solution. John C. Butcher originally coined this term for these methods, and has written a series of review papers a book chapter and a textbook on the topic. His collaborator, Zdzislaw Jackiewicz also has an extensive textbook on the topic. The original class of methods were originally proposed by Butcher (1965), Gear  (1965) and Gragg and Stetter (1964). Some definitions. Numerical methods for first-order ordinary differential equations approximate solutions to initial value problems of the form The result is approximations for the value of formula_2 at discrete times formula_3: where "h" is the time step (sometimes referred to as formula_5). A description of the method. We follow Butcher (2006), pps 189–190 for our description, although we note that this method can be found elsewhere. General linear methods make use of two integers, formula_6, the number of time points in history and formula_7, the number of collocation points. In the case of  formula_8, these methods reduce to classical Runge–Kutta methods, and in the case of formula_9, these methods reduce to linear multistep methods. Stage values formula_10 and stage derivatives, formula_11 are computed from approximations, formula_12, at time step formula_13: The stage values are defined by two matrices, formula_15 and formula_16: and the update to time formula_18 is defined by two matrices, formula_19 and formula_20: Given the four matrices, formula_22 and formula_23, one can compactly write the analogue of a Butcher tableau as, where formula_25 stands for the tensor product. Examples. We present an example described in (Butcher, 1996). This method consists  of a single 'predicted' step, and 'corrected' step, that uses extra information about the time history, as well as a single intermediate stage value. An intermediate stage value is defined as something that looks like it came from a linear multistep method: An initial 'predictor' formula_27 uses the stage value formula_28 together with two pieces of time history: and the final update is given by: The concise table representation for this method is given by: