跳到主要内容

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 复数
  • 输出: 反双曲正切