1 .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de)
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" Distributed under GPL
7 .\"*******************************************************************
9 .\" This file was generated with po4a. Translate the source file.
11 .\"*******************************************************************
13 .\" Japanese Version Copyright (c) 2003 Akihiro MOTOKI
14 .\" all rights reserved.
15 .\" Translated 2003-08-02, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
16 .\" Updated 2005-02-20, Akihiro MOTOKI
18 .TH COMPLEX 7 2011\-09\-16 "" "Linux Programmer's Manual"
22 \fB#include <complex.h>\fP
24 複素数は z = a+b*i の形式の数である。 a と b は実数であり、 i は i = sqrt(\-1) つまり i*i = \-1
27 複素数を表現する別の方法もある。実数の組 (a,b) は X座標、Y座標で 指定された平面上の点と見ることができる。この同じ点は、実数の組
28 (r,phi) で表すこともできる。r は原点 0 からの距離であり、phi は X軸と 0 と z を結ぶ線分がなす角である。このとき、 z =
29 r*exp(i*phi) = r*(cos(phi)+i*sin(phi)) の関係が成り立つ。
31 2つの複素数 z = a+b*i, w = c+d*i に関する基本演算は次のように定義される:
33 \fB加法: z+w = (a+c) + (b+d)*i\fP
35 \fB乗法: z*w = (a*c \- b*d) + (a*d + b*c)*i\fP
37 \fB除法: z/w = ((a*c + b*d)/(c*c + d*d)) + ((b*c \- a*d)/(c*c + d*d))*i\fP
39 ほとんど全ての数学関数に関して複素数版があるが、 複素数専用の関数も幾つかある。
41 使用する C コンパイラが C99 標準をサポートしていれば複素数を使うことができる。
42 \fI\-lm\fP をつけてリンクすること。虚数単位は I で表現される。
45 /* exp(i * pi) == \-1 となることを確認する */
46 #include <math.h> /* for atan */
53 double pi = 4 * atan(1.0);
54 double complex z = cexp(I * pi);
55 printf("%f + %f * i\en", creal(z), cimag(z));
59 \fBcabs\fP(3), \fBcacos\fP(3), \fBcacosh\fP(3), \fBcarg\fP(3), \fBcasin\fP(3),
60 \fBcasinh\fP(3), \fBcatan\fP(3), \fBcatanh\fP(3), \fBccos\fP(3), \fBccosh\fP(3),
61 \fBcerf\fP(3), \fBcexp\fP(3), \fBcexp2\fP(3), \fBcimag\fP(3), \fBclog\fP(3), \fBclog10\fP(3),
62 \fBclog2\fP(3), \fBconj\fP(3), \fBcpow\fP(3), \fBcproj\fP(3), \fBcreal\fP(3), \fBcsin\fP(3),
63 \fBcsinh\fP(3), \fBcsqrt\fP(3), \fBctan\fP(3), \fBctanh\fP(3)
65 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.64 の一部
66 である。プロジェクトの説明とバグ報告に関する情報は
67 http://www.kernel.org/doc/man\-pages/ に書かれている。