dharr

Dr. David Harrington

7533 Reputation

21 Badges

20 years, 211 days
University of Victoria
Professor or university staff
Victoria, British Columbia, Canada

Social Networks and Content at Maplesoft.com

Maple Application Center
I am a retired professor of chemistry at the University of Victoria, BC, Canada. My research areas are electrochemistry and surface science. I have been a user of Maple since about 1990.

MaplePrimes Activity


These are replies submitted by dharr

@Andiguys You can manipulate the pieces with op, see: Q_12.mw

The empty otherwise just means there are no other possibilities.

@salim-barzani I simply followed the logic of the paper. I don't know about bilinear forms in this context; perhaps the nonlinear parts hare are bilinear forms? Here the linear part was set to zero, which implies the nonlinear part is also zero.

@FZ This is _a, not a; just a name Maple chose for the dummy integration variable.

@vv Thanks. (I'm still waiting for this to finish.) But I am also playing around with subsets of the eigenvalues (in disguised form), for which this will work, and be faster.

@acer Thanks. Much faster than @vv's.

@dharr 

restart;

with(PDEtools):

interface(showassumed=0):

#assume(x::real);assume(t::real);assume(lambda1::complex);assume(lambda2::complex);assume(A1::real);assume(A2::real);assume(B1::real);assume(B2::real);assume(delta1::real); assume(delta2::real);assume(y::real);assume(a::real);

z := -2*delta2*exp((-2*I*a*delta1^3*y + (x + y + t)^2*(B2 + B1)*delta1^2 + (-2*I*a*y*delta2^2 + t*I)*delta1 + delta2^2*(x + y + t)^2*(B2 + B1))/(delta1^2 + delta2^2))/((exp((2*(delta1^2 + delta2^2)*(x + y + t)^2*B2 + 2*(a*y*delta1^2 + a*y*delta2^2 + 1/2*t)*delta2)/(delta1^2 + delta2^2)) + exp((2*(delta1^2 + delta2^2)*(x + y + t)^2*B1 - 2*(a*y*delta1^2 + a*y*delta2^2 + 1/2*t)*delta2)/(delta1^2 + delta2^2)))*(delta1^2 + delta2^2)):

pde:=diff(u(x,t),t)-diff(u(x,t),x)=eval(z,y=0):

infolevel[pdsolve]:=3;

3

pdsolve(pde,u(x,t));

First set of solution methods (general or quasi general solution)

   -> trying characteristic strip method for first order PDEs

   <- characteristic strip method for first order PDEs successful

<- First set of solution methods successful

<- Returning a *general* solution

u(x, t) = 2*Intat(delta2*exp(B1*(x+t)^2*delta1^2/(delta1^2+delta2^2)+B1*(x+t)^2*delta2^2/(delta1^2+delta2^2)+B2*(x+t)^2*delta1^2/(delta1^2+delta2^2)+B2*(x+t)^2*delta2^2/(delta1^2+delta2^2)+I*delta1*(x+t)/(delta1^2+delta2^2)-I*delta1*_a/(delta1^2+delta2^2))/((delta1^2+delta2^2)*(exp(2*B2*(x+t)^2*delta1^2/(delta1^2+delta2^2)+2*B2*(x+t)^2*delta2^2/(delta1^2+delta2^2)+delta2*(x+t)/(delta1^2+delta2^2)-delta2*_a/(delta1^2+delta2^2))+exp(2*B1*(x+t)^2*delta1^2/(delta1^2+delta2^2)+2*B1*(x+t)^2*delta2^2/(delta1^2+delta2^2)-delta2*(x+t)/(delta1^2+delta2^2)+delta2*_a/(delta1^2+delta2^2)))), _a = x)+f__1(x+t)

 

NULL

Download pdsolve1.mw

@FZ The assumptions about real are probably not effective. Since y is not involved, I would leave it out. If you know the general form of the solution you can give it as a hint. HINT=`*` is equivalent to HINT=f(x)*g(t) but you can put in other expressions here. 

restart;

with(PDEtools):

interface(showassumed=0):

#assume(x::real);assume(t::real);assume(lambda1::complex);assume(lambda2::complex);assume(A1::real);assume(A2::real);assume(B1::real);assume(B2::real);assume(delta1::real); assume(delta2::real);assume(y::real);assume(a::real);

z := -2*delta2*exp((-2*I*a*delta1^3*y + (x + y + t)^2*(B2 + B1)*delta1^2 + (-2*I*a*y*delta2^2 + t*I)*delta1 + delta2^2*(x + y + t)^2*(B2 + B1))/(delta1^2 + delta2^2))/((exp((2*(delta1^2 + delta2^2)*(x + y + t)^2*B2 + 2*(a*y*delta1^2 + a*y*delta2^2 + 1/2*t)*delta2)/(delta1^2 + delta2^2)) + exp((2*(delta1^2 + delta2^2)*(x + y + t)^2*B1 - 2*(a*y*delta1^2 + a*y*delta2^2 + 1/2*t)*delta2)/(delta1^2 + delta2^2)))*(delta1^2 + delta2^2)):

pde:=diff(u(x,t),t)-diff(u(x,t),x)=z:

infolevel[pdsolve]:=3;

3

This one I canceled out of after a while.

pdsolve(pde,u(x,t));

First set of solution methods (general or quasi general solution)

   -> trying characteristic strip method for first order PDEs

This one I canceled out of after a while.

pdsolve(pde,u(x,t),HINT=strip);

HINT = strip

Next try jumps out after a short time, so no solution of this form

pdsolve(pde,u(x,t),HINT=`*`);

HINT = *

Preparing a solution HINT ...

-> trying HINT = _F1(x)*_F2(t)

Trying travelling wave solutions as power series in tanh ...

   Trying travelling wave solutions as power series in ln ...

   Trying a general ODE solution to the travelling wave related ODE system using ln and tanh

 

NULL

Download pdsolve1.mw

@Alfred_F Good; I'm always up for a challenge, especially if I learn something new in the process.

@Alfred_F It's only difficult if you want Maple to do everything, which was my objective. Because a polygon with a symbolic number of sides wasn't possible, I had to do it at least partly by hand. I had to input only the fact that the angle subtended by a side at the centre is 2*Pi/n, which I decided was the most obvious fact.

Your solution requires inputting the formula for the interior angle, the cosine rule, and dividing by two to find the midpoint.

A problem with the geometry package is that you can't add new information as you go. For example, the first side-angle-side triangle (which essentially finds the cosine rule) is floating, without reference to any coordinates. So once I found the side length, I wanted to anchor that side at o=(0,0) and X=(r,0), but I had to make a new triangle by rotating point X.

At one point I was thinking of making an angle-side-angle triangle, but Maple doesn't have that. Another attempt involved rotating the line segment OX, but I couldn't then programmatically find the endpoints of the rotated segment. So in the end it is an ugly solution.

The geometry package can at least deal with objects that are not fully specified by coordinates, and it worked well for the tangent problem, where it found lengths and positions of altitudes, for which I don't remember the formulas. On the other hand the geom3d package requires everything fixed, so was useless for the cube problem. Both these packages are great when things are fixed, and I have found them very useful. But for simple problems I usually just apply formulas I know outside these packages.

I generally want Maple to help me with math I don't know, not just verifying things I could do on paper. Of course it is also useful for verifying, especially catching dropped signs.

Nice challenge. It seemed to me that it should be possible to set up the geometry that @vv used, with point P at symbolic coordinates [x,y,z] inside a cube, construct the pyramids with each face and P as apex, find their volumes and use isolve to find integer solutions.
But making a pyramid with a symbolic vertex and finding its volume seems to be impossible in Maple as far as I can see.

 

@salim-barzani see the p.s. in my answer above. Then you have an error, but you can choose a subset of the variables to solve for. If you have something like {a=3,srqt(...)=sqrt(...)}, you can remove it with remove(has,...,sqrt).

@salim-barzani I put colons at all places where the message occurred. I may also have put it on lines where the output was many pages long, and inconvenient to scroll through.

The notation doesn't make much sense. I can't think of any interpretation that would bring B12 outside the exp. If you understand that, please give a few more examples of expected output.

Emding with ":" will remove this message, and does for the cases in your worksheet. (I didn't wait for the last solve to complete.)

limit.mw

@acer I had a copy in my downloads folder that I have uploaded. (I didn't remove it.)

2 3 4 5 6 7 8 Last Page 4 of 77