[問題] 自定符號運算的分配律運算
我想用符號 ⊙(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 ) ] ]
我請想問有沒有方法可以解決這個問題
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.71.14
推
04/28 00:49, , 1F
04/28 00:49, 1F
→
04/28 00:49, , 2F
04/28 00:49, 2F
推
04/28 00:53, , 3F
04/28 00:53, 3F
討論串 (同標題文章)
完整討論串 (本文為第 1 之 2 篇):
Mathematica 近期熱門文章
PTT數位生活區 即時熱門文章