AmirHosein Sadeghimanesh

225 Reputation

7 Badges

9 years, 289 days

Social Networks and Content at Maplesoft.com

Finished Ph.D. in Applied Algebraic Geometry in Biology and did postdoc in Mathematics of Chemical Reaction Networks, University of Copenhagen. Another postdoc in Nonlinear Dynamics in the Mathematical Models of Cell Biology at University of Szeged. Currently a research fellow at Coventry University. Main interests; Applied and Computational Algebraic Geometry, Computer Algebra, Mathematical Biology, Chemical Reaction Network Theory, Population Dynamics. I'm also a language lover!

MaplePrimes Activity


These are questions asked by AmirHosein Sadeghimanesh

Is there any method or a command to use or type so Maple start running something or evaluating and if it took more than a specific amount of time, then itself automatically stops itself without needing me to interrupt the evaluation?

For example let's say I wrote a proc, for some inputs it may compute the output fast but in some it may even don't answer after hours. Now I am writing a for and I don't know for which steps it can answer in less than a minute. So I like to add something so that Maple starts the FOR but in steps that it takes more than a minute, it automatically stops evaluation at that step and jump to the next step.

For a 2D parametric plot with only one parameter, in Maple we use plot([x,y,range]) but what about the case x and y are expressed by more than one parameter? How should I assign the range? For example I tried the following one

h := k[1]*k[3]+k[1]*k[4]+k[2]*k[4]:
x := k[2]/h:
y := (k[3]+k[4])/h:
A := seq(k[i] = 1 .. 2, i = 1 .. 4):
plot([x, y, A]);

But then I encountered the following error:
Error, (in plot) incorrect first argument [k[2]/(k[1]*k[3]+k[1]*k[4]+k[2]*k[4]), (k[3]+k[4])/(k[1]*k[3]+k[1]*k[4]+k[2]*k[4]), k[1] = 0.1e-2 .. 1000, k[2] = 0.1e-2 .. 1000, k[3] = 0.1e-2 .. 1000, k[4] = 0.1e-2 .. 1000]

For one parameter the above method doesn't make an error like the following:

x := t+1:
y := t^2:
A := t = 1 .. 2:
plot([x, y, A]);

So for more than one parameter, there should be another way to ask the plot. Does anyone know how to do that?

Assume you have a matrix A and somewhere you want to make a copy of it like B and working with them independently. Let's say you have a loop and after doing a proc on B again you have to make it equal to A. So changes on B shouldn't effect on A. What is the common way of taking such copies of A in Maple?

The following methods don't work.
 

A:=Matrix(3);
B:=A;
B(1,1):=1;
A;
A:=Matrix(3);
B:=subs(B=A,B);
B(1,1):=1;
A;

What I came up with is the following but it will look weird if one really needs to write something meaningless like *2/2.

A:=Matrix(3);
B := (1/2)*subs(B = 2*A, B);
B(1,1):=1;
A;

 

For remainder of division of a (multivariable) polynomial to several polynomials at a same time one can use NormalForm in Maple. It is easy to write a procedure to also show the division but I wonder if there is any determined command such as NormalForm for this aim?

Previous year I was using Maple 2015 and I had a procedure in which I had used

A := Array((1 .. 3)$3);

And similar use of $. This year I'm using Maple 2016. Now I came back to my old procedure but Maple doesn't compile the procedure anymore and instead shows

Error, `$` unexpected
What is the problem? Is something changed in new version of Maple?

Why I use Array and $ is my old question here http://www.mapleprimes.com/questions/210628-Undefined-For-Loop-Bound which was fine before.

First 7 8 9 10 11 Page 9 of 11