104 Reputation

12 years, 283 days

Worksheet...

I have attached the worksheet.  I commented out where I would like to investigate the inconsistency by:

TWS...

The travelling wave solutions can be calculated by hand.  This method is different.  Since the functions p and q are generic it in fact generates an infinite number of different types of solutions, not just travelling wave solutions.

The tanh, coth, tan, etc. solutions are solutions for the Ricatti equation, diff(phi,R) = l[0] + phi^2.  It does not mean the solutions to my PDE are hyperbolic trig functions, though they obviously exist.

The basic question I have is how can I use maple to solve a system of PDE's in terms of unknown functions p and q?

So I found a reference that explicitly states they solved this using the PDEtools package for maple.  They did say that it is not always possible to do it, but in this particular case, and a few others in the reference, they did.

Ryan

TWS...

The travelling wave solutions can be calculated by hand.  This method is different.  Since the functions p and q are generic it in fact generates an infinite number of different types of solutions, not just travelling wave solutions.

The tanh, coth, tan, etc. solutions are solutions for the Ricatti equation, diff(phi,R) = l[0] + phi^2.  It does not mean the solutions to my PDE are hyperbolic trig functions, though they obviously exist.

The basic question I have is how can I use maple to solve a system of PDE's in terms of unknown functions p and q?

So I found a reference that explicitly states they solved this using the PDEtools package for maple.  They did say that it is not always possible to do it, but in this particular case, and a few others in the reference, they did.

Ryan

Functions p and q...

The functions p and q are arbitrary.  Also, the constant l[0] is arbitrary.  This method is being used to study 2+1 soliton equations, so yes, there is a tremendous amount of symmetry.

That being said, I doubt the original investigaotrs solved this system by hand.  It seems likely they used Maple or Mathematica, though I can't be sure.

There is a common formula for u that is kind of what we are trying to get after,

u = 2*C*p_xq_y/(c_1 + c_2p + c_3q + c_4p*q)^2

Also the ode for phi = phi(R),

diff(phi,R) = l[0] + phi^2

has solutions -tanh, -coth, tan, -cot, etc, depending on l[0], that are well known in soliton theory.  So, I am thinking this is why this form has been chosen, though I am not sure.

Also, the original PDE is even in u, so I think that is why we can say a[1] = 0.

There are solutions for l[0] = 0 and l[0] = 1 here:

> (@(simplify, eval))(sysl0, [a[0](x, y, t) = 0, a[1](x, y, t) = 0, a[2](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), b[0](x, y, t) = (diff(p(x, t), t)+diff(p(x, t), $(x, 3)))/(3*(diff(p(x, t), x))), b[1](x, y, t) = 2*(diff(p(x, t), $(x, 2))), b[2](x, y, t) = 2*(diff(p(x, t), x))^2, c[0](x, y, t) = (diff(q(y, t), t)+diff(q(y, t), $(y, 3)))/(3*(diff(q(y, t), y))), c[1](x, y, t) = 2*(diff(q(y, t), $(y, 2))), c[2](x, y, t) = 2*(diff(q(y, t), y))^2]);
[0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0,0 = 0, 0 = 0, 0 = 0]

> (@(simplify, eval))(sysln1, [a[0](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), a[1](x, y, t) = 0, a[2](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), b[0](x, y, t) = (diff(p(x, t), t)+diff(p(x, t), $(x, 3))+2*(diff(p(x, t), x))^3)/(3*(diff(p(x, t), x))), b[1](x, y, t) = 2*(diff(p(x, t), $(x, 2))), b[2](x, y, t) = 2*(diff(p(x, t), x))^2, c[0](x, y, t) = (diff(q(y, t), t)+diff(q(y, t), $(y, 3))+2*(diff(q(y, t), y))^3)/(3*(diff(q(y, t), y))), c[1](x, y, t) = 2*(diff(q(y, t), $(y, 2))), c[2](x, y, t) = 2*(diff(q(y, t), y))^2]);
[0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0,0 = 0, 0 = 0, 0 = 0]

Functions p and q...

The functions p and q are arbitrary.  Also, the constant l[0] is arbitrary.  This method is being used to study 2+1 soliton equations, so yes, there is a tremendous amount of symmetry.

That being said, I doubt the original investigaotrs solved this system by hand.  It seems likely they used Maple or Mathematica, though I can't be sure.

There is a common formula for u that is kind of what we are trying to get after,

u = 2*C*p_xq_y/(c_1 + c_2p + c_3q + c_4p*q)^2

Also the ode for phi = phi(R),

diff(phi,R) = l[0] + phi^2

