# How to transform equation

Is there any possible way to write this equation of 4th order as a system of two diff equations of second order with two new variables and to do that automatically? statespace command is transforming it into first order

  eq=a1*X1[x] + a2*Derivative[2][X1][x]-Derivative[4][X1][x];

-
This isn't an equation because it doesn't contain an Equal sign, only a =. –  Jens Jan 30 '13 at 5:01

For such manipulations it's sometimes useful to look at the derivatives as if they were powers of a differential operator, and then your expression becomes a polynomial in this operator.

Once you have the polynomial form, it is possible to apply functions such as Eliminate to achieve some automation.

First I define the equation to start with (adding an arbitrary righthand side rhs), then I replace Derivative patterns with appropriate powers of a symbolic operator dOp, leading to a new equation eqPoly:

Clear[X1, Y1]

eq =
a1*X1[x] + a2*Derivative[2][X1][x] - Derivative[4][X1][x] == rhs;

eqPoly = eq /. Derivative[n_][X1][x] :> dOp^n

(* ==> a2 dOp^2 - dOp^4 + a1 X1[x] == rhs *)

newEq = Eliminate[{eqPoly, dOp^2 == newOp}, dOp]

(* ==> -rhs + a1 X1[x] == -a2 newOp + newOp^2 *)

newEq /. {newOp^n_ :> Derivative[n][Y1][x], newOp :> Y1[x]}

(* ==> -rhs + a1 X1[x] == -a2 Y1[x] + (Y1^\[Prime]\[Prime])[x] *)


In newEq, I eliminate dOp using the second equation which defines the operator newOp that corresponds to the second derivative of the original function, also considered as an operator whose powers correspond to differentiations. The latter are re-introduced in the last step by replacing newOp with Y1[x], the new function, and similarly its derivatives.

The definition dOp^2 == newOp of the new function in the Eliminate step is equivalent to Derivative[2][X1][x] == Y1[x] in the new notation, which is the second equation of the coupled system.

-
in final equation I have -rhs + a1 X1[x] == -a2 Y1[x] + (Y1^[Prime][Prime])[x] two variables plus rhs unknowns, how to solve this? –  Pipe Jan 30 '13 at 13:55
The problem is how to solve because I have two functions X1[x] and Y1[x] from the output. Firstly I have to solve Y1 and then back to the substitution Derivative[2][X1][x] == Y1[x], but how to solve Y1 –  Pipe Jan 30 '13 at 14:27