Robert Israel

6582 Reputation

21 Badges

19 years, 52 days
University of British Columbia
Associate Professor Emeritus
North York, Ontario, Canada

MaplePrimes Activity


These are replies submitted by Robert Israel

One might quibble that u*Heaviside(u) and v*Heaviside(v) are not really solutions, because they are not differentiable everywhere wrt u and v respectively when those variables are 0.  But I'll ignore that.  You want a solution of this form:

> Form := F(u*Heaviside(u), v*Heaviside(v));

Now you should be able to use pdetest as follows:

> pdetest(f(u,v) = Form, eqn);

or pdsolve with a hint:

> pdsolve(eqn, HINT = Form);

but these both seem to run into the same bug in Maple:

Error, (in limit/sumprod) invalid input: has expects 2 arguments, but received 3
 

Looking at lasterror, it seems that the bug may actually be in simplify:

> simplify(D[1,2](F)(g(u),g(v))*u*Dirac(u));

Error, (in limit/sumprod) invalid input: has expects 2 arguments, but received 3
 

I'll send in an SCR for this.

Anyway, let's plug your form into the equation and see what we get.

> eval(eqn, f(u,v)=Form);

D[1,2](F)(u*Heaviside(u),v*Heaviside(v))*(Heaviside(v)+v*Dirac(v))*(Heaviside(u)+u*Dirac(u)) = 0

Now the last two factors simplify to 0 when u < 0 or v < 0, and we're ignoring differentiability concerns when u = 0 or v = 0, so the main question is what happens when u > 0 and v > 0.

> % assuming u > 0, v > 0;

D[1,2](F)(u,v) = 0

And to find a solution of that PDE (which of course happens to be the same as our eqn):

> pdsolve(%);

F(u,v) = _F2(u)+_F1(v)

So there you have your solution:

f(u,v) = _F2(u*Heaviside(u)) + _F1(v*Heaviside(v))

 

 

You might prefer

> MakeUnique(Reverse(FindRepetitions(Reverse(L))));
  
     [a, c, d]


Exercise: why is this the right order?

You might prefer

> MakeUnique(Reverse(FindRepetitions(Reverse(L))));
  
     [a, c, d]


Exercise: why is this the right order?

One way is to break up the region into (approximately) convex pieces.  For example:

> with(plots):
 with(plottools):
 plot1 := display([seq(plot(1, t = Pi*j/40 .. Pi*(j+1)/40, 
   filled = true, color = coral), j=30 .. 49)]):
 H := transform((t, r) -> [4*(1-r)*cos(t)+3*(r)*cos(t), 
    4*(1-r)*sin(t)+3*(r)*sin(t)]):
 display(H(plot1),view = [-5 .. 5, -4 .. 4], scaling=constrained);

 

 

What about it doesn't work?

It may be inefficient, but it does seem to work as far as I can tell.

 

What about it doesn't work?

It may be inefficient, but it does seem to work as far as I can tell.

 

The polygon-filling method used in all versions before Maple 11, and now in Classic, works for regions that are convex (or more generally, star-shaped with respect to the first point of the polygon).  It shades in every point that is a convex combination of the first vertex and a point on the outline.  Standard now uses a method that works on non-convex polygons. 

I don't know what Maple commands you're allowed to use in this, but you might find member and remove useful.  Good Maple style tries to avoid do loops as much as possible for constructing sets and lists, but I don't know if your instructor wants you to use good Maple style.

I don't know what Maple commands you're allowed to use in this, but you might find member and remove useful.  Good Maple style tries to avoid do loops as much as possible for constructing sets and lists, but I don't know if your instructor wants you to use good Maple style.

Go to Tools, Options, Display, and remove the check mark from "Automatically display legends in 2-D plots".  Then click on "Apply Globally".  Now your plots won't have legends unless you explicitly include a legend option.

An html version of that worksheet is at www.math.ubc.ca/~israel/challenge/challenge.html

More simply:

> setDiff := `minus`;

But if this is homework I suspect the instructor might not be happy with this as a solution: after all, polt.lauren did say "I need to write a procedure ...", not "I need to find a procedure that already exists".  On the other hand, it also wasn't "I need to get the people at MaplePrimes to write a procedure...".

More simply:

> setDiff := `minus`;

But if this is homework I suspect the instructor might not be happy with this as a solution: after all, polt.lauren did say "I need to write a procedure ...", not "I need to find a procedure that already exists".  On the other hand, it also wasn't "I need to get the people at MaplePrimes to write a procedure...".

Like most probability distributions, the negative binomial can be used (and often is used) in situations other than the one in which it was originally introduced.  So though a non-integer number of trials makes no sense, there is a perfectly good probability distribution on the nonnegative integers with probability function

p(n) = GAMMA(x+n)/GAMMA(x)/n!*p^x*(1-p)^n

for 0 <= p <= 1, x > 0.

I found columns, not rows, that are multiples.

In the case of columns, you want to look at the null space of the Matrix, i.e. the space of solutions X of A.X = 0.  This can be done with NullSpace in the LinearAlgebra package.
Columns i and j are multiples of each other if the null space contains a vector with nonzero entries only in positions i and j.

In the case of rows, you can do the same for the transpose of the Matrix.

 

First 130 131 132 133 134 135 136 Last Page 132 of 187