Subscript[w, j] で微分された Subscript[w, i] が KroneckerDelta[i, j] であることを Mathematica に教えたい。
私は試した
Unprotect[D]; D[Subscript[x_, i_], Subscript[x_, j_]] :=
KroneckerDelta[i, j]; Protect[D]
これは D[Subscript[w, i], Subscript[w, j]] では機能しますが、より複雑な式、たとえば D[Times[k, Subscript[w, i]], Subscript[w, j]] では機能しません。
この質問への答えから、Mathematica で D と交換する関数を定義する方法は理解できますが、Mathematicaは私のルールに一致しませんが、その理由はわかりません。Mathematica が積規則を使用せずに、私の規則を呼び出さないのはなぜですか?