Items tagged with matrices matrices Tagged Items Feed


Say if I need a^T * b * a, I will do this:

VectorMatrixMultiply(Transpose(a), b);
VectorMatrixMultiply(%, a);

But this seems too long for such a simple matrix (and vector) computation. I am sure there must be an short way.

What if I need more computation, like


a^T * b * c*d*f*g* a, where c,d,f,g are other 2x2 matrices.
 If I were to use the above command, that'll take a long time to input.


Hi there

I have have a 18*18 matrix which almost each of its element are in symbolic form. Now I need to have all of its eigenvectors. Unfortunately when I use the "Eigenvalues()" function in maple i got nothing. In fact I got the error which comes below.

Error, (in content/polynom) general case of floats not handled

I need to know if there's a solution to eliminate the error? If not, what can I do to determine the eigenvectors and eigenvalues in symbolic form?

I'll be appreciated your help

Hi everyone,

I have a question regarding the derivation of tensors/matrices.
Let's assume for simplicity, that I have a vector (6x1) s and a matrix A (6x6)defining Transpose(s)*Inverse(A)*s. From this function I want to calculate the derivative w.r.t. s. My approach would be


Transpose(s)*Inverse(A)*s, s)

As a result I get

though I'd rather expect something like Inverse(A)*s + Transpose(s)*Inverse(A)

Now as I'm pretty new to Maple, I can imagine that my approach is wrong, but I don't know any better and can't seem to get any information out of the help documents.

Thanks in advance for any of your suggestions!



how to calculate the first step

(2,0) -> (1,1,1) and (1,4) -> (1,2,0)

how to use maple command to get (1,1,1) and (1,2,0)

how to use maple command to calculate rep(h)


to get (0,-1/2,1) and (1,-1,0)


I have two 6x1 Matrices which are the results of a calculation process in Maple. One with a set of equations and the other one with a set of variables: 

A := [0, f(x6), f(x6), 0, 0, f(x6)];

b := [x1, x2, x3, x4, x5, x6];

I'd like to solve the following system:

for i from 1 to 6 do

eq[i] := A[i] = b[i]:


which is

eq[1] := 0 = x1;

eq[2] := f(x6) = x2;

eq[3] := f(x6) = x3;



If I type in the eqations manually, and execute "s := solve({eq[1],..,eq[6]},{x1,..,x6})" everything solves fine.

If I use the "for i from..." - structure, and execute "s := solve({eq[1],..,eq[6]},{x1,..,x6})" I get an empty space as solution.

I've tried to convert both matrices into lists, but it doesn't work.

Could it be that Maple doesnt know that x6 has to be the x6 in the function f(x6) ?

Can anyone tell me how to solve this please?

Hey Guys

I'm designing some stuff for controll theory

There I met following problem:

I want calculate the matrix A which is the product of X and G.

A is 6x6 matrix and all values in the diagonal  are ones, the rest is undefined and should be calculated

X is 6x6 diagonal matrix with the values X1...X6

and G is also 6x6 and have all these values.


now I'm stuck 'cause I haven't used Maple frequently (only some simple stuff up to now, nothing with matrices)

I'd really appreciate it, if someone can tell how to tackle this problem


Let A and B be matrices of dimensions 3,2 and 2,3 corresondingly. It is
known Multiply(A,B)=Matrix([[8, 2, -2], [2, 5, 4], [-2, 4, 5]])

 What is Multiply(B,A)?

I want to introduce a matrix of order M by M as for any m, M, pl help as show in file



Say I have a 3x3 matrix with real entries (like 3.4) and want to compute, say, A^(11). How can I do it and only have 5 digits in the output? I set Digits:=5; and used MatrixPower -- but got 10 digits, which is way too many for the classroom presentation.

I'm trying to create and populate the Array `A` with a sequence of lower triangular matrices based on the following relation:

