nm

12238 Reputation

20 Badges

13 years, 257 days

MaplePrimes Activity


These are questions asked by nm

I'd like to plot phase plot of 2 first order ode's (along with 2 eigenvectors on same plot).

When using DEtools:-dfieldplot, the labels on the axis are not at the end, so hard to see them. Along with all the arrows, they become even harder to see.

Is it possible to have these labels (y,x) be at the ends of the axis so they are more easily seen? Here is an example below.

restart;
ode:=[diff(x(t),t) = 2*x(t)-y(t), diff(y(t),t) = 3*x(t)-2*y(t)]:
p1:=DEtools:-dfieldplot(ode,[x(t),y(t)],t=-2..2,x=-4..4, y=-4..4,arrows=SLIM,color=coral):
p2:=plot(3*x,x=-4..4,y=-4..4,color=magenta):
p3:=plot(x,x=-4..4,y=-4..4,color=blue):
plots:-display([p1,p2,p3]);

I looked at help, plot options, but do not see how to do it so far. I can change the font of the label and the font size, but I want to change the location to be at the end.

Maple 2020.1

 

I am porting some code I have  from Mathematica to Maple. 

In Mathematica, there is a command https://reference.wolfram.com/language/ref/CopyDirectory.html  which copies directory tree (i.e. the directory and everything below it) to a new location on the file system.

I looked at FileTools, and the Copy command there only works on files, not Directories.

"An exception is raised if source is a directory."

There must be a command in Maple to do this basic operation, but I am not able to find it. I googled.

Note: I do not want to rename the directory, but to copy it.

I could ofcourse work around this by writing code or calling system, but I would expect Maple to have a command for this somewhere.

 

 

Is there a way to find what changed in each Physics update? Even if it is just one or two lines short summary? I am not able to find how to do this.

For example, after doing Physics:-Version(latest); and getting a new version, how to find what was fixed/added to new version?

There is a page in help titled "Overview of the Physics Updates" but I am asking about what specific change made in each update and not as general overall description as the above page talks about.

Again, even if the changes are short, it will be nice to know what changed each time.  

 

Does Maple have any faciltiy to find any solution to two equations in  3 variables subject to constraint that each equation is not zero?

Here is an example. I like to find any values of t1,t2,t3 such that alpha and beta are not zero. Any choice of such t's will do. But not all can be zero ofcourse. All the t's are linear.

restart;
eq1:= alpha = -2*t1 - 4*t2 - 2*t3;
eq2:= beta = t1 + 2*t2 + t3;

By inspection we see that choice t2=0,t3=0,t1=1 works since

subs([t2=0,t3=0,t1=1],[eq1,eq2])

There are many other choices (infinite). I just need to find one combination of t_i in the integers.

I could write a loop and keep trying different values of t1,t2,t3 until I find such choise ofcourse. But I was wondering if there is better way to do this in Maple. Solve does not work on this ofcourse.

solve([eq1,eq2,eq3],[t1,t2,t3]) assuming alpha<>0,beta<>0

And setting up Ax=b does not work

restart;
A:=Matrix([[-2,-4,-2],[1,2,1]]);
b:=Vector([alpha,beta]);
LinearAlgebra:-LinearSolve(A,b)

Error, (in LinearAlgebra:-LinearSolve) inconsistent system
 

However, one thing I could do, is pick random alpha,beta values, and then solve for t_i, as in

restart;
A:=Matrix([[-2,-4,-2],[1,2,1]]);
b:=Vector([-2,1]);
LinearAlgebra:-LinearSolve(A,b)

And now I am able to find a solution I want. The problem with this method, is that if I pick wrong values of alpha,beta, I can also get no solution. For example, if I guessed alpha=1,beta=1 I get

restart;
A:=Matrix([[-2,-4,-2],[1,2,1]]);
b:=Vector([1,1]);
LinearAlgebra:-LinearSolve(A,b)

Error, (in LinearAlgebra:-LinearSolve) inconsistent system
 

So one option I could try, is pick random values of alpha,beta, and call LinearSolve until I get a choice which works?  i.e. one which does not give inconsistent system.

Thanks for any better suggestions.

This is the context: I call LinearAlgebra:-LinearSolve to solve system of linear equations. If there are infinite solutions, then Maple return the solution that has free variables, calling them using  _t[n] where can change each time and be different. It can also be _t0[n] and _t1[n] etc.. but these all are indexed variables.

I want to obtain a list of all these free variables in the resulting solution vector, so that later I can assign them some values.

But I do not know what can be. And how many of them there are. There could be _t[3] and _t[4] for example in the same solution vector.

Here is what I do now, where I just check for indexed type. This seems to work, since only _t[n] should be in the resulting solution if any.

restart;
A:=Matrix([[0,1,-1],[-1,-2,2],[-1,-2,2]]):
v:=Vector([-1,1,1]):
sol := LinearAlgebra:-LinearSolve(A,v);

map(x->select(type,x,'indexed'),convert(sol,set))

I do not know how to tell it to look for all something that starts with  _t and also indexed type.

Is there a better way to obtain list of all _t[n] that LinearAlgebra:-LinearSolve could return? Will LinearAlgebra always return the free variables as indexed variables so I am sure the above will always work?  Do you see a problem with the above solution?

First 129 130 131 132 133 134 135 Last Page 131 of 217