首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MuPad:处理矩阵表达式时无法使用符号扩展

MuPad:处理矩阵表达式时无法使用符号扩展
EN

Stack Overflow用户
提问于 2012-07-13 13:41:53
回答 1查看 187关注 0票数 0

我正在使用MuPad,以便有一个符号工具来寻找方程的解。但我使用的是矩阵。

请考虑以下内容:

代码语言:javascript
复制
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]]]
])

这个函数使我能够获得矩阵的块表示,并且它是有效的。现在考虑这个函数

代码语言:javascript
复制
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将以不同的顺序向我显示矩阵乘积

例如。考虑一下

代码语言:javascript
复制
myfun(matrix([[A11,A12],[A21,A22]]))

返回的矩阵的第一个分量element (1,1)是A11*A21*A22,这是不正确的,是A11,A12,A21,A22矩阵!

我如何告诉MuPad A11、A12、A21和A22是矩阵,这样MuPad才能正确扩展产品?

EN

回答 1

Stack Overflow用户

发布于 2013-03-17 18:38:22

在MuPAD中,您可以在矩阵中包含矩阵,只要您显式地将它们放入其中。仅仅告诉系统将A1*A2视为非交换是更困难的,并且没有得到很好的支持。您可以完全创建自己的数据类型并相应地实现算术,但如果您仍然希望简化,那么这并不一定容易。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11464785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档