Can I solve a system of P.D.E's in mathematica symbolically?

  • Context: Mathematica 
  • Thread starter Thread starter andresordonez
  • Start date Start date
  • Tags Tags
    Mathematica System
Click For Summary

Discussion Overview

The discussion revolves around solving a system of partial differential equations (PDEs) using Mathematica, specifically focusing on symbolic solutions and transformations in phase space. Participants explore various methods and approaches to tackle the problem, including the use of DSolve and alternative strategies for simplification.

Discussion Character

  • Technical explanation
  • Mathematical reasoning
  • Homework-related

Main Points Raised

  • One participant reports that using DSolve returned the input code without a solution, suggesting that the system may not be solvable symbolically in Mathematica.
  • Another participant indicates that Mathematica can solve some PDEs with DSolve if they are simplified, prompting a request for details about the specific system being addressed.
  • A participant describes their specific transformation in phase space and shares their Mathematica code, indicating that they are looking for a generating function to demonstrate the canonical nature of the transformation.
  • One participant shares their success in breaking down the problem into a series of ordinary differential equations (ODEs) and provides their Mathematica code as an example of this approach.
  • Another participant expresses gratitude for assistance received, indicating that they found the shared solutions helpful.

Areas of Agreement / Disagreement

Participants do not reach a consensus on the best method for solving the PDEs, as multiple approaches are discussed, and some participants express uncertainty about the capabilities of Mathematica in this context.

Contextual Notes

Some limitations may include the complexity of the PDE system, the specific version of Mathematica being used, and the potential need for simplifications that have not been fully explored.

andresordonez
Messages
65
Reaction score
0
SOLVED
I tried (with DSolve) but it just returned the input code, so I guess it can't. I also looked for it in the documentation center with no luck. Is there another way?

By the way, I'm using mathematica 7
 
Last edited:
Physics news on Phys.org
Mathematica will solve some PDEs with DSolve, if it can. Often you can help it along if you can simplify things. What is the system you are trying to solve?
 
Thanks for the early reply!
I have a transformation in the phase space from (q1,q2,p1,p2) to (Q1,Q2,P1,P2) and I'm looking for the generating function to demonstrate that the transformation is canonical.
I guess the rest there is to say about it is in the equations.

This is my code:
Code:
sol = Solve[{
    q1 == 1/\[Alpha] (Sqrt[2 P1] Sin[Q1] + P2), 
    q2 == 1/\[Alpha] (Sqrt[2 P1] Cos[Q1] + Q2), 
    p1 == \[Alpha]/2 (Sqrt[2 P1] Cos[Q1] - Q2), 
    p2 == -(\[Alpha]/2) (Sqrt[2 P1] Sin[Q1] - P2)}, {p1, p2, P1, P2}] // Simplify

DSolve[{
   p1 == D[F[q1, q2, Q1, Q2], q1],
   p2 == D[F[q1, q2, Q1, Q2], q2],
   P1 == -D[F[q1, q2, Q1, Q2], Q1],
   P2 == -D[F[q1, q2, Q1, Q2], Q2]} /. sol[[1]],
 F[q1, q2, Q1, Q2], {q1, q2, Q1, Q2}]

PS:
I know it would be simpler to use the symplectic condition, but it is part of a homework and I need to do it both ways. I also know it's simple to do it by hand (in this case) but it can become a tedious procedure really fast as the number of degrees of freedom increases.
 
I've had some success on these types of problems on Mathematica by breaking them up into a series of ODEs. That works in this case. Here's the code:

sol = Solve[{q1 == 1/\[Alpha] (Sqrt[2 P1] Sin[Q1] + P2),
q2 == 1/\[Alpha] (Sqrt[2 P1] Cos[Q1] + Q2),
p1 == \[Alpha]/2 (Sqrt[2 P1] Cos[Q1] - Q2),
p2 == -(\[Alpha]/2) (Sqrt[2 P1] Sin[Q1] - P2)}, {p1, p2, P1,
P2}] // Simplify

DSolve[{p1 == D[F[q1, q2, Q1, Q2], q1]} /. sol[[1]],
F[q1, q2, Q1, Q2], {q1, q2, Q1, Q2}]

DSolve[{p2 ==
D[1/2 q1 (-2 Q2 \[Alpha] + q2 \[Alpha]^2) + C[1][q2, Q1, Q2],
q2]} /. sol[[1]], C[1][q2, Q1, Q2], {q2, Q1, Q2}]

DSolve[{P1 == -D[
1/2 q1 (-2 Q2 \[Alpha] + q2 \[Alpha]^2) +
q2 Q2 \[Alpha] Tan[Q1] - 1/2 q2^2 \[Alpha]^2 Tan[Q1] +
C[2][Q1, Q2], Q1]} /. sol[[1]], C[2][Q1, Q2], {Q1, Q2}]

DSolve[{P2 == -D[
1/2 q1 (-2 Q2 \[Alpha] + q2 \[Alpha]^2) +
q2 Q2 \[Alpha] Tan[Q1] - 1/2 q2^2 \[Alpha]^2 Tan[Q1] -
1/2 Q2^2 Tan[Q1] + C[3][Q2], Q2]} /. sol[[1]], C[3][Q2], {Q2}]

FTrial = 1/2 q1 (-2 Q2 \[Alpha] + q2 \[Alpha]^2) +
q2 Q2 \[Alpha] Tan[Q1] - 1/2 q2^2 \[Alpha]^2 Tan[Q1] -
1/2 Q2^2 Tan[Q1] + C[4]

Test = {p1 == D[FTrial, q1], p2 == D[FTrial, q2],
P1 == -D[FTrial, Q1], P2 == -D[FTrial, Q2]} /. sol[[1]] //
Simplify
 
That should do it. Thank you phyzguy!
 

Similar threads

  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 2 ·
Replies
2
Views
4K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 6 ·
Replies
6
Views
4K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 11 ·
Replies
11
Views
3K