复指数函数

转自维基百科

计算复数 z 的 exp(z)

非常直接的给出公式

e^{x + yi} = e^xe^{yi} = e^x(\cos(y) + i \sin(y)) = e^x\cos(y) + ie^x\sin(y). \,

注意给三角函数的参数 y 是实数。

[编辑]计算复数 a 和 b 的 ab

直接给出公式:

如果 a = x + yi 且 b = u + vi,先把 a 转换到极坐标,需要找到满足如下条件的 \theta 和 r:

re^{​{\theta}i} = r\cos\theta + i r\sin\theta = a = x + yi \,

 x = r\cos\theta \, 且  y = r\sin\theta \,

所以,x^2 + y^2 = r^2 \, 或 r = \sqrt{x^2 + y^2} \, 而且 \tan\theta = \frac{y}{x} \, 或 \theta = arctan2(y,x) \,

现在我们有:

a = re^{​{\theta}i} = e^{\ln(r) + {\theta}i} \,

所以:

a^b = (e^{\ln(r) + {\theta}i})^{u + vi} = e^{(\ln(r) + {\theta}i)(u + vi)} \,

指数因此是两个复数值的简单乘积生成复数结果,它可以接着通过如下公式转换回到正规的笛卡尔坐标:

e^{p + qi} = e^p(\cos(q) + i\sin(q)) = e^p\cos(q) + ie^p\sin(q) \,

这里的 p 是乘法的实部:

p = u\ln(r) - v\theta \,

而 q 是乘法的虚部:

q = v\ln(r) + u\theta \,

注意在这些计算中所有 x, y, u, v, r, \thetap 和 q 都是实数值。a^b \, 的结果因此是 p + qi \,

还要注意因为我们计算和使用了 \ln(r) \, 而不是 r 自身,你不需要计算平方根。转而简单的计算 \ln(r) = \frac12\ln(x^2 + y^2) \,。预防潜在的上溢出并尽可能在计算 x^2 + y^2 \, 之前通过适当的 2 幂按比例缩减 x 和 y,如果 x 和 y 太大就会上溢出。如果你有下溢出的危险,在计算平方和之前通过适当的 2 的幂按比例增加它们。在任何一个情况下,你可以接着得到按比例缩放版本的 x 称为 x' \,,和按比例缩放版本的 y 称为 y' \,,因此得到:

x = x'2^s \, 和  y = y'2^s \,

这里的 2^s \, 是缩放因子。

接着得到 \ln(r) = \frac12(\ln(x'^2 + y'^2) + s) \, 这里的 x' \, 和 y'\,  被缩放了使得平方和不上溢出或下溢出。如果 x 是非常大而 y 是非常小,因而不能找到这样一个缩放因子,你就会上溢出所以这个和本质上等于 x^2 \,,因为 y 被忽略了,因此你在这种情况下得到了 r = |x| \, 和 \ln(r) = \ln(|x|) \,。同样情况出现在 x 非常小而 y 非常大的时候。如果两个都非常小或都非常大就可以找到前面提到的缩放因子。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值