複素数

complex-number.png

C言語標準ライブラリにある複素数クラス

#include <complex>
std::complex<double> alpha;

複素平面

は、ガウス平面とも呼ばれているらしい。

複素数に関するマクロ

COMP_ZERO=0
COMP_UNIT…複素数の単位元]=1である。(complex(1,0))

共役複素数

std::conj(複素数);

ノルム

std::abs(複素数);

とすると、$\|\alpha\|^2$が返ってくる。($\sqrt{\|\alpha\|^2}$)されてないから要注意!
std::nortm(複素数)
もあるみたい?

逆元

$\alpha^{-1} =\frac{\alpha^*}{\|\alpha\|^2}$
複素数の逆元を得るコード

complex inverse(complex alpha){
double n = std::norm(alpha);
return complex(alpha.real()/n,-alpha.imag()/n);
}

サポートサイト Wikidot.com