A[k+1][i,j] = a (1+k) A[k][i,j] + b ((1+j) A[k][i-1,j] - j A[k][i-1,j-1])

The rows and columns of each matrix are given by i and j; a and b are scalars. The structure of A is not important provided a matrix can be accessed for a given k. The highest k value will not be more than about 100.

The starting matrix for k=1 is

[-1  0]
[ 1 -1]

Any guidance on where to start with setting up the appropriate procedure would be greatly appreciated.


Greetings to all.

It is a new year (for some time now) and I am writing to indicate that the mathematical adventures with cycle index computations and Maple continue!

Here are the previous installments:

My purpose this time is to alert readers who might be interested to a new cycle index computation that is neither an application of the classical form of the Polya Enumeration Theorem (PET) nor of Power Group Enumeration. The former counts objects being distributed into slots with a group acting on the slots and the latter objects going into slots with a second group which permutes the objects in addition to the slots being permuted. What I am about to present treats a third possible case: when the slot permutation group and the object permutation group are one and the same and act simultaneously (not exactly the same but induced by the action of a single group).

This requires quite radical proceedings in the etymological sense of the word, which is to go back to the roots of a problem. It seems that after working with the PET sooner or later one is confronted with enumeration problems that demand the original unmitigated power of Burnside's lemma, sometimes called the lemma that is not Burnside's. This is the case with the following problem. Suppose you have an N-by-N matrix whose entries are values from 1 to N, with all assignments allowed and the symmetric group on N elements acts on the row and column indices permuting rows and columns as well as the entries simultaneously. We ask how many such matrices there are taking these double symmetries into account. This also counts the number of closed binary operations on a set of N elemnents and there is a discussion as well as the Maple code (quite simple in my opinion and no more than a few lines) that solves this problem at the following Math Stackexchange link, which uses Lovasz Formula for the cycle index of the symmetric group which some readers may remember.

In continuing the saga of Polya and Burnside exploration I have often reflected on how best to encapsulate these techniques in a Maple package. With this latest installment it would appear that a command to do Burnside enumeration probably ought to be part of such a package.

Best regards,

Marko Riedel

Is it just me that is being daft, or am I correct in ascerting that there does still not exist (even in Maple 17) a command for taking the commutator of two matrices?

As far as I can tell from the help pages, there exists only a commutator of vector fields (in the tensor package), and a commutator af algebraic quantities (in the Physics package).

Not having such a command for matrices is, of course, not critical, as it is very easily programmed, but I am just surprised, for something as fundamental as checking some representation of a Lie algebra, say, requires taking such commutators.

Hi, I am trying to write a procedure that inputs two matrices (A,B) and vector (C), it then multiplies C by A, and thenC by B and adds these to the array, it then multiplies each other them by A and B and adds them to the array etc up to (N-1)^2 (N will be given), this is what I hve so far, I am trying to write an if loop inside to say if it's already in the array then do not add it again but i'm unsure. Any help would be appreciated thanks!


local x, S, i, j, T, R, y;
while (i<(2^N)) do
for y from 0 to j do
if (S[y]=T) then
end proc:

Hi, I am currently creating a procedure so that i can input two matrices and a vector and multiply them together in different patterns, I want the result to be either one of the vectors {4,0,0,0} or {0,4,0,0} or {0,0,4,0} or {0,0,0,4}, I am trying to create an if loop that says is one of the S's is equal to one of these print ("Synchronising"), I have decalred these vectors inside the procedure and all the S's but my if statement is still not working. I think S needs to be decalred more clearly inside but i'm unsure what to do, any help would be much appreciaited! Here is my procedure:


local s, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, e, f, g, h;
if (s7 = e)then
elif (s7 = g) then
print ("Synchronising")
elif (s7 = h) then
print ("Synchronising")
elif (s7 = g) then
print("Not Synchronising");
end if;

return s, s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14;
end proc:



1 2 3 Page 1 of 3