MaplePrimes Questions

Search Questions:

Latest Questions Latest Questions Feed


I have a question concerning the initial conditions.

One interest of MapleSim is to enable to model a multibody systems with different kinds of coordinates : namely relative and absolute coordinates.

For a complex system, it seems to me that the determination of the initial position is not an easy task.

Consequently, I wonder if it is possible to determine the initial positions for the system in absolute coordinates thanks to the knowledge of the initials positions in relative coordinates.

In other words, I have already determined the initial positions of my system in relative coordinates but as I would like to simulate my system with absolute coordinates. I wonder if I can have a process to deduct the initial positions for the absolute coordinates for the initial positions in relative coordinates.

Thanks a lot for your ideas and help.

I want to write an equation in the text portion of my document.  I do not need it evaluated. I just want to write formulas, like I do in LaTeX. 

RandomCompositions:= proc(n::posint, k::posint)
Compositions:= [seq(C-~1, C= combinat:-composition(n+k, k))],
Rand:= rand(1..nops(Compositions))
()-> Compositions[Rand()]
end proc:

R:= RandomCompositions(9,6):
n:= 2^13:
S:= 'R()' $ n:


I want to compile statistics each number in a sequence cannot  occur  over twice.

The sequences that do not fit the rule above must be ommitted.

The statistic is  Fermi-Dirac statistics.

confused the Bose-Einstein condensation and Fermi-Dirac statistics.

But the theory is right.

My question is very similar to this question however my .txt files are in a different format.

I've generated a .txt file with Macaulay2 that looks like this

| -1 0 9  -17 4   |

| 1  2 -3 7    17 |

I would like to import this file into maple and define a matrix M as this matrix. Is there any way to accomplish this?

phi Φ represents the golden ratio 1.61803 . . .


In Maple, is it possible to evaluate phi to a number ? (As Pi evaluates to a number.)


Cheers !

Hi all.

Assume that we have:

Where Q is known matrix. how can we produce this vector by maple?

Thanks a lot
Mahmood   Dadkhah

Ph.D Candidate

Applied Mathematics Department


I don't manage to animate a DensityPlot. Here is my program :

> restart;
> with(Statistics): with(plots):
> P := lambda->RandomVariable(Poisson(lambda)):
> animate(DensityPlot,[P(n),range=0..10],n=1..5,frames=5);

And here is the error message :

Plotting error, non-numeric vertex definition

Thanks for any help


I'm dealing with 2nd order ODE on Maple. By using " infolevel 5" Maple tell me that it use Kovacic's algorithm to find the solution. Could anybody tell me how or at least some idea so that I can go on this my self. Following here my ODE

Thank you so much


I have two questions and I don't know whether it can be solved using Maple. The first question is that I have a text file, the data of which has been sorted using Unix procedure SORT. Since the data has been sorted, we just need to compare consecutive lines. Our aim is to count the total number of the same lines of this file and obtain the maximum number of the same consecutive lines. For example, the data of the file, named file.txt, is:


I want to get two numbers: the total number of the same lines 5 and the maximum number of the same consecutive lines 3. Another question is, given a string s, if s is not contained in this file, then the program returns NULL;otherwise, the program returns the total number it appears and the specific line numbers it appears. For instance, suppose the string is s=1,0,5,-4,4,0, then it returns the total number 3 and the line numbers 4,5,6.

Best regards,


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:

A:=Matrix([ [1,2,3],[4,5,6],[7,8,9]]);
MTM:-diag(A);  #1
LinearAlgebra:-Diagonal(A);  #2
Student:-LinearAlgebra:-Diagonal(A);  #3

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?




in summary, I have a problem with the evaluation of a matrix multiplication between matrices with trigonometric entries.

Im a bloody beginner with Maple, so sorry in case this question is stupid or I posted in a wrong way!


There is the 6x6-Matrix  L, which has entries like:  Lmn = L1 + L2 cos(2 phi + phi_0).

I want to transform this Matrix L with  the 3x6 rotational Matrices T and its 6x3 Inverse-Matrix  T_p_inverse, 

like:                              L_transformated = T * L * T_p_inverse


The problem is, that I don't get Maple to simplify the solution.

I tried combine, simplify, expand, evala, but maple does not combine and simplify the solution. Due to the trigonometric entries and orthonomal row-vectors in T, I expect the solution to be quite simple.

Attached you find my worksheet!

