Robert Israel

6577 Reputation

21 Badges

18 years, 212 days
University of British Columbia
Associate Professor Emeritus
North York, Ontario, Canada

MaplePrimes Activity


These are answers submitted by Robert Israel

First of all, it's an algebraic equation, not a transcendental one.  The only thing transcendental in it is the number Pi, but that doesn't make the equation transcendental.


The RootOf solution is almost certainly more informative than the solution using radicals, and better for numerical computation.

If you write 1/sqrt(x^2-1) = t and multiply by Pi*x, your equation becomes

a*t*(Pi+2)*x^2 - (1+a)*Pi*x - 2*a = 0

The resultant of a*t*(Pi+2)*x^2 - (1+a)*Pi*x - 2*a and t^2*(x^2-1)-1 with respect to t
is

P=(Pi+2*a*Pi+2*a)*(-2*a+Pi)*x^4+4*a*Pi*(1+a)*x^3-(a*Pi+2*a+Pi)*(a*Pi-2*a+Pi)*x^2-4*a*Pi*(1+a)*x-4*a^2

According to the theory of resultants, any x for which there exists t such that both equations are satisfied must be a root of P.  So this is where the RootOf comes from. 

The one question that is tricky is whether t will be 1/sqrt(x^2-1) or -1/sqrt(x^2-1).  For example, if a = -15*Pi/(40*Pi+74) one of the roots of P is 5/4, but this is not a solution of your equation because the corresponding t is -1/sqrt(x^2-1) = -4/3 rather than 1/sqrt(x^2-1).  It seems to me that for 0 < a < Pi/2  there will be a negative root of P that doesn't satisfy your equation, while for -Pi/(2*(Pi+1) < a < 0 there will be a positive root of P that doesn't satisfy your equation.

I don't know why there is the "Solutions may be lost" warning, but it could be related to that (so it's not really a matter of solutions being lost, but rather of bogus solutions being found).

 

> with(VectorCalculus):
   int(x^2,[x,y]=Ellipse(x^2 + y^2 - x*y - 2));

Which solution fsolve will find is unpredictable.  All you can say is that if you
specify an interval, fsolve will find a solution in that interval.  To get a better look at what's going on,
 


> with(plots):
   implicitplot(lhs(eq1)-rhs(eq1),alpha=0.01 .. 10, 
    lambda = 0.01 .. 50,grid=[50,50],gridrefine=3);

 

See the recent thread www.mapleprimes.com/forum/findsmallestnonzerosolutionfsolve

for some suggestions on finding all the solutions in an interval.

I suspect you mean the following (where imax is a positive integer).

> y[0] := x -> exp(-(x-mu)^2/(2*sigma^2))/(sigma*sqrt(2*Pi));   
  des:= [seq(diff(y[i](t), t) = y[i-1](t)*(sum(2^(j-i+1)*
    beta[i-1, j]*y[j](t), j = 1 .. i-1))+(1/2)*i*beta[i-1, i-1]
    *y[i-1](t)^2-y[i](t)*(sum(2^(j-i)*beta[i, j]*y[j](t), 
    j = 1 .. i-1))-y[i](t)*(sum(beta[i, j]*y[j](t), 
    j = 1 .. imax)), i = 1 .. imax)];

 

Even for imax = 1, you get a Riccati equation which doesn't seem to have a closed-form solution.  So you may want to try a numerical solution.  See the help page ?dsolve,numeric.

It looks to me like stat.all and stat.src are just text files containing Maple source.  You should just say something like

> read("c:/myfolder/stat.all");

replacing "myfolder" with the name of the appropriate folder, and then

> with(stat):

This doesn't produce an error (using the stat.all file from personal.denison.edu/~karian/maple/v8/stat.all).

I don't know if everything works, but I see no reason why it wouldn't.

On the other hand, I suspect that Maple's Statistics package (introduced in Maple 10) may contain much of the functionality of these supplements.

I suspect you want the second derivative, but what you wrote was the square of the derivative.  It should work fine with
 

ode1:= diff(y(x),x,x) + 4*c*diff(y(x),x)+4*c^2*y(x)/(1-x^2);

ode1 := diff(y(x),`$`(x,2))+12*diff(y(x),x)+36*y(x)/(1-x^2)

