跳转到内容

虛數單位

本页使用了标题或全文手工转换
维基百科,自由的百科全书
(重定向自-i)
虛數單位i在複平面的位置。橫軸是實數,豎軸是虛數
高斯整數導航
↑
2i
−1+i i 1+i
← −2 −1 0 1 2 →
−1−i −i 1−i
−2i
↓

在數學、物理及工程學裏,虛數單位是指二次方程x2+1=0的解。虽然沒有這樣的实数可以滿足這個二次方程,但可以通過虛數單位将實數系統ℝ延伸至复数系統ℂ。延伸的主要動機為有很多實係數多項式方程式無實數解。例如剛才提到的方程式x2+1=0就無實數解。可是倘若我們允許解答為虛數,那麼這方程式以及所有的多項式方程式都有解。虛數單位通常標記為i,但在涉及电气、电机工程等电学相关领域时,则往往标记为j,这是为了避免与电流(记为i(t)或i)相混淆。

定義

[编辑]
…
i−3=i
i−2=−1
i−1=−i
i0=1
i1=i
i2=−1
i3=−i
i4=1
i5=i
i6=−1
…

虛數單位i定義為二次方程式x2+1=0的兩個根中的一個。這方程式又可等價表達為:

x2=−1。

由於實數的平方絕不可能是負數,我們假設有這麼一個數目解答,給它設定一個符號i。很重要的一點是,i是一個良定義的數學構造。

另外,虛數單位同樣可以表示為:

i=−1

然而i=−1往往被誤認為是錯的,他們的證明的方法是:

因為−1=i⋅i=(−1)×(−1)=(−1)×(−1)=1=1,但是-1不等於1。
但請注意:a⋅b=a⋅b成立的條件有a,b不能為負數。

實數運算可以延伸至虛數與複數。當計算一個表達式時,我們只需要假設i是一個未知數,然後依照i的定義,替代任何i2的出現為-1。i的更高整數冪數也可以替代為−i,1,或i,根據下述方程式:

i3=i2i=(−1)i=−i,
i4=i3i=(−i)i=−(i2)=−(−1)=1,
i5=i4i=(1)i=i。

一般地,有以下的公式:

i4n=1
i4n+1=i
i4n+2=−1
i4n+3=−i
in=inmod4

其中mod4表示被4除的余数。

補充定义

[编辑]

虚数单位 i 是复数域 ℂ 中的一个基本元素,其核心性质由以下等价方式之一定义:

代数定义

[编辑]

作为二次方程 x2+1=0 的一个解。即,i 是满足方程

i2=−1

的数。由于该方程在实数域 ℝ 内无解,引入 i 是构造更广的数系——复数域的关键步骤。

作为有序对

[编辑]

在复数严格的公理化构造中,复数定义为有序对 (a,b),其中 a,b∈ℝ。在此框架下,虚数单位 i 被定义为有序对

i:=(0,1)。

而复数的乘法规则定义为 (a,b)⋅(c,d)=(ac−bd,ad+bc)。由此可验证:

i2=(0,1)⋅(0,1)=(0⋅0−1⋅1,0⋅1+1⋅0)=(−1,0)=−1。

这一定义完全绕开了“负数的平方根”这一初始概念,从而在逻辑上更为基础。

i和-i

[编辑]

方程x2=−1有两个不同的解,它们都是有效的,且互为共轭虚数及倒數。更加确切地,一旦固定了方程的一个解i,那么−i(不等于i)也是一个解,由于这个方程是i的唯一的定义,因此这个定义表面上有歧义。然而,只要把其中一个解选定,并固定为i,那么实际上是没有歧义的。这是因为,虽然−i和i在数量上不是相等的(它们是一对共轭虚数),但是i和−i之间没有质量上的区别(-1和+1就不是这样的)。在任何的等式中同時將所有i替換為-i,該等式仍成立。

−i2=1
−i=i−1=1i


正当的使用

[编辑]

