#1の補足に対する回答
私が使用しているMathematicaは最新のVersion 5.2のWindows版ですが、質問者さんのはどのVersionですか?
>A = {{a11 + i*b11, a12 + i*b12}, {a21 + i*b21, a22 + i*b22}}
の出力は
{{a11 + b11 i, a12 + b12 i}, {a21 + b21 i, a22 + b22 i}}
となって、iはただの変数として認識されます。
A = {{a11 + I*b11, a12 + I*b12}, {a21 + I*b21, a22 + I*b22}}
虚数単位の「i=√(-1)」はシステム変数ですので大文字の「I」で入力しないと正しく認識されませんね。こうすると正しく入力されます。「I」の出力表示は小文字のiのベクトル表示のような記号で表示されます。
(Mathematicaでは組込み関数名やシステム定数の先頭文字を大文字で表しますので、通常の変数名や行列名の先頭文字は小文字を使った方がべターですね。)
>Conjugate[A]...
を入力すると私のversionでの出力は以下のようになります。
{{Conjugate[a11 + I b11], Conjugate[a12 + I b12]},
{ Conjugate[a21 + I b21], Conjugate[a22 + I b22]}}
ここで、a'sやb'sに具体的な数値を与えると以下のように正しくConjugateが計算されて出力されます。
a11 = 1
b11 = 2
a12 = 2
b12 = 3
a21 = 3
b21 = 4
a22 = 4
b22 = 5
Conjugate[A]
この出力は以下の通り。
{{1 - 2 I, 2 - 3 I}, {3 - 4 I, 4 - 5 I}}
「Conjugate」という表示は消えていますね。
ここで、{a11,a12,a21,a22,b11,b12,b21,b22}⊂Realsは定義しなくてもDefaultで定義されるようです。
a's,b'sを文字のまま扱った場合
>Simplify[A,Assumptions->
>{a11,a12,a21,a22,b11,b12,b21,b22}∈Reals]
>とすれば
>
>{{a11-i*b11,a12-i*b12},{a21-i*b21,a22-*b22}}
{{a11+I b11,a12+ I b12},{a21+ I b21,a22+I b22}}
と出力されます。これは特にSimplify関数を使わなくても
A
と入力するだけで同じ結果がOutされます。(Version5.2)
A = {{a11 + I*b11, a12 + I*b12}, {a21 + I*b21, a22 + I*b22}}
B=Conjugate[A]
Simplify[B, Assumptions -> {a11, a12, a21, a22, b11, b12, b21, b22} ∈ Reals]
と入力すると矢張り
{{Conjugate[a11 + I b11], Conjugate[a12 + I b12]}, {Conjugate[a21 + I b21], Conjugate[a22 + I b22]}}
となります。
確認してみてください。
ということは以下の
>Assumptions->{????}
の????の入力をしても意味がないですね。
というより定義しなくてもDefaultで定義されてしまうようです。つまり、入力の必要がないということになりますね。
いずれにしても
a'sやb'sに具体的な定数を与えれば<Conjugate>という表現の入らないOutが得られるということです。
文字変数を行列要素に使っている限りConjugateの表現は、現在の最新Version5.2でも消すことはできないようです。
お礼
ありがとうございました。