It would be great if somebody can help me or give me a hint!

Thanks a lot!



Here are the exact Matrices:






I am trying to define commutation rules between operators a1, a2, b1, b2.

Setup(mathematicalnotation = true);

Setup(op = {a1, a2, b1, b2});
alias(A = %AntiCommutator);
algebra := [A(a1, a1) = 0, A(a2, a2) = 0, A(a1, a2) = 0, A(b2, a1) = 0, A(a1, b1) = 1,
A(a2, b2) = 1];
tup(algebrarules = algebra);

However, the command Setup(algebrarules = algebra); causes an error. What is wrong? Noteworthy that if commutator is considered instead of anticommutator alias(A = %Commutator); then correct result follows.
Thank you.


I would like to start with the following set of 9 elements,
A = { E11, E12, E21, E22, E11+E12, E11+E21, E12+E22, E21+E22, E11+E12+E21+E22 }.

I need a procedure that takes each of those elements and creates 3 new ones in the following way: Eij becomes Eij1, Eij2, Eij1+Eij2. So for example, E11 will become: E111, E112, and E111+E112. And for example the fifth element in A (i.e. E11+E12) will become the 3 new elements: E111+E121, E112+E122, and E111+E121 + E112+E122.

Since each of the 9 elements gets triplicated, there will be a new set, call it B, with 27 elements.

B = {E111, E112, E111+E112, E121, E122, E121+E122, ... }

Now I want to repeat this process of triplicating again so that, for example, E111 becomes: E1111, E1112, and E1111+E1112. And so on. This new set C will have 81 elements. Now I want to repeat this one last time. The final set, D, will have 243 (3^5) elements. 

Step 2: 

For every pair of elements x and y in D, I want to compute z:=(x+y)mod2. If z already belongs to D, discard it, otherwise, place z in the set D2. Do this until there are no more elements to add together (note that if x+y is computed then I don't want y+x to be computed also--that's inefficient). Maybe the most efficient way is to perform all possibly combinations of x+y mod 2 to create the set D2 and then just go: D2 setminus D.

Step 3: For x in D and y in D2 perform all possible combinations of z:=(x+y)mod2 and place these in D3 then perform set subtraction again: D3 minus D2 minus D.

Repeat this process again: x in D and y in D3 to create new elements in D4. Repeat again until Dm is empty (that is, D(m-1) will be the last set that contains new elements). I'm expecting around 12 sets... 

The issue with this whole algorithm is that I often run out of memory so I need a clever way to do this, since this algorithm is essentially classifying 2^32 elements into disjoint sets. Thank you! 

I figured how to insert row in middle of a matrix using <<>> notation. But I am trying to stick to one notation which is the Matrix() and Vector() for now. 

Here is what I am trying to do. Insert a row in the third row of  Matrix. This works:

A:=< <1|2|3>,<4|5|6>,<7|8|9>>;

But when I try

A:=Matrix([ [1,2,3],[4,5,6],[7,8,9]]);
A:=Matrix([ A[1..2,..], [91,92,92], A[3,..] ]);

Error, (in Matrix) this entry is too tall or too short: [91, 92, 92]

I also tried:
A:=Matrix([ A[1..2,..], Vector[row](91,92,92), A[3,..] ]);
A:=Matrix([ A[1..2,..],Matrix([[91,92,92]]), A[3,..] ]);

I am starting to think I should go back to using <<|,|,|>> notation, even thought I do not like it, but at least it seems more logical. 
How would you insert row in middle of matrix, using Matrix() constructor from an existing Matrix?



I have a polynomial p in two variables x and y, and I want to extract all the coefficients of p. For example, let p:=x^3+2*x*y^2-2*y^2+x, and I want to obtain the coefficient vector [1,0,0,1,0,2,0,0,-2,0], where 1,0,0,1,0,2,0,0,-2,0 are respectively the coefficients of x^3, x^2, x^2*y,x,x*y,x*y^2,y^0,y,y^2,y^3. In general, let 

p(x,y)=sum(sum(c_*{i, j}*x^(n-i)*y^j, j = 0 .. i), i = 0 .. n)






It is possible that some coefficients c_{i,j} are equal to 0. How to obtain the coefficient vector [c_{i,j},i=0..n,j=0..i] of p(x,y)?

Thanks a lot.

2 3 4 5 6 7 8 Last Page 4 of 1046