Defective Runge-Kutta pairs of very high order
We have been trying some of Terry Feagin’s Runge-Kutta pairs, as given on Peter Stone’s website. It seems that these pairs are all seriously defective. For instance, the 10(8) pair has an eighth order method that satisfies most of the ninth order conditions:
from nodepy import loadmethod
feagin = loadmethod.load_rkpair_from_file('rk10(8).txt')
z=feagin.embedded_method.order_conditions(9) # Gives the amount by which each 9th-order condition is violated
np.count_nonzero(abs(z)>1.e-15) # Number of order conditions violated
np.count_nonzero(abs(z)<1.e-15) # Number of order conditions satisfied
The last two lines give 40 and 246, respectively – meaning that this 8th order method satisfies 246 out of the 286 conditions for ninth order! Furthermore, it satisfies 591 of the 719 conditions for tenth order. Unsurprisingly, for some problems, the error estimate is exactly zero.