====== Butcher tableau ======
The Butcher tableau after John C. Butcher is an arrangement of coefficients to be applied in Runge-Kutta methods.
A generalization of a Runge-Kutta method is given by:
//yn+1 = yn + hbiki, i=1:s//
where
//k1 = f(tn,yn),//
//k2 = f(tn+c2h,yn+a21hk1),//
//k3 = f(tn+c3h,yn+a31hk1+a32hk2),//
…
//ks = f(tn+csh,yn+as1hk1+as2hk2+…+as,s-1hks-1).//
Corresponding Butcher tableau is:
0
//c2//
//a21//
//c3//
//a31//
//a32//
...
...
...
//cs//
//as1//
//as1//
...
//as,s-1//
//b1//
//b2//
...
//bs-1//
//bs//
For adaptive Runge-Kutta methods the local truncation error is estimated by the usage of two methods in the tableau, one with order //p// and one with order //p//-1.
The lower order step is given by
//y*n+1 = yn + hb*iki, i=1:s//
where the_ki_ are the same as for the higher order method. Then the error is
//en+1 = yn+1-y*n+1 = h(bi-b*i)ki, i=1:s//,
which is //O(hp)//. The Butcher tableau for adaptive RK methods is extended to give the values of **//b*i//**:
0
//c2//
//a21//
//c3//
//a31//
//a32//
...
...
...
//cs//
//as1//
//as1//
...
//as,s-1//
//b1//
//b2//
...
//bs-1//
//bs//
**//b*1//**
**//b*2//**
**...**
**//b*s-1//**
**//b*s//**