5646 Reputation

17 Badges

8 years, 277 days

MaplePrimes Activity

These are questions asked by nm

In Maple, when calling LinearAlgebra:-Eigenvectors the order can change randomally each time. Ofcourse the result is always correct, but can show up in different order. 

I find this confusing, as I am looking at the screen, and see order changed each time. This is the order of how Maple shows the eigenvalues and corresponding eigenvectors.

Why does Maple do this? Is there a way to have same order given each time? Here is an example. If you run this code twice, most likely you will get different order each time. If not, try the command one more time.

lambda, v :=LinearAlgebra:-Eigenvectors(Sy);

screen shot

I thought there might be a global option to tell Maple not to do this? 

Again, answer is correct each time. I just like same output to show each time, as it is less confusing. Sometimes I think I did something wrong when I see different output show up for same command.



sometimes I get expressions with sqrt(n)/n in them where n is positive integer. I'd like Maple to simplify this to 1/sqrt(n).

So sqrt(2)/2 will becomes 1/sqrt(2). I find this simpler.

Here is an example

v:=Vector([1/2, -1/2*sqrt(2), 1/2]);

and tried few other things. 

is there a trick to do this? This is the case where all the expression have actual numerical integers in them (not symbolic), just like the above example. These come from numerical examples. 


Few months ago, someone was kind enough to send me an email letting me know that in Maple 2021 the following new change will be in Object

I am attending a workshop on OOP.  In Maple 2021, one will be able 
to invoke a method of an instance of an object with the  syntax:  object_name:-method_name

However, I am not able to get the above to work in Maple 2021. And I looked at the help pages and see no such example. This is what I tried

module person()
    option object;
    local name := "me";   

    export get_name::static := proc( self::person, $ )

    export set_name::static := proc( self::person, name, $ )


p:=Object( person ); #create object


Error, invalid input: person:-get_name uses a 1st argument, self (of type person), which is missing

What changes are needed in the above code to be able to use  obj:-method()  syntax?

Or is it possible that this change did not go into Maple 2021?


This is new exception generated by Maple pdsolve in 2021. Different from the last post I gave on pdsolve. So I thought it will be better to keep them separate since the causes are different.

pde :=  diff(w(x,y,z),x)+(a1*x^n1*y+b1*x^m1)*diff(w(x,y,z),y)+(a2*x^n2*y+b2*x^m1)*diff(w(x,y,z),z)= 0;

#another example

local gamma:
pde := diff(w(x,y,z),x)+(a1*x^n1*y+ b1*x^m1)*diff(w(x,y,z),y)+(a2*x^n2*y+b2*x^m2)*diff(w(x,y,z),z)=c2*x^k2*y+c1*x^k1*z;


Error, (in GAMMA) numeric exception: division by zero

The same PDE works in 2020.2. The answer it gives is large so will not show it all below.

Screen shots

Maple 2021


Maple 2020.2

All on windows 10.

Do other see the same error? What causes it?


I noticed number of pde's now fail in Maple 2021 with the error 

          int/gbinthm/structure INVALID subscript selector

but they do not fail in Maple 2020.2.

Here are few   examples

pde :=a*x^n*diff(w(x,y),x) + n*x^m*y*diff(w(x,y),y) =s*x^p*y^q+d;

pde :=a*x^n*diff(w(x,y),x) + n*x^m*y*diff(w(x,y),y)=c*x^k*y^s+d; 

pde :=a*x^n*diff(w(x,y),x)+b*x^m*y*diff(w(x,y),y) =  (c*x^k*y^s + d)*w(x,y);

pde :=  a*diff(w(x,y),x)+ y*diff(w(x,y),y) = b*w(x,y)+ c*x^n*y^m;


Error, (in int/gbinthm/structure) invalid subscript selector

While in Maple 2020.2 they all work. Screen shot

Maple 2021


Maple 2020.2


Any idea why this happens? Do others see the same error?



1 2 3 4 5 6 7 Last Page 2 of 114