MATLAB: Help with indexing in MuPAD

mupad

Hi,
I am looking for some help to do the following in MuPAD :
AA := sum(sum(q[i][j],i=1..2),j=1..2)
This gives me AA = q11 + q12 + q21 + q22. Now I want to specify that q12 = q21. How would I do that? I tried to use the 'Assume' command in MuPAD, but haven't made much progress.
Also, What is the difference between writing 'q_1' and 'q[1]' in MuPAD. I guess the first one refers to a subscript while the second one acts like an index. Is this right?
Thanks,
yogesh

Best Answer

q_1 is a full symbol name that happens to be displayed as if there is a subscript, but there is no relationship between (say) q_1 and q_2 .
q[1] uses the indexing method of the datatype that "q" is.
Your code will not give
AA = q11 + q12 + q21 + q22
it will give
AA = q[1][1] + q[1][2] + q[2][1] + q[2][2]
Unless, that is, that q[1][1] happens to have been given a value that the symbol q11 (and so on.) Which is possible if you defined q as a Matrix but did not initialize it.
Did you try
assume(q[1][2] = q[2][1])
Also, when you defined q, did you try giving it parameters for special properties such as Symmetric ?