我想用符号 ⊙(CircleDot) 来表示我所需要的一种运算
其中一个 ⊙ 必须满足的运算规则是对加法 +(Plus) 的分配律
ex: i ⊙ ( j + k ) = i ⊙ j + i ⊙ k
我在 mathematica 的 Documentation Center 找到一个内建函数 Distribute 可以达到
做分配律的运算
例如当我输入
Distribute[ i ⊙ ( j + k ) ]
其结果是
i ⊙ j + i ⊙ k
这似乎是满足我的需求, 但当我想把它写成更一般的代换规则时问题就来了
我输入了一行如下的程式码
a_ ⊙ b_ := Distribute[ a ⊙ b ]
期望之后所有的输入当遇到 ⊙ 时就自动使用分配律
但这时我只要再输入 ⊙ 有关的运算就会出现无限递回
例如输入
i ⊙ ( j + k )
结果是
$RecursionLimit::reclim: Recursion depth of 256 exceeded. >>
$RecursionLimit::reclim: Recursion depth of 256 exceeded. >>
Hold[ Hold[ i ⊙ ( j + k ) ] ]
我请想问有没有方法可以解决这个问题