nm

11353 Reputation

20 Badges

13 years, 19 days

MaplePrimes Activity


These are questions asked by nm

In Maple 2021

restart;
B:=sqrt( (-4*u^(1/3)+1)*u^(4/3));
A:=1/(-12*u+3*u^(2/3)-3*B);
res:=int(A,u);
simplify(res)

This is one of the integrals, that in Maple 2020 did not handle. In Maple 2020, it gives this

restart;
B:=sqrt( (-4*u^(1/3)+1)*u^(4/3));
A:=1/( -12*u+ 3*u^(2/3)-3*B);
res:=int(A,u);

The difference is that in Maple 2021 int is able to solve this (but gives very long output which I will not post here). The problem is now simplify() gives an error on the result. I was trying to see if possible to obtain the same small result as Mathematica's after simplifying. Here is Mathematica's result

ClearAll[u];
B = Sqrt[(-4*u^(1/3) + 1)*u^(4/3)];
A = 1/(-12*u + 3*u^(2/3) - 3*B);
res = Integrate[A, u]

It is good that Maple can solve this integral, but why simplify gives error on the result? Is there a workaround?

 

I installed Maple 2021 on windows 10. And wanted to try it to see if the hangs I used to have are fixed now.

First I noticed that Physics package does not come pre-installed with Maple 2021, which is little strange. I would have expected Maple 2021 to come with latest Physics version.

Because when I did Physics:-Version() it says "`The "Physics Updates" package is not installed`"

Then I typed  Physics:-Version(latest) to install it, it gives error

Error, (in Physics:-Version) unable to determine the Physics Updates version, could you please report the problem to support@maplesoft.com
 

 

I remember something similar in earlier version of Maple but can't find or remember where that post now.

May be Physics needs to be updated at Maple site to work with Maple 2021? I am asking, because Latex() does not work without Physics installed.

Edit:

I think in Maple 2021, latex() now is the same as the earlier Latex() command from Physics? I remember a post saying this now. Since I see now latex() have different help page from old latex() help page.

So may be that is why Latex() did not work. I can easily change this in my code to change it to use latex() instead of Latex() in this case. 

Windows 10

 

 

 

I needed to normalize the eigenvectors of a matrix. (I did not see an option to do this so far in LinearAlgebra). So I figured I just need to map LinearAlgebra:-VectorNorm(x,'Euclidean')  of each vector of the generated eigenvectors matrix,. Where here means the vector in the matrix. But do not see a way to do it. 

I ended up just using seq, which works fine. But was wondering if there is a way to do it? map function on each column (or each row) and have the result be matrix ofcourse. 

Will show my attempt using map, and then using seq

Sx:=1/sqrt(2)*Matrix([[0,1,0],[1,0,1],[0,1,0]]);
lam,v:=LinearAlgebra:-Eigenvectors(Sx);

Just doing the following does not work ofcourse

map( x->x/LinearAlgebra:-VectorNorm(x,'Euclidean'), v) 

So I used seq

Sx:=1/sqrt(2)*Matrix([[0,1,0],[1,0,1],[0,1,0]]);
lam,v:=LinearAlgebra:-Eigenvectors(Sx);
normalized:=[seq( v(..,i)/LinearAlgebra:-VectorNorm(v(..,i),'Euclidean'),i=1..LinearAlgebra:-RowDimension(v) )];

Will be nice if one can use map or variation of it, which works on either columns or rows at a time.

Maple 2021.2

 

Why is a row of a matrix has type Matrix, but a column of a Matrix has type Vector (column vector)

I expected a row of a matrix to also be a Vector (row vector).

restart;
A:=Matrix([[1,2],[3,4]]);
A(1,..);
whattype(%);

A(..,1);
whattype(%);

This might be by design or documented somewhere. But I find it not consistent.  Either both results should be Matrices, or both should be Vectors (the more logical way).

 

Maple 2020.2 on windows 10.

sometimes I have a need to do an assignment inside  operator call `if`(......) . but it is not possible it seems to do this in Maple.

This happens when I am using `if`(...) inside cat() to build a long string, and  depending on some condition, different string is build.  

This works fine in general, until I need to assign new value to a variable at the same time as I am building the string.

An example will make it more clear. Instead of the following

str:="A";
x:=10;

str:=cat(str,`if`(x=10," it was 10","it was not 10"));

if x=10 then
   x:=11;
else
   x:=9;
fi;                         

I'd like to do something like this (which does not work in Maple)

str:="A";
x:=10;
str:=cat(str,`if`(x=10,  x:=11;" it was 10" , x:=9; "it was not 10"))

Tried assign() also. Does not work.  I tried different variation on the above, none works. 

In Mathematica, the above is possible. But this is using standard `If`, which can be inlined

Is it possible to do something like this in Maple? 

The reason is that I do not have to do the checking twice: once to build the string, and once after that is done, in order to do the assignment. It is better if both are done in one place. The above is just an example. I could have more than one `if` inside as I am building the long string. 

Btw, how does one look up help on the operator if and not the statement if ? the help page for if does not talk about it or give any examples.

Maple 2020.2

First 91 92 93 94 95 96 97 Last Page 93 of 199