gsl 复数

一、复数的表示

  复数的两种表示:

  gsl复数结构的声明和部分宏在gsl_complex.h中,方法的声明和另一部分宏在gsl_complex_math.h。复数的表示(结构)有三种,即float型、double型和long double型。dat[0]表示实部,dat[1]表示虚部。应注意的是,在gsl_complex_math.h中,所有的方法都是关于gsl_complex和double的。

 1 typedef struct
 2   {
 3     long double dat[2];
 4   }
 5 gsl_complex_long_double;
 6 
 7 typedef struct
 8   {
 9     double dat[2];
10   }
11 gsl_complex;
12 
13 typedef struct
14   {
15     float dat[2];
16   }
17 gsl_complex_float;

二、复数的创建

1 gsl_complex gsl_complex_polar (double r, double theta); /* r= r e^(i theta) */
2 gsl_complex gsl_complex_rect (double x, double y);  /* r= real+i*imag */

  两个函数对应两种不同的表示方法,但返回的结构是一样的。在gsl_complex.h中定义了用于获取实部、获取虚部的宏,在gsl_complex_math.h声明了获取模和弧度的函数。

用于判断复数是否相等、设置复数、设置实部、设置虚部的宏定义在gsl_complex.h中。

#define GSL_REAL(z)     ((z).dat[0])
#define GSL_IMAG(z)     ((z).dat[1])
double gsl_complex_arg (gsl_complex z); /* return arg(z), -pi< arg(z) <=+pi */
double gsl_complex_abs (gsl_complex z);   /* return |z|   */

三、复数的运算

  • 1个求弧函数
  • 3个取模运算(|z|,|z|^2,log |z|)
  • 12个四则运算(复数与复数,复数与实数,复数与虚数)
  • 共轭
  • 复数倒数
  • -z(“复数相反数”)
  • 2个开方运算(被开方数为复数或实数,结果都是复数)
  • 2个乘方运算(指数为复数或实数)
  • exp()
  • 3个对数运算(底数为e、10、z)
  • 三角函数反三角函数
  • 双曲函数反双函数

2018-01-02

转载于:https://www.cnblogs.com/dda9/p/8175573.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值