I have a PDE (1D Schrödinger equation) as follows:

enter image description here

Applying the following transformations to the PDE, enter image description here

we get the following ODE:

enter image description here

I am trying to use @Kuba 's DChange package in the link. But I can't get the results.

 pde = I *D[u[x, y, t], t] - 
   1/2 D[u[x, y, t], {x, 2}] - ( Abs[u[x, y, t]]^2 - A)*u[x, y, t] == 0; 

DChange[pde, {u[x, y, t] == U[ξ]*E^(I*θ), ξ == 
       x + y + α*t, θ == α*x + β*y + γ*t}, {x, y, t}, {ξ}, {u[x, y, t]}]
  • $\begingroup$ Maple 2021 answers $$ u\! \left(x,t\right)=-\frac{\tanh\! \left(\frac{3 \,\mathrm{I} A t}{4}-\frac{\sqrt{-A}\, x}{2}-\textit{_}\mathit{C1}\right) \mathrm{\sqrt{A}}}{2}-\frac{\sqrt{A}}{2}$$ and that was verified for $A=1$. $\endgroup$
    – user64494
    Jun 17 '21 at 15:42
  • $\begingroup$ @RF_1 Try to use u = U[\[Xi]]* E^(I*\[Theta]) /. {\[Xi] -> x + y + \[Alpha]*t, \[Theta] -> \[Alpha]*x + \[Beta]* y + \[Gamma]*t}; and I*D[u, t] - 1/2 D[u, {x, 2}] - (Abs[u]^2 - A)* u /. {Im[x \[Alpha] + y \[Beta] + t \[Gamma]] -> 0, (x \[Alpha] + y \[Beta] + t \[Gamma]) -> 0} // FullSimplify $\endgroup$ Jun 17 '21 at 16:22

If you read the description of DChange carefully, you'll find DChange owns 3 usages:


DChange[expresion, {transformations}, {oldVars}, {newVars}, {functions}]

DChange[expresion, "Coordinates1"->"Coordinates2", ...]   

DChange[expresion, {functionsSubstitutions}] 

You can also skip {} if a list has only one element.

The first 2 are for change of independent variables, the last 1 for dependent variables, but you've mixed up 1st and 3rd. The correct usage should be:

DChange[pde, {ξ == x + y + α t, θ == α x + β y + γ t}, {x, t}, {ξ, θ}, u[x, y, t]]

DChange[%, u[ξ, y, θ] == U[ξ] E^(I θ)]

Assuming[{θ ∈ Reals}, Simplify@%]
(* (2 A + α^2 - 2 γ - 2 Abs[U[ξ]]^2) U[ξ] == U''[ξ] *)

Not exactly the same as the one in the picture, but I think it's obvious mine is correct, unless you forgot to mention $u(\xi)>0$ in the question.

BTW, given the example is relatively simple, it's not too bad a choice to transform without DChange:

func[x_, y_, t_] = With[{ξ = x + y + α t, θ = α x + β y + γ t}, U[ξ] E^(I θ)]

Assuming[{{x, y, t, α, β, γ} ∈ Reals}, pde /. u -> func // Simplify] /. x + y + α t -> ξ

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.