nm

11388 Reputation

20 Badges

13 years, 51 days

MaplePrimes Activity


These are questions asked by nm

Here is the problem. I start Maple 2020 on windows 10. Run a script which takes 1-2 days to complete. 

During this time, I can't use that Maple at all, since it is busy. 

I could start Maple 2019, and that runs as completely separate process. But I want to use Maple 2020 since some things in my scripts do not work on Maple 2019 that work on Maple 2020.

If I start a new instance of Maple 2020, by doing Start->Maple 2020. it does seem to start it OK, but I noticed it seems to be somehow still connected to the one running somehow.  May be they are sharing the same interface?

I can use the new instance now and open new worksheet and use it. But it seems to become very slow, as if it is sharing something with the other Maple 2020 running the long script which uses lots of resources. It is not RAM issue, I have 64 GB RAM, and there is plenty of free RAM left. 

When I close the new Maple 2020 workseet I started, I get a message asking if I want to save the worksheet that I have open from the earlier instance which is still running ! 

I say no ofcourse, as I do not want to terminate that instance, I want to keep it running until the script is completed.

My question is: Could someone may be explain exactly what happens when one starts new Maple 2020, while one is allready running? Why it seems they are sharing either the interface or something else.  How to start completely separate Maple 2020 instance on same PC while one is allready running?

With Mathematica, this issue does not happen. I can start two instances of same version on same PC, and there is nothing shared between them at all.  This does not seem to be the case with Maple.

Maple 2020.1 on windows 10.

 

sometimes solve returns solution of the form

restart;

#eqs:=.....
#sol:=solve(eqs,{v[1],v[2],v[3]});

sol:={v[1]=t,v[2]=3/2*t,v[3]=v[3]};

And wanted to remove all those that represnt arbitrary solution, which is v[3]=v[3] above.

I could do this using

remove(x->lhs(x)=rhs(x),sol);

which gives

{v[1]=t,v[2]=3/2*t};

But as an excersise, I could not figure how to do the same using subsindent (where I wanted to replace v[3]=v[3] with {} or NULL,. and also using applyrule.

Is it possible to do the same as above but using subsindent and applyrule (which is similar to patmatch)? 

I needed to make symbolic vector, as in  

my_vector:=Vector([v__1,v__2,v__3])

The problem is that, the proc called, has to create this vector on the fly, since the dimension changes on each call. So I used seq command to generate it. But seq did not work. I tried

my_vector:=Vector([seq('v__i',i=1..3)])

 

After looking more at it, It seems to have nothing to do with evaluation. If the subscript index is variable, it does not work.

 

f:=proc(v::symbol,i::posint)  
  print("i=",i);
  print("v__i=",v__i); 
  return (v__i);
end proc;

f(v,2)

One way is to use v[i] instead of v__i, and now it works:

[seq('v[i]',i=1..3)]

But since subscripted variable are supposed to be safer than indexed variable, I wanted to use v__i and not v[i].

 

Why it does not work? And is there a workaround this?  

ps. I could always do this 

V:=[seq(:-parse(cat("v__",convert(i,string))),i=1..3)]
lprint(V[1])

But this seems like a hack to me and I do not know why it should be needed.

ps. any one knows where help on "__" is in Maple? I can't find it. doing ?__ turns out nothing. I do not know under what name help on double subscript is in maple.

Maple 2020.1

When Maple converts sin(x)^n to Latex, the result remain  sin(x)^n.  But in Mathematical typesetting, this is normally written as sin^n(x).   Ofcourse this is only for Latex. In Maple code this not valid.

Is it possible to change Maple's Latex to make it do this automatically? Mathematica does this automatically. Here is an example

restart;
expr:=sin(x)^3+cos(3*x)^5;              
Physics:-Latex(expr)
 
            \sin \left(x \right)^{3}+\cos \left(3 x \right)^{5}

Which when compiled gives

Compare to Latex generated by Mathematica

Which compiles to 

Which is more standard in books and papers, than Maple's version.

Both Maple's Physics:-Latex and latex() command do the same thing.

Is there a way to make it generate the improved version for latex?

Maple 2020.1

 

 

sometimes I get intermediate expressions generated from other operations that contain terms such as exp(x)^n in them. As an example, exp(x)^3.  In Mathematica, it automatically replaces these by exp(3*x). But in Maple I need to force this change.

For purposes of Latex only, I like to change these terms to exp(3*x) before converting the whole expression to Latex, as it is looks much better that way.

expr:=exp(x)^3;
Physics:-Latex(expr)

                \left({\rm e}^{x}\right)^{3}

expr:=exp(3*x);
Physics:-Latex(expr)

                {\rm e}^{3 x}


I found that doing simplify(expr,exp)  does the trick. It changes exp(x)^n to exp(n*x). But I am worried about applying this whole simplification command to the whole expression, which can be very large, and do not want to change it all yet.

I just want to change any occurance of exp() there, and nothing more.

I tried using subsindent to do that, but it does not work on terms in denominator

restart;
expr:=exp(x)^3*sin(x)+3/(exp(x)^n);
subsindets(expr,'exp(anything)^anything',f->simplify(f,exp))

I tried

subsindets(expr,'1/exp(anything)^anything',f->simplify(f,exp))

and it did not work.

I am still not good at subsindent. How to make it change all exp(x)^n to exp(n*x) everywhere?

First 109 110 111 112 113 114 115 Last Page 111 of 200