Хотелось бы разрешить систему рекуррентных уравнений, приблизительно следующего вида:
f(n1,n2,n3,n4.....)= sum_i [f(n1,ni+1,n3....) + ni f(n1,ni-1,n3....)]
С разумными граничными условиями на нижнем и верхнем пределе:
f(n1,...,-1,.....)= 0
f(n1,n2,n3,n4...)= 0 if n1+n2+n3+n4....=100500
Найти f(0,0,0,0,0,0,0,0...).
В принципе эту задачу можно переформулировать (хотя достаточно нудно) в матричном виде и решить на python/scipy. Но как то очень уж удобно ее записывать в виде рекуррентных соотношений. Хотя, как видно это существенно не хвостовая рекурсия. Какой подход более оправдан решение в матричном виде или в виде рекурсии (к примеру на lisp/fortran)?