複素数の変数を含む式
Mathematica は,通常,
等の変数が実数でも複素数でも特に区別せず演算できる.それでも,変数を実数か複素数に特定した上で変換操作を行いたいときがあるだろう.
ComplexExpandは代数式や三角関数の式を展開するのに使うが,変数の取れる型は明確に条件付けられる.
複素数からなる式の展開

と

がともに実数であるとして,式を展開する.
| Out[1]= |  |
この式では,

は実数である.だが

は複素数であり,展開すると実数部と虚数部に分解される.
| Out[2]= |  |
複素変数が1つ増えただけで,展開した形は非常に複雑になる.
| Out[3]= |  |
実数のパラメータを使い複素数の変数 z を表す方法はいくつかある.例えば,先に示したように,z は「直交座標の形式」でRe[z]+I Im[z]と書ける.また,「極形式」なら,Abs[z] Exp[I Arg[z]]と書ける.
ComplexExpandの指定にオプションTargetFunctionsの設定を付加することで,複素数の変数をどう表すべきか指定できる.TargetFunctionsには{Re, Im, Abs, Arg, Conjugate, Sign}の中の関数をリスト形式で割り付ける.すると,ComplexExpandが,与えられた関数を使い展開式の変数を書き直してくれる.何も指定していないときは, ReとImがデフォルトで使われる.
| Out[4]= |  |
| Out[5]= |  |
| Out[6]= |  |