Manipulate coefficient extracted from symbolic derivation

asked 2016-05-03 13:48:44 +0100

Hi,

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[0](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?

Thanks

Ps. The notation of higher order derivatives of symbolic functions should be better than D[0,0,...,0]f(r). Hopefully someone fixes it.

edit retag flag offensive close merge delete