Manipulate coefficient extracted from symbolic derivation
var('k') f=function('f')(r) for k in range(1,5): h(r)=r^(2*k-1) t=f*h for i in range (1,k): t=(r^(-1)*diff(t,r)).collect(r) end b=t.coefficient(r*f) show(t) show(factor(b)) end
Output (last line)
r ↦ r4D[0,0,0](f)(r)+18r3D[0,0](f)(r)+87r2D(f)(r)+105rf(r)| 105|
I would have want it in a factorized form (135*7).
It seems that coefficient() gives the result as a function, because if i look with show(b)
r ↦ 105|
What can I do better or is this just not possible with sage code?
Ps. The notation of higher order derivatives of symbolic functions should be better than D[0,0,...,0]f(r). Hopefully someone fixes it.