Question: convertsys - too many levels of recursion

Please consider this code:

restart;

with(DEtools):

test:=(diff(x(t),t,t))+(diff(a(t),t,t))=0;

FirstOrderSys := convertsys(test, [], x(t), t, y, yp );

When it is executed Maple says: Error, (in is/internal) too many levels of recursion

Now if i change just the letter a to, say, p (a(t)->p(t)) like this:

restart;

with(DEtools):

test:=(diff(x(t),t,t))+(diff(p(t),t,t))=0;

FirstOrderSys := convertsys(test, [], x(t), t, y, yp );

Lo and Behold! Suddenly Maple gives the answer:

/ d / d \\ / d / d \\ |--- |--- x(t)|| + |--- |--- p(t)|| = 0 \ dt \ dt // \ dt \ dt // [[ d / d \] [[yp[1] = y[2], yp[2] = ---- |--- p(t)|], [[ dt \ dt /] [ d ] ] [y[1] = x(t), y[2] = --- x(t)], undefined, []] [ dt ] ]

Why is that so? I don't see how one letter makes this difference. I have learned Maple on my own, so maybe I have missed something?

Please Wait...