【发布时间】:2011-03-10 05:30:01
【问题描述】:
我想重载Times 和Plus 用于mathematica 中的矩阵乘法,例如让Times 为BitAnd,Plus 为BitOr,然后进行矩阵乘法。
有没有办法以简单的方式做到这一点,而无需重写我自己的矩阵乘法?
谢谢。
【问题讨论】:
-
请注意,重新定义内置
Times将破坏任何期望矩阵上Times的标准行为的 Mathematica 函数。更安全的选择是定义MyTimes并使用 Notation 包赋予它自己的外观和快捷方式 -
重载的想法不是为其他数据类型提供运算符功能吗?在这种情况下,已经为矩阵定义了 Times。那么,您是否想失去这个预定义的含义并用 BitAnd 和 BitOr 行为覆盖它?你为什么不直接使用后面的功能呢?或者你想使用他们的符号吗?有更好的解决方案。