(x+y)^2;
2
(x + y)
と、この形のままで処理しようとしますが、expand を使うと、
次のように展開してくれます。
expand((x+y)^2);
2 2
2 x y + x + y
expand が有効なのは文字式だけではありません。
例えば、
x:=(1+sqrt(5))/2; y:=(1-sqrt(5))/2;としたあと、
x*y;
/ 1/2 \ / 1/2 \
| 5 | | 5 |
| 1/2 - ---- | | ---- + 1/2 |
\ 2 / \ 2 /
という具合になり、歯がゆい思いをすることになります。 こういうときは、expand を用いてやればいいのです。
expand(x*y);
-1
ああすっきり。