虚数单位有时记为−1。但是,使用这种记法时需要非常谨慎,这是因为有些在实数范围内成立的公式在复数范围内并不成立。例如,公式a⋅b=a⋅b仅对于非负的实数a和b才成立。

假若這個關係在虚数仍成立,則會出現以下情況:

−1=i⋅i=−1⋅−1=(−1)⋅(−1)=1=1(不正确)
−1=i⋅i=±−1⋅±−1=±(−1)⋅(−1)=±1=±1(不正确)
1i=1−1=1−1=−1=i(不正确)

与主平方根的关系

[编辑]

在复数域中,“平方根”是一个多值函数。对于非负实数 a,符号 a 通常指其唯一的非负实平方根(称为**算术平方根**或**主平方根**)。然而,对于负数或一般的复数,符号 z 必须明确其分支的选择。通常,复数的**主平方根**函数定义为其辐角落在区间 (−π,π] 内的那个根。 在这种约定下,−1 的主值是 i(而非 −i)。即便如此,涉及多个复数的主平方根的恒等式也普遍不成立。因此,在处理复数时,最安全且清晰的做法是直接使用符号 i 及其基本性质 i2=−1 进行计算,避免对负数直接应用根号运算法则。

i的运算

[编辑]
虛數單位i的平方根在複平面的位置

利用复数的运算规则和欧拉公式,可以对虚数单位 i 进行各种数学运算,包括平方根、幂、对数和三角函数。以下运算除特殊说明外,均为与 i 有关的多值函数,在实际应用时必须指明函数的定义选择在黎曼面的哪一支。下面列出的仅仅是最常采用的黎曼面分支的计算结果。

基本运算与幂循环

[编辑]

虚数单位 i 的整数幂遵循一个周期为4的循环:

i1=i,i2=−1,i3=−i,i4=1,

一般地,对任意整数 n,有:

in=inmod4

其中 mod4 表示被4除的余数。

平方根

[编辑]

i 的平方根为:

i=±(22+22i)=±22(1+i)

使用算术平方根符号表示其主值:

i=22(1+i)

其解法為先假設兩實數 x 及 y,使得 (x+iy)2=i,然后求解 x,y。[1]

一般幂运算

[编辑]

利用欧拉公式 eiθ=cos⁡θ+isin⁡θ,可以将虚数单位表示为指数形式:

i=ei(π2+2kπ),其中 k∈ℤ 为任意整数。

由此可推导出更一般的幂运算公式。设 a,b,c∈ℝ,且 a>0,则有:

  • 以 i 为指数的幂(实数的虚数次幂):
ai=eiln⁡a=cos⁡(ln⁡a)+isin⁡(ln⁡a)

这是一个模为1的复数,其几何意义是在复平面上将点1旋转 ln⁡a 弧度。

  • 以虚数为指数的幂(实数底数的纯虚数次幂):
abi=ebiln⁡a=cos⁡(bln⁡a)+isin⁡(bln⁡a)
  • 复数的复数次幂(最一般的情况):
ab+ci=ab⋅aci=ab[cos⁡(cln⁡a)+isin⁡(cln⁡a)]

此公式清晰地分离了结果在复平面上的**伸缩因子** ab 和**旋转因子** aci。

  • 最为人熟知的特例:i 的 i 次幂
ii=[ei(π2+2kπ)]i=ei2(π2+2kπ)=e−(π2+2kπ),k∈ℤ

代入不同的 k 值,可計算出無限多的解。当 k=0 時,得到其主值 e−π2≈ 0.207879576...[2]

对数

[编辑]
  • 以 i 为底的对数:

对于正实数 x>0,有:

logix=2ln⁡xiπ=−i⋅2ln⁡xπ(取主值)
  • 更一般地,对于正实数 a>0 且 a≠1,以 i 为底的对数可由换底公式导出:
logia=ln⁡aln⁡i=ln⁡ai(π2+2kπ)=−i⋅2ln⁡a(4k+1)π, k∈ℤ。

