====== 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//**