Mathematica は代数を操作するための多くの高レベル関数も提供します.これらの中にはExpand
、Apart
、Together
、Cancel
がありますが、他にもかなりの数があります。
また、同じ変換を方程式の両側 (つまり、 headを使用した式Equal
) に適用する特定の例については、関数を使用できます。これは、Thread
関数と同じようにMultBothSides
機能しますが、はるかに一般的です。
In[1]:= expression = 2 a == a b
Out[1]:= 2 a == a b
In[2]:= Thread[expression /a, Equal]
Out[2]:= 2 == b
In[3]:= Thread[expression - c, Equal]
Out[3]:= 2 a - c == a b - c
提示されたソリューションのいずれにおいても、そのステップが何を伴うかを比較的簡単に確認できるはずです。もう少し明示的なものが必要な場合は、次のように独自の関数を作成できます。
In[4]:= ApplyToBothSides[f_, eq_Equal] := Map[f, eq]
In[5]:= ApplyToBothSides[4 * #&, expression]
Out[5]:= 8 a == 4 a b
head だけでなく、任意の head を持つ式でMultBothSides
機能するという事実を利用するのは、関数の一般化です。Mathematica になじみのない聴衆とコミュニケーションを取ろうとしている場合,このような名前を使うとより明確にコミュニケーションをとることができます.関連する流れとして、Ira Baxter が提案する置換規則を使用する場合は、構文糖衣を使用する代わりに、Replace または ReplaceAll を記述すると役立つ場合があります。Map
List
/.
In[6]:= ReplaceAll[expression, a -> (x + y)]
Out[6]:= 2 (x + y) == b (x + y)
変数名の代わりに実際の方程式を入力に含めた方が明確であると思われexpression
、ノートブック インターフェイスを使用している場合はexpression
、マウスで単語を強調表示し、コンテキスト メニューを呼び出して、[次で評価] を選択します。場所"。
ノートブックのインターフェースは、「リテラシーなプログラミング」を行うのにも非常に快適な環境であるため、言葉ではすぐにわからない手順を説明することもできます。メディアに関係なく、数学的な証明を書くとき、これは良い習慣だと思います。