2012-08-01 143 views
1

我想在wxMaxima中做一些简单的矩阵操作。我面临的问题是Maxima总是通过矩阵的各个元素提供答案。这里是一个例子:在Maxima中操作矩阵(wx)

我想扩大 (A + B)(A + B)` 其中A和B是2x2 matricies。然后我想看到的输出:

AA` + AB` + BA` + BB`,

但我得到的是一个矩阵,如:

[(B2 + A2)^ 2 + (b1 + a1)^ 2 .......]

[.............................. .... .......] (我只是把点而不是输入所有元素)

所以有反正强迫千里马操纵矩阵,而不看他们里面的元素? ?

感谢

+0

你可以使用延迟评价,前缀与所有矩阵撇号('''),但在简化后仍会扩展。 [This](http://www.math.utexas.edu/pipermail/maxima/2009/015950.html)线程接近你想要的。 – Thor 2012-08-01 06:33:45

+0

因此,在方程的一部分之后加上撇号会阻止Maxima评估它?它不适合我。我只是得到不正确的语法错误... – Mas 2012-08-01 11:55:03

+0

前缀表示“之前放置”,例如“A。转置('A)'。 – Thor 2012-08-01 13:49:09

回答

0

如果你没有在矩阵填写,只是声明为非标量,你可以得到你想要的东西:

(%i1) declare([A,B], nonscalar)$ 
     (A+B) . transpose(A+B); 
     %, expand; 

(%o2) (B+A) . (transpose(B)+transpose(A)) 
(%o3) B . transpose(B)+B . transpose(A)+A . transpose(B)+A . transpose(A)