Preben Alsholm

MaplePrimes Activity


These are replies submitted by Preben Alsholm

@trace For whatever reason I cannot see any text in the file resub.pdf.

@trace If the point considered is (x,y,z) = (-1, 0, 0), then what would m(y/z) be, and what would r = z/y be?

So the eigenvalue result you mention doesn't even seem to make sense.

Under the assumption that m has a positive lower bound, i.e. m(s) >= epsilon > 0 it makes some sense to say that (-1,0,0) is an equilibrium point for your system: Taking g(-1,0,0) to mean the limit of g(-1,y,z) as (y,z) -> (0,0), and a similar interpretation for h.
However, if you look at the jacobian at (-1,y,z) then its element
J(-1,y,z)[2,3]
is
-1/m(z/y)+z*(D(m))(z/y)/(m(z/y)^2*y)-2*y
i.e. with r = z/y:
-1/m(r) +r*m'(r)/m(r)^2 -2*y.
But r doesn't have a limit as (y,z) -> 0 so we are stuck even with as simple an example as m(s) = 1+s^2.


As Carl is also pointing out you could replace m in your definitions of f,g,h by m(z/y).
With m a general nonconcrete function solve gives you some RootOf-solutions involving m that seem impossible to do anything about without making m a concrete function, but it also gives you
{x = 1, y = 0, z = 0}, {x = -4, y = 5, z = 0}, {x = -1, y = 0, z = 0}, {x = 0, y = -1, z = 2}
But since in general because of m(z/y) you cannot accept y = 0 you are left with
{x = -4, y = 5, z = 0} and  {x = 0, y = -1, z = 2}.
Applying J to those points you see that you need to know something about m(0) and m(-2).
But the problem remains: What can you say about
RootOf(2*m(3/(2*(_Z-2)))*_Z-4*m(3/(2*(_Z-2)))+2*_Z-1) ?
This represents possible solutions to
2*m(3/(2*(Z-2)))*Z-4*m(3/(2*(Z-2)))+2*Z-1 = 0.
After the change of variable 3/(2*(Z-2)) = s
this means finding solutions to m(s) + s + 1 = 0.
This looks neater, but remember that you have to get back to Z.

@zippon If we define Z[N+1] = Z[1] the relation mentioned above can be written
conjugate(Z[i]) =Z[N-i+2] for i=1..N. (*)

The theorem then is: z[i] are all real iff (*) holds.

And similarly with z[N+1] = z[1] we have:

conjugate(z[i]) =z[N-i+2] for i=1..N iff all Z[i] are real.

 

@zippon If we define Z[N+1] = Z[1] the relation mentioned above can be written
conjugate(Z[i]) =Z[N-i+2] for i=1..N. (*)

The theorem then is: z[i] are all real iff (*) holds.

And similarly with z[N+1] = z[1] we have:

conjugate(z[i]) =z[N-i+2] for i=1..N iff all Z[i] are real.

 

Maple has to isolate the derivative dS/dx. The image seems to show that that would be no problem. So please give us the code either as plain text or as an uploaded worksheet.

@Markiyan Hirnyk Try

addressof~([x-> x^2,x-> x^2]);
#different!
addressof~([x^2,x^2]);
#same!

@Markiyan Hirnyk Try

addressof~([x-> x^2,x-> x^2]);
#different!
addressof~([x^2,x^2]);
#same!

I suppose the problem Maple has with this example is the error handling?

The integrand G

G:=diff(-ln(1-Fy), y)*fy;
# is clearly a smooth function defined on all of R and falls of very rapidly as |y| -> infinity
plot(G,y=-10..10);
asympt(G,y);
#I got the following slightly disturbing error from this command (Digits = 10):
evalf(Int(G,y=-10..10));
# error message:
Error, (in property/LinearProp/+) too many levels of recursion
#However the results of the following were OK:
evalf[15](Int(G, y = -5 .. 5));
evalf[15](Int(G, y = -10 .. 10));
evalf[15](Int(G, y = -20 .. 20));

I suppose the problem Maple has with this example is the error handling?

The integrand G

G:=diff(-ln(1-Fy), y)*fy;
# is clearly a smooth function defined on all of R and falls of very rapidly as |y| -> infinity
plot(G,y=-10..10);
asympt(G,y);
#I got the following slightly disturbing error from this command (Digits = 10):
evalf(Int(G,y=-10..10));
# error message:
Error, (in property/LinearProp/+) too many levels of recursion
#However the results of the following were OK:
evalf[15](Int(G, y = -5 .. 5));
evalf[15](Int(G, y = -10 .. 10));
evalf[15](Int(G, y = -20 .. 20));

That weird output makes me ask: What was the input?
Here is an example:

with(LinearAlgebra):
A:=Matrix([[5, -3, 3], [-4, 8, -7], [-5, 3, 2]]); #Simple example
Eigenvalues(A);
evalf(%);

Try your loop on
T:={A,B,C};
and you will see that you are missing the union of all 3 sets A, B, and C.

Try your loop on
T:={A,B,C};
and you will see that you are missing the union of all 3 sets A, B, and C.

The answer from the following is not quite satisfactory:

completesq(ex,[alpha-delta,beta-delta]);

since the sum of the last 3 terms is zero. This could be handled I'm sure, but the main problem remains: How to find a good second argument for completesq (without knowing the final answer in advance)?
I suspect that there is no general answer to that question.

Note:

The unsatisfactory behavior mentioned really is due to Student:-Precalculus:-CompleteSquare:

u:=expand(  (x-a+b)^2+(y-c)^2);
Student:-Precalculus:-CompleteSquare(u,[x,y]);

but could in the case where Student:-Precalculus:-CompleteSquare is called with more than one argument be handled by expanding (or simplifying) the terms not involving the arguments 2..-1 as illustrated in this version of your procedure:

completesq:=proc(ex::algebraic,l::{algebraic,list(algebraic)})
 local l1:=freeze~(l),
 s:=zip(`=`,l,l1),
 s1:=foldr(algsubs,expand(ex),`if`(s::list,op(s),s)),
 s2:=Student:-Precalculus:-CompleteSquare(s1,l1);
 s2:=evalindets(s2,freeof(l1),expand);#Using expand
 thaw(s2);
end proc:



The answer from the following is not quite satisfactory:

completesq(ex,[alpha-delta,beta-delta]);

since the sum of the last 3 terms is zero. This could be handled I'm sure, but the main problem remains: How to find a good second argument for completesq (without knowing the final answer in advance)?
I suspect that there is no general answer to that question.

Note:

The unsatisfactory behavior mentioned really is due to Student:-Precalculus:-CompleteSquare:

u:=expand(  (x-a+b)^2+(y-c)^2);
Student:-Precalculus:-CompleteSquare(u,[x,y]);

but could in the case where Student:-Precalculus:-CompleteSquare is called with more than one argument be handled by expanding (or simplifying) the terms not involving the arguments 2..-1 as illustrated in this version of your procedure:

completesq:=proc(ex::algebraic,l::{algebraic,list(algebraic)})
 local l1:=freeze~(l),
 s:=zip(`=`,l,l1),
 s1:=foldr(algsubs,expand(ex),`if`(s::list,op(s),s)),
 s2:=Student:-Precalculus:-CompleteSquare(s1,l1);
 s2:=evalindets(s2,freeof(l1),expand);#Using expand
 thaw(s2);
end proc:



First 173 174 175 176 177 178 179 Last Page 175 of 231