has solutions -tanh, -coth, tan, -cot, etc, depending on l[0], that are well known in soliton theory.  So, I am thinking this is why this form has been chosen, though I am not sure.

Also, the original PDE is even in u, so I think that is why we can say a[1] = 0.

There are solutions for l[0] = 0 and l[0] = 1 here:

> (@(simplify, eval))(sysl0, [a[0](x, y, t) = 0, a[1](x, y, t) = 0, a[2](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), b[0](x, y, t) = (diff(p(x, t), t)+diff(p(x, t), $(x, 3)))/(3*(diff(p(x, t), x))), b[1](x, y, t) = 2*(diff(p(x, t), $(x, 2))), b[2](x, y, t) = 2*(diff(p(x, t), x))^2, c[0](x, y, t) = (diff(q(y, t), t)+diff(q(y, t), $(y, 3)))/(3*(diff(q(y, t), y))), c[1](x, y, t) = 2*(diff(q(y, t), $(y, 2))), c[2](x, y, t) = 2*(diff(q(y, t), y))^2]);
[0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0,0 = 0, 0 = 0, 0 = 0]

> (@(simplify, eval))(sysln1, [a[0](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), a[1](x, y, t) = 0, a[2](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), b[0](x, y, t) = (diff(p(x, t), t)+diff(p(x, t), $(x, 3))+2*(diff(p(x, t), x))^3)/(3*(diff(p(x, t), x))), b[1](x, y, t) = 2*(diff(p(x, t), $(x, 2))), b[2](x, y, t) = 2*(diff(p(x, t), x))^2, c[0](x, y, t) = (diff(q(y, t), t)+diff(q(y, t), $(y, 3))+2*(diff(q(y, t), y))^3)/(3*(diff(q(y, t), y))), c[1](x, y, t) = 2*(diff(q(y, t), $(y, 2))), c[2](x, y, t) = 2*(diff(q(y, t), y))^2]);
[0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0,0 = 0, 0 = 0, 0 = 0]

There is a mistake in your assignments...

If you look at b[1] and c[1] of my message, you are missing a factor of 2 that makes the system consistent.  It should be

b[1](x, y, t) = 2*diff(p(x, t), $(x, 2)), c[1](x, y, t) = 2*diff(q(y, t), $(y, 2)).



Given the proper definitions I get:

> (@(simplify, eval))(sysl1, [a[0](x, y, t) = -2*(diff(q(y, t), y))*(diff(p(x, t), x)), a[1](x, y, t) = 0, a[2](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), b[0](x, y, t) = (diff(p(x, t), t)+diff(p(x, t), $(x, 3))-2*(diff(p(x, t), x))^3)/(3*(diff(p(x, t), x))), b[1](x, y, t) = 2*(diff(p(x, t), $(x, 2))), b[2](x, y, t) = 2*(diff(p(x, t), x))^2, c[0](x, y, t) = (diff(q(y, t), t)+diff(q(y, t), $(y, 3))-2*(diff(q(y, t), y))^3)/(3*(diff(q(y, t), y))), c[1](x, y, t) = 2*(diff(q(y, t), $(y, 2))), c[2](x, y, t) = 2*(diff(q(y, t), y))^2]);

[0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0,0 = 0, 0 = 0, 0 = 0]

Ryan

There is a mistake in your assignments...

If you look at b[1] and c[1] of my message, you are missing a factor of 2 that makes the system consistent.  It should be

b[1](x, y, t) = 2*diff(p(x, t), $(x, 2)), c[1](x, y, t) = 2*diff(q(y, t), $(y, 2)).



Given the proper definitions I get:

> (@(simplify, eval))(sysl1, [a[0](x, y, t) = -2*(diff(q(y, t), y))*(diff(p(x, t), x)), a[1](x, y, t) = 0, a[2](x, y, t) = 2*(diff(q(y, t), y))*(diff(p(x, t), x)), b[0](x, y, t) = (diff(p(x, t), t)+diff(p(x, t), $(x, 3))-2*(diff(p(x, t), x))^3)/(3*(diff(p(x, t), x))), b[1](x, y, t) = 2*(diff(p(x, t), $(x, 2))), b[2](x, y, t) = 2*(diff(p(x, t), x))^2, c[0](x, y, t) = (diff(q(y, t), t)+diff(q(y, t), $(y, 3))-2*(diff(q(y, t), y))^3)/(3*(diff(q(y, t), y))), c[1](x, y, t) = 2*(diff(q(y, t), $(y, 2))), c[2](x, y, t) = 2*(diff(q(y, t), y))^2]);

[0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0, 0 = 0,0 = 0, 0 = 0, 0 = 0]

Ryan

Clarification...

Sorry, I just mean to say I am not trying to solve for p and q, just a,b, and c in terms of p and q.