> alias(q = q(x,y,t), h = h(x,y,t));
    PDE := diff(q, t) +(g*D-u^2)*diff(h, x)-2*u*diff(q, x)=0;
 

PDE := diff(q,t)+(g*D-u^2)*diff(h,x)-2*u*diff(q,x) = 0

 

You might also try

> PDEtools[declare](PDE);
   

h(x,y,t)*`will now be displayed as`*h

q(x,y,t)*`will now be displayed as`*q

> PDE;

q[t]+(g*D-u^2)*h[x]-2*u*q[x] = 0

 

 But I would avoid using D as a parameter in your equations, because that might conflict with the definition of D as the differentiation operator.

When you say n::posint, do you mean n is actually a positive integer, or is n a symbolic variable that you are assuming represents a positive integer?  If the former, then try

map(degree, convert(eq, list), y);

If the latter,

map(t -> `if`(match(t = c*y^d, y, 's'), subs(s,d), NULL), 
      convert(eq1, list));

 

I would avoid using an unprotected D as a parameter, especially when you need the differentiation operator D to express boundary conditions, so I'll use d as the diffusion constant.  Your boundary condition BC1 is D[1](c)(0,t) = 0.  BC2 is not a boundary condition at all.  Actually the second boundary condition is implicit: c(x,t) -> 0 as x -> infinity.  One assumption that you don't mention, but I'll make, is that the diffusion constant is the same in the film and in the substrate.

To take advantage of symmetry, I'll shift the x variable so your x=-h is my x=0 and your x=0 is my x=h.  Then we can eliminate boundary condition BC1 by making the initial condition symmetric: c(x,t) = C0 for -h < x < h, 0 otherwise.  Now we have the Green's function

> G := (x,t) -> sqrt(d/(4*Pi*t))*exp(-d*x^2/(4*t));

The solution is then

> c := int(C0*G(x-s,t), s=-h..h) assuming h>0, t>0, d > 0;

c := 1/2*C0*(erf(1/2*d^(1/2)*(h+x)/t^(1/2))+erf(1/2*d^(1/2)*(h-x)/t^(1/2)))

I presume the rationale here is that if somebody has a license that expires on a certain date, Flexlm doesn't want them setting their system clock back before that date in order to run the software.

On the other hand, I might happen to have some files on my computer with incorrect dates, and it's really none of Flexlm's business.  Moreover, there may be privacy and security issues here: a well-mannered program should not be looking into directories where I haven't told it to look.  Maybe I have confidential information there.

I also wonder what happens if I take my laptop across the International Date Line so that I have to set my clock back one day...

> dsolve(ode,y(x),implicit);

1/(y(x)^4)-1/4+x-exp(-4*x)*_C1 = 0

> isolate(%,y(x)^4);

y(x)^4 = 1/(1/4-x+exp(-4*x)*_C1)

The <maple> tag fails again: this should be
 

y(x)^4 = 1/(1/4-x+exp(-4*x)*_C1)

It's very difficult to guess what's going on here without seeing your actual Maple input and output.  Click on the green up arrow to upload your worksheet, then put a link to the file into your posting. 

And, by the way, you should change your Input formal to "filtered html".  I've found that the input format sometimes switches to plain text for no visible reason..

 

> Q:={x-cos(v) *cos(u), y-cos(v)*sin(u), z-sin(v)};
   L:= subs(cos(v)=cv, cos(u)=cu,sin(v)=sv,sin(u)=su, Q) 
       union {cv^2+sv^2-1, cu^2+su^2-1};
  G := Groebner[Basis](L, plex(cu,cv,su,sv,x,y,z)); 

G := [-1+z^2+y^2+x^2, -z+sv, z^2*su^2-su^2+y^2, z^2*su+cv*y-su, -y+cv*su, -1+cv^2+z^2, z^2*cu+cv*x-cu, -x*su+y*cu, y*su+x*cu-cv, -x+cv*cu, cu^2+su^2-1]

(again the Maple tag messes up)

The result you want is G[1] = 0.

 

There is no way to plot it if epsilon is not given a value. 

If you give epsilon a "really really small value", the effect would be the same as taking epsilon = 0.  To visualize what's going on, you want to take epsilon to be small,
but not too small.  I might try epsilon = 0.1. 

Use display in the plots package.

First 110 111 112 113 114 115 116 Last Page 112 of 138