複素ベクトルの内積

ベクトルの内積はDot[a,b]で計算できる。しかし、複素ベクトルの場合はΣai* biで定義されるので、aの複素共役を取る必要がある。組み込み関数Dotはこれに対応していないので、自分で定義する必要がある。

複素ベクトルx, yに対する内積を計算する関数を、cDotとでもして
cDot[x_, y_] := Inner[Conjugate[#1] #2 &, x, y, Plus]
こんな具合に定義する。

追記
わざわざInnerを使わなくても、Conjugateはリストに適用できるので、
cDot[x_, y_] := Dot[Conjugate[x], y]
これで良かった。
ヘルプのConjugate # アプリケーションも参照。

いいなと思ったら応援しよう!