0
我正在使用MuPad以便有一個符號工具來爲方程找到解決方案。但我正在使用矩陣。MuPad:在處理基礎表達式時無法使用符號擴展
考慮一下:
blck := A -> matrix([
[A[1..linalg::matdim(A)[1]/2,1..linalg::matdim(a)[2]/2],
A[1..linalg::matdim(A)[1]/2,linalg::matdim(A)[2]/2+1..linalg::matdim(A)[2]]],
[A[linalg::matdim(A)[1]/2+1..linalg::matdim(A)[1],1..linalg::matdim(A)[2]/2],
A[linalg::matdim(A)[1]/2+1..linalg::matdim(A)[1],linalg::matdim(A)[2]/2+1..linalg::matdim(A)[2]]]
])
此功能使我有一個矩陣的框圖表示和它的作品。現在考慮這個功能
myfun := A -> matrix([[blck(A)[1,1]*blck(A)[2,2]*blck(A)[2,1],blck(A)[1,1]],
[blck(A)[1,1],blck(A)[1,1]]])
這將操縱一個矩陣並返回其組件以某種方式組合的矩陣。問題在於,考慮到我不能告訴MuPad矩陣A及其組件是矩陣而不是實數,碰巧MuPad會以不同順序向我展示矩陣產品
例如,考慮
myfun(matrix([[A11,A12],[A21,A22]]))
返回的矩陣的第一部件,元件(1,1),是A11 * A21 * A22這是不正確的存在A11,A12,A21,A22矩陣!
我如何告訴MuPad A11,A12,A21和A22是矩陣,以便MuPad能正確擴展產品?