2012-08-01 4 views
1

wxMaxima에서 간단한 행렬 조작을 원합니다. 제가 직면하고있는 문제는 Maxima가 항상 행렬의 개별 요소의 관점에서 해답을 제공한다는 것입니다. 여기 예가 있습니다 :Maxima (wx)에서 matricies 조작

확장하고 싶습니다. (A + B) (A + B)` 여기서 A와 B는 2x2 메트릭입니다.

하지만 I 얻는 것은 매트릭스처럼

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

[(B2 + A2)^2 + 그럼 출력을 표시 할 (b1 + a1)^2 .......]

[.............................. .... .......] (모든 요소를 ​​입력하는 대신에 점을 넣었습니다.)

Maxima가 행렬을 조작하지 않고 행렬을 조작하도록 강요하는 방법이 있습니까? ?

감사

+0

당신은 지연 평가를 사용 모든 행렬을 앞에 수 아포스트로피 (''')이지만 단순화 후에도 계속 확장됩니다. [This] (http://www.math.utexas.edu/pipermail/maxima/2009/015950.html) 스레드는 원하는 것에 근접합니다. – Thor

+0

그래서 방정식의 일부분 뒤에 아포스트로피를 두는 것은 Maxima가 그것을 평가하는 것을 멈추게되어 있습니까? 그것은 나를 위해 일하지 않습니다. 난 단지 잘못된 구문 오류가 발생합니다 ... – Mas

+0

접두사는 "이전에 장소"를 의미합니다. "A. 전치 ('A)'. – Thor

답변

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)