In Maple, I seem to keep finding commands in different Maple build-in packages that does the same thing. Which is very confusing for someone trying to learn Maple.
Maple seems to have good things in it, but at the same time, it strikes me as a large bag with lots of tools and commands thrown in with little sense of coherence. One needs one command from one package to finish the job started using a command from a different package, and an option from one place to patch something done with a command from another package.
Here is one example. I wanted to obtain the diagonal of a matrix. So far, I found 3 commands that do the same exact thing:
I am sure if continue to look, I might find another command to do the same thing hiding in some other package.
The problem for new user like me, is how does one decide which comand to use. This is the same as with constructing a Matrix. There is the Matrix([]) notation and metod, and there is the <<>> notation that does the same thing but with different and conflicting syntax.
Having many commands that do duplicate things is not a good thing at all. Commands should be axiomatic and orthogonal to each others. I think there should be a document that describes from a high level all these packages, may be as a block diagram with arrows that show the relation, if any, between them, and how they interact and when to use one vs. the other.
Is there a reason for this duplication of functionality? Does any one at Maplesoft look at such issues?