Julia 复数和有理数

简介: 在 Julia 中,预定义的复数和有理数类型支持多种数学运算。复数形式为 `a+bi`,其中 `a` 是实部,`b` 是虚部,`i` 是虚数单位(满足 `i^2 = -1`)。全局常量 `im` 表示 `i`。Julia 提供了如 `real`(获取实部),`imag`(获取虚部),`conj`(获取复共轭),`abs`(获取绝对值)和 `angle`(获取相位角)等函数来操作复数。例如,`abs2(z)` 返回 `z` 的平方绝对值,避免了开平方根。

Julia 复数和有理数

本章节我们主要要来学习 Julia 的复数和有理数。

Julia 语言包含了预定义的复数和有理数类型,并且支持它们的各种标准数学运算和初等函数。

复数

复数,为实数的延伸,它使任一多项式方程都有根。

我们把形如 z=a+bi(a、b均为实数)的数称为复数。其中,a 称为实部,b 称为虚部,i 称为虚数单位,它有着性质。当 z 的虚部 b=0 时,则 z 为实数;当 z 的虚部 b≠0 时,实部 a=0 时,常称 z 为纯虚数。

全局常量 im 被绑定到复数 i,表示 -1 的主平方根。

Julia 提供了一些操作复数的标准函数:

实例
julia> z = 1 + 2im
1 + 2im

julia> real(1 + 2im) # z 的实部
1

julia> imag(1 + 2im) # z 的虚部
2

julia> conj(1 + 2im) # z 的复共轭
1 - 2im

julia> abs(1 + 2im) # z 的绝对值
2.23606797749979

julia> abs2(1 + 2im) # 取平方后的绝对值
5

julia> angle(1 + 2im) # 以弧度为单位的相位角
1.1071487177940904
按照惯例,复数的绝对值(abs)是从零点到它的距离。abs2 给出绝对值的平方,作用于复数上时非常有用,因为它避免了取平方根。

相关文章
|
1月前
复数相加
复数相加。
42 5
|
6月前
537. 复数乘法
537. 复数乘法
Julia 复数和有理数
在 Julia 中,预定义的复数和有理数类型支持多种数学运算。复数以 `a+bi` 形式表示,其中 `a` 是实部,`b` 是虚部,`i` 是虚数单位。全局常量 `im` 等于 `-1` 的平方根,简化了复数的书写。例如,`1+2im` 是一个复数。可以进行加、减、乘、除和幂运算,如 `(1 + 2im)^2.5` 结果是 `-3 - 4im`。有理数未在此摘要中提及。
|
6月前
|
C语言
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
C语言-----计算两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同?
|
6月前
|
BI
1051 复数乘法 (15 分)
1051 复数乘法 (15 分)
|
7月前
|
存储 安全 程序员
C/C++中的整数乘法运算与汇编指令MUL和IMUL
C/C++中的整数乘法运算与汇编指令MUL和IMUL
165 0
|
7月前
|
C语言
[C语言][题]两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同。
[C语言][题]两个int(32位)整数m和n的二进制表达中,有多少个位(bit)不同。
51 1
|
7月前
|
存储 C++
[C++/PTA] 矩阵的乘法运算
[C++/PTA] 矩阵的乘法运算
156 0
华为机试HJ57:高精度整数加法
华为机试HJ57:高精度整数加法
|
算法 Python
如何将算法翻译成RTL(二):带小数的加减法实现
如何将算法翻译成RTL(二):带小数的加减法实现
185 0