7. complex.h — 复数运算
提供复数运算。头文件: <complex.h>。
7.1 基本操作
double creal( double complex z) / float crealf(float complex z) / long double creall(long double complex z)
取实部。
- 输入: z 复数
- 输出: 实部
double cimag( double complex z) / float cimagf(float complex z) / long double cimagl(long double complex z)
取虚部。
- 输入: z 复数
- 输出: 虚部
double cabs( double complex z) / float cabsf(float complex z) / long double cabsl(long double complex z)
模 |z|。
- 输入: z 复数
- 输出: |z| = sqrt(实部^2 + 虚部^2)
double carg( double complex z) / float cargf(float complex z) / long double cargl(long double complex z)
辐角。
- 输入: z 复数
- 输出: [-π, π]
double complex conj(double complex z) / float complex conjf(float complex z) / long double complex conjl(long double complex z)
共轭复数。
- 输入: z 复数
- 输出: 实部不变,虚部取反
double complex cproj(double complex z) / float complex cprojf(float complex z) / long double complex cprojl(long double complex z)
黎曼球投影。
- 输入: z 复数
- 输出: 无穷映射到有限球面上
7.2 复数指数与对数
double complex cexp(double complex z) / float complex cexpf(float complex z) / long double complex cexpl(long double complex z)
e^z。
- 输入: z 复数
- 输出: e^z
double complex clog(double complex z) / float complex clogf(float complex z) / long double complex clogl(long double complex z)
ln(z)
- 输入: z 复数(z != 0)
- 输出: ln|z| + i*arg(z)
7.3 复数幂运算
double complex cpow(double complex x, double complex y) / float complex cpowf(float complex x, float complex y) / long double complex cpowl(long double complex x, long double complex y)
x^y。
- 输入: x 底数, y 指数
- 输出: x^y = e^(y*ln(x))
double complex csqrt(double complex z) / float complex csqrtf(float complex z) / long double complex csqrtl(long double complex z)
复数平方根。
- 输入: z 复数
- 输出: 平方根(实部非负)
7.4 复数三角函数
csin(z) / csinf(z) / csinl(z)
正弦。
- 输入: z 复数
- 输出: 正弦
ccos(z) / ccosf(z) / ccosl(z)
余弦。
- 输入: z 复数
- 输出: 余弦
ctan(z) / ctanf(z) / ctanl(z)
正切。
- 输入: z 复数
- 输出: 正切
casin(z) / casinf(z) / casinl(z)
反正弦。
- 输入: z 复数
- 输出: 反正弦
cacos(z) / cacosf(z) / cacosl(z)
反余弦。
- 输入: z 复数
- 输出: 反余弦
catan(z) / catanf(z) / catanl(z)
反正切。
- 输入: z 复数
- 输出: 反正切
csinh(z) / csinhf(z) / csinhl(z)
双曲正弦。
- 输入: z 复数
- 输出: 双曲正弦
ccosh(z) / ccoshf(z) / ccoshl(z)
双曲余弦。
- 输入: z 复数
- 输出: 双曲余弦
ctanh(z) / ctanhf(z) / ctanhl(z)
双曲正切。
- 输入: z 复数
- 输出: 双曲正切
casinh(z) / casinhf(z) / casinhl(z)
反双曲正弦。
- 输入: z 复数
- 输出: 反双曲正弦
cacosh(z) / cacoshf(z) / cacoshl(z)
反双曲余弦。
- 输入: z 复数
- 输出: 反双曲余弦
catanh(z) / catanhf(z) / catanhl(z)
反双曲正切。
- 输入: z 复数
- 输出: 反双曲正切