私は最近、Roman Maeder による小さなパッケージを再発見しました。このパッケージは、Mathematica に x == y などの式に対して算術関数や同様の関数を自動的にスレッド化するように指示します。Maeder のパッケージへのリンク。
まず、デモンストレーションとして、Maeder の例を次に示します。
In[1]:= Needs["EqualThread`"]
次に、スレッド動作を使用して、次の x の方程式を「手で」解きます。
In[7]:= a == b Log[2 x]
In[8]:= %/b
Out[8]:= a/b == Log[2 x]
べき乗します:
In[9]:= Exp[%]
Out[9]= E^(a/b) == 2 x
そして2で割ります:
In[10]:= %/2
Out[10]= (E^(a/b))/2 == x
Q:設計の観点から,Mathematica がデフォルトでこのように動作するように設定されている理由を誰か説明できますか? 自動スレッド化は Mathematica の初心者が期待するタイプの動作のように思えます.---少なくとも私には---システム全体に問題を引き起こす可能性のある例を誰かが提供できるかもしれません. (そして、Mathematica の無知を遠慮なく指摘してください...)