There are options in FullSimplify
like TransformationFunctions
or ComplexityFunction
which might help in various cases. In our case a simple and direct approach would be defining a list of rules. Here is an example:
rules =
{ c_ Sum[n a[n] c_^(n-1), {n, 0, Infinity}] :> Sum[n c^n a[n], {n, 0, Infinity}],
α_ Sum[a[n] c_^n, {n, 0, Infinity}] + Sum[n a[n] c_^n, {n, 0, Infinity}] :>
Sum[(α + n) a[n] c^n, {n, 0, Infinity}]};
Let's define an appropriate function for TransformationFunctions
:
tf[expr_] := expr //. rules
and now FullSimplify
with tf
does the expected transformation:
FullSimplify[ D[y, x], TransformationFunctions -> {Automatic, tf}]//TraditionalForm
alternatively one can do this:
FullSimplify[ D[y, x]] //. rules