awass

261 Reputation

10 Badges

16 years, 282 days

MaplePrimes Activity


These are replies submitted by awass

@Joe Riel Strange. Perhaps I have a corrupt copy. The problem repeats with many variations.
When I enter type(w,Vector) I get false so perhaps that is why w2.w hangs.

@Carl Love That certainly is easy; thank you.

I was wondering why Maple does not do that automatically.



 

restart;
with(VectorCalculus):with(LinearAlgebra):
g:=(x,y)->A*x+B*y+a*x^2+b*x*y+c*y^2+d*x^3+h*x^2*y+k*x*y^2+l*y^3;
w:=Gradient(g(x,y),[x,y]);
w2:=Hessian(g(x,y),[x,y]);
w2.w;  # This fails every time

 

 

@Carl Love Also, the local t; can be omitted:

alpha3:= proc(x::numeric) 
     evalf(Int(sin(t^3)*cos(t^2), t= 0..x))
end proc:

or even

alpha5:=(x::numeric) -> evalf(Int(sin(t^3)*cos(t^2), t= 0..x)):

Both work but require quotes in dsolve and plot.

@Carl Love Thank you for pointing out that my post belongs under questions and thank you for answering my question.

Your solution does work. It can be simplified a bit to
alpha2:= proc(x::numeric) 
local t;
     evalf(Int(sin(t^3)*cos(t^2), t= 0..x))
end proc:

Sol:= dsolve({diff(y(x), x) = 'alpha2(x)'*y(x), y(0)=1}, numeric, known= [alpha2]);

The if statement is replaced by testing the argument with :: numeric and quoting the function in dsolve or when plotting.

Curiously, the if statement and testing the argument with :: numeric both result in a function that Maple cannot differentiate.

BTW, what does numeric signify? How does it differ from realcons or real? I know that "real" is an assumption one can make and "realcons" is a type; how does numeric fit into that lineup?

 

thanks again

@Carl Love Thank you for the explanation.

Is &where mostly for Maple staff or is it intended to be used by all? If the latter, it would be nice to see examples of its use. The showstat(`&where`) code was far from clear to me. (It referred to local variables only and not to any input as far as I could see.)

@Carl Love 

 

Hi,

I have searched in vain for information about the expression &where. Can you help?

 

many thanks

@Preben Alsholm THank you for your clear explanation of piecewise.

 

As to Maple "knowing" about laplace I meant that when dsolve is called with  my linear ODE system with constant coefficients and initial conditions it takes what seems like forever to find a solution without my hint (method = laplace). I would think method = laplace might be the default.

@Carl Love 

OK Here is the code. Thx
restart;
Typesetting[Settings](useprime,prime = t);
                            true, x


R := piecewise(t < 0.1e-7, 57, t > 0.1e-7, 57-48*exp(-t+0.1e-7)/(0.1e-7));


print(`output redirected...`); # input placeholder
 R :=  /                                                    -8
       |                  57                        t < 1 10  
      <                                                       
       |                    9    /         -8\          -8    
       \ 57 - 4.800000000 10  exp\-t + 1 10  /      1 10   < t


dsolve({diff(y(t), t)-R(t)*y(t)^2 = 0, y(0) = 1}, numeric);
%;
Error, (in unknown) invalid input: `dsolve/numeric/lexorder` expects its 2nd argument, b, to be of type {indexed, name, numeric}, but received piecewise(t < 0.1e-7, 57, 0.1e-7 < t, 57-4800000000.*exp(-t+0.1e-7))


dsolve({diff(y(t), t)-R(t)*y(t)^2 = 0, y(0) = 1}, numeric);
%;
Error, (in unknown) invalid input: `dsolve/numeric/lexorder` expects its 2nd argument, b, to be of type {indexed, name, numeric}, but received piecewise(t < 0.1e-7, 57, 0.1e-7 < t, 57-4800000000.*exp(-t+0.1e-7))


dsolve({diff(y(t), t)-7*y(t) = R(t), y(0) = 1}, numeric);
%;
Error, (in unknown) invalid input: `dsolve/numeric/lexorder` expects its 2nd argument, b, to be of type {indexed, name, numeric}, but received piecewise(t < 0.1e-7, 57, 0.1e-7 < t, 57-4800000000.*exp(-t+0.1e-7))




@tomleslie 

Thanks for the explanation.

 

TRy these examples: (you might be surprised by the first 2.

cat(x,i);
                               
cat(x,"i");
                              
cat("x",i);
                              "xi"
StringTools:-Join([x,i]);
                             "x i"

@acer 

Thanks for straightening me out on that.

@Carl Love 

Hi,

I have looked at your answer and the try-catch help pages but now I am confused about usage.

I want to do a computation, if possible, but if not-if an error of any type is returned I want to do an alternative computation. For example, I define a (silly) function f that can fail to return  a value for either of 2 reasons and returns different error messages for the 2 values,


restart;
f:=proc(x)
if x=8 then error "bad value" else 1/(7-x) end if
end proc;
                    f := proc(x)  ...  end;
f(3);
                               1
                               -
                               4
f(8);
Error, (in f) bad value


f(7);
Error, (in f) numeric exception: division by zero


Now I use try-catch to introduce an alternative.


try
c:=f(8)
catch :
c:=17
end try;
                            c := 17

Fine!


try
c:=f(7)
catch :
c:=17
end try;
                            c := 17

Fine again!


At this point I think I understand the basic usuage but ...


try
c:=1/(7-7)
catch:
c:=17
end try;
Error, numeric exception: division by zero
c;
                               c


Try-catch does not work in this simple situation. Howver, inside a do loop it does work!


restart;
for j from 1 to 10 do
try
b[j]:=1/(7-j)
catch :
b[j]:=17
end try
end do;
b[6];
                               1
b[7];
                               17
b[9];
                               -1
                               --
                               2


Here is another situation in which it works as expected:


restart;
try
c:=1/ln(1)
catch:
c:=17
end try;
                            c := 17
Is there some simple preprocessor that prevents try-catch from working as expected?

Thank you for your answers. I will now try (no pun intended) to use that.

 

I have just looked at the Maple Help page for try-catch and I do wish here were more examples-I find it much easier to learn from examples than "explanations". Makes me think about all the years I tortured my students with "explanatins".

@Carl Love 

 

Thank you.

Good to know.

3 4 5 6 7 8 9 Page 5 of 9