这是一个纯虚数,且由于 ln⁡i 的多值性,其结果也有无穷多个值。

三角与双曲函数

[编辑]

以下恒等式揭示了虚数单位如何联系三角函数与双曲函数,这是欧拉公式的直接推论。对于实数 x:

cos⁡(ix)=cosh⁡xsin⁡(ix)=isinh⁡xtan⁡(ix)=itanh⁡x

这些公式表明,对虚自变量的三角函数求值,会转化为实自变量的双曲函数。

作为直接应用,可以计算:

cos⁡i=cosh⁡1=e+1e2=e2+12e≈1.54308064...
sin⁡i=isinh⁡1=e−1e2i=e2−12ei≈(1.17520119...)i

在程式語言

[编辑]

代码示例

[编辑]

以下是一些编程语言中定义虚数单位 i 及进行基本复数运算的方法:

编程语言 示例代码 (定义虚数单位与基础运算) 备注与输出示例
Python
# 虚数单位用后缀 j 表示
i = 1j
print(f"虚数单位 i = {i}")
print(f"i 的平方 i² = {i ** 2}")
# 输出:虚数单位 i = 1j
# 输出:i 的平方 i² = (-1+0j)

# 复数构造与运算
z1 = 3 + 4j    # 复数字面量
z2 = complex(1, -2)  # complex(实部, 虚部) 函数
print(f"复数 z1 = {z1}")
print(f"复数 z2 = {z2}")
print(f"z1 + z2 = {z1 + z2}")  # 加法:(4+2j)
print(f"z1 * z2 = {z1 * z2}")  # 乘法:(11-2j)

# 使用 cmath 模块进行更多运算
import cmath
print(f"e^(i*π) = {cmath.exp(1j * cmath.pi)}")  # 欧拉公式,近似 (-1+1.2246467991473532e-16j)
* Python 原生支持复数类型,属于 complex 类。
  • 虚部使用后缀 j 或 J 表示。
  • 可用 real 和 imag 属性获取实部与虚部。
  • cmath 模块提供复变函数。
C语言 (C99标准)
#include <complex.h>
#include <stdio.h>

int main(void) {
    // 宏 I 表示虚数单位 i
    double complex i = I;
    double complex z1 = 3.0 + 4.0 * I;
    double complex z2 = 1.0 - 2.0 * I;

    // 基本运算
    double complex i_squared = i * i;
    double complex sum = z1 + z2;
    double complex product = z1 * z2;

    // 输出结果,creal()和cimag()分别提取实部和虚部
    printf("i² = %.2f %+.2fi\n", creal(i_squared), cimag(i_squared));
    // 输出:i² = -1.00 +0.00i
    printf("z1 + z2 = %.2f %+.2fi\n", creal(sum), cimag(sum));
    // 输出:z1 + z2 = 4.00 +2.00i
    printf("z1 * z2 = %.2f %+.2fi\n", creal(product), cimag(product));
    // 输出:z1 * z2 = 11.00 -2.00i

    return 0;
}
* 需包含 <complex.h> 头文件,并使用标准宏 I 表示虚数单位。
  • 复数类型为 double complex、float complex 等。
  • 运算符号(+, *, -)与普通算术一致。
  • 使用 creal() 和 cimag() 函数提取复数的实部与虚部。
  • 编译时需支持C99标准(如使用 gcc -std=c99)。

註解

[编辑]
  1. ^ University of Toronto Mathematics Network: What is the square root of i? (页面存档备份,存于互联网档案馆) URL retrieved March 26, 2007.
  2. ^ "The Penguin Dictionary of Curious and Interesting Numbers" by David Wells, Page 26.
  3. ^ Rob Pike. Constants. The Go Blog. 2014-08-25 [2022-05-27]. (原始内容存档于2022-06-28). 

参见

[编辑]

参考文献

[编辑]
  • Paul J. Nahin, An Imaginary Tale, The Story of √-1, Princeton University Press, 1998

外部链接

[编辑]