COMPLEX(7) | Linux Programmer's Manual | COMPLEX(7) |
名前
complex -複素数の数学の基礎書式
#include <complex.h>説明
複素数は z = a+b*i の形式の数である。 a と b は実数であり、 i は i = sqrt(-1) つまり i*i = -1 の関係を満たす。2つの複素数 z = a+b*i, w = c+d*i に関する基本演算は次のように定義される:
- 加法: z+w = (a+c) + (b+d)*i
- 乗法: z*w = (a*c - b*d) + (a*d + b*c)*i
- 除法: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c - a*d)/(c*c + d*d))*i
ほとんど全ての数学関数に関して複素数版があるが、複素数専用の関数も幾つかある。
例
使用する C コンパイラが C99 標準をサポートしていれば複素数を使うことができる。 -lm をつけてリンクすること。虚数単位は I で表現される。/* exp(i * pi) == -1 となることを確認する */
#include <math.h> /* for atan */
#include <stdio.h>
#include <complex.h>
int
main(void)
{
double pi = 4 * atan(1.0);
double complex z = cexp(I * pi);
printf("%f + %f * i\n", creal(z), cimag(z));
}
関連項目
cabs(3), cacos(3), cacosh(3), carg(3), casin(3), casinh(3), catan(3), catanh(3), ccos(3), ccosh(3), cerf(3), cexp(3), cexp2(3), cimag(3), clog(3), clog10(3), clog2(3), conj(3), cpow(3), cproj(3), creal(3), csin(3), csinh(3), csqrt(3), ctan(3), ctanh(3)この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。2011-09-16 |