Using TeX notation, for l[0] = -1, as I have in the code, you should get

a_0 = -2p_xq_y
a_1 = 0
a_2 = 2p_xq_y
b_0 = \frac{1}{3p_x}(p_t + p_{xxx} - 2p_x^3)
b_1 = 2p_{xx}
b_2 = 2p_x^2
c_0 = \frac{1}{3q_y}(q_t + q_{yyy} - 2q_y^3)
c_1 = 2q_{yy}
c_2 = 2q_y^2

Clarification...

Sorry, I just mean to say I am not trying to solve for p and q, just a,b, and c in terms of p and q.

Using TeX notation, for l[0] = -1, as I have in the code, you should get

a_0 = -2p_xq_y
a_1 = 0
a_2 = 2p_xq_y
b_0 = \frac{1}{3p_x}(p_t + p_{xxx} - 2p_x^3)
b_1 = 2p_{xx}
b_2 = 2p_x^2
c_0 = \frac{1}{3q_y}(q_t + q_{yyy} - 2q_y^3)
c_1 = 2q_{yy}
c_2 = 2q_y^2

Worksheet...

Here it is.  I tried to comment where appropriate.  Thanks!

Worksheet...

Here it is.  I tried to comment where appropriate.  Thanks!

Maybe a cut and paste issue...

The input is not a[0,t] - I think it was just a cut and paste thing.  I have three sums,

phi1 := (phi@R)(x,y,t):
u1:= sum(a[k](x,y,t)*phi1^k,k=0..2):
v1:= sum(b[k](x,y,t)*phi1^k,k=0..2):
w1:= sum(c[k](x,y,t)*phi1^k,k=0..2):
DphiR:= l[0] + phi1^2:

that I am plugging into a differential equation.  DphiR is what the derivative of phi with repect to R is.  l[0] is a parameter I have control over.  Thus, when I want phi(R)_x by the chain rule I should get phi_R*R_x, and then I will sub in DphiR for phi_R, etc.  I am ussing Suppress and declare liberally for compact notation and everything works perfectly until I try and solve PDE's.

After plugging these into my PDE, I get a a large system.  Upon equating coefficients of phi@R I get a system of PDE's for the coefficients a[i], b[i], and c[i], i=0..2.

I want to solve for these coefficients.  I have assumed a separation for R, R = p + q, where p = p(x,t) and q = q(y,t).  Again, I have done all this and gotten the correct algebraic expressions.  In solving the PDE's for a[i], b[i], and c[i], I want to solve them in terms of p,q, and their derivatives.

What would be different about using diff_table?  It is not clear to me from the help why it would make a difference?  I tried using it and came upon a number of other issues.

For instance, how can I use diff table and declare a sum when I would like to use subscripts?  When I use diff_table on phi@R it does the right calculus but it's dependance on R is not correct.  What I mean is it sees the input R as a multiplicative.

Thanks

Maybe a cut and paste issue...

The input is not a[0,t] - I think it was just a cut and paste thing.  I have three sums,

phi1 := (phi@R)(x,y,t):
u1:= sum(a[k](x,y,t)*phi1^k,k=0..2):
v1:= sum(b[k](x,y,t)*phi1^k,k=0..2):
w1:= sum(c[k](x,y,t)*phi1^k,k=0..2):
DphiR:= l[0] + phi1^2:

that I am plugging into a differential equation.  DphiR is what the derivative of phi with repect to R is.  l[0] is a parameter I have control over.  Thus, when I want phi(R)_x by the chain rule I should get phi_R*R_x, and then I will sub in DphiR for phi_R, etc.  I am ussing Suppress and declare liberally for compact notation and everything works perfectly until I try and solve PDE's.

After plugging these into my PDE, I get a a large system.  Upon equating coefficients of phi@R I get a system of PDE's for the coefficients a[i], b[i], and c[i], i=0..2.

I want to solve for these coefficients.  I have assumed a separation for R, R = p + q, where p = p(x,t) and q = q(y,t).  Again, I have done all this and gotten the correct algebraic expressions.  In solving the PDE's for a[i], b[i], and c[i], I want to solve them in terms of p,q, and their derivatives.

What would be different about using diff_table?  It is not clear to me from the help why it would make a difference?  I tried using it and came upon a number of other issues.

For instance, how can I use diff table and declare a sum when I would like to use subscripts?  When I use diff_table on phi@R it does the right calculus but it's dependance on R is not correct.  What I mean is it sees the input R as a multiplicative.

Thanks

Right, sorry.  It had been cut and pasted from somewhere else.  It isn't salient to getting my question answered.  Thanks!  It should be 'test'.