虚数单位

维基百科,自由的百科全书
(重定向自−i
跳转到导航 跳转到搜索
File:ImaginaryUnit5.svg
虚数单位<math>i</math>在复平面的位置。横轴是实数,竖轴是虚数
高斯整数导航
2i
−1+i i 1+i
−2 −1 0 1 2
−1−i i 1−i
−2i
各种各样的
基本

<math>\mathbb{N}\subseteq\mathbb{Z}\subseteq\mathbb{Q}\subseteq\mathbb{R}\subseteq\mathbb{C}</math> File:NumberSetinC.svg

延伸
其他

圆周率 <math>\pi = 3.14159265 </math>…
自然对数的底 <math>e = 2.718281828 </math>…
虚数单位 <math>i = \sqrt{ -{ 1} } </math>
无限大 <math>\infty</math>

数学物理工程学里,虚数单位是指二次方程<math>x^2 + 1 = 0</math>的解。虽然没有这样的实数可以满足这个二次方程,但可以通过虚数单位将实数系统<math>\mathbb{R}</math>延伸至复数系统<math>\mathbb{C}</math>。延伸的主要动机为有很多实系数多项式方程式无实数解。例如刚才提到的方程式<math>x^2 + 1 = 0</math>就无实数解。可是倘若我们允许解答为虚数,那么这方程式以及所有的多项式方程式都有解。虚数单位通常标记为<math>i</math>,但在涉及电气电机工程电学相关领域时,则往往标记为<math>j</math>,这是为了避免与电流(记为<math>i(t)</math>或<math>i</math>)相混淆。

定义[编辑]

<math>\ldots</math>
<math>{ {i}^{-{ 3}} } = i </math>
<math>{ {i}^{-{ 2}} } = -1 </math>
<math>{ {i}^{-{ 1}} } = -i </math>
<math>{ {i}^{0} } = 1 </math>
<math>{ {i}^{1} } = i </math>
<math>{ {i}^{2} } = -1 </math>
<math>{ {i}^{3} } = -i </math>
<math>{ {i}^{4} } = 1 </math>
<math>{ {i}^{5} } = i </math>
<math>{ {i}^{6} } = -1 </math>
<math>\ldots</math>

虚数单位<math>i</math>定义为二次方程式<math>x^2 + 1 = 0</math>的两个根中的一个。这方程式又可等价表达为:

<math>{ {x}^{2} } = -1 </math>。

由于实数的平方绝不可能是负数,我们假设有这么一个数目解答,给它设定一个符号<math>i</math>。很重要的一点是,<math> i </math>是一个良定义的数学构造。

另外,虚数单位同样可以表示为:

<math>i = \sqrt{ -{ 1} } </math>

然而<math>i = \sqrt{ -{ 1} } </math>往往被误认为是错的,他们的证明的方法是:

因为<math>-1 = i\cdot i=\left(\sqrt{-1}\right)\times\left(\sqrt{-1}\right)=\sqrt{\left(-1\right)\times\left(-1\right)}=\sqrt{1}=1</math>,但是-1不等于1。
但请注意:<math>\sqrt{a \cdot b}=\sqrt{a}\cdot\sqrt{b}</math>成立的条件有<math>a</math>,<math>b</math>不能为负数

实数运算可以延伸至虚数与复数。当计算一个表达式时,我们只需要假设<math>i</math>是一个未知数,然后依照<math>i</math>的定义,替代任何<math>i^2</math>的出现为-1。<math>i</math>的更高整数幂数也可以替代为<math>-i</math>,<math>1</math>,或<math>i</math>,根据下述方程式:

<math>i^3 = i^2 i = (-1) i = -i</math>,
<math>i^4 = i^3 i = (-i) i = -(i^2) = -(-1) = 1</math>,
<math>i^5 = i^4 i = (1) i = i</math>。

一般地,有以下的公式:

<math>i^{4n} = 1</math>
<math>i^{4n+1} = i</math>
<math>i^{4n+2} = -1</math>
<math>i^{4n+3} = -i</math>
<math>i^n = i^{n \bmod 4}</math>

其中<math>\bmod 4</math>表示被4除的余数

补充定义[编辑]

虚数单位 <math>i</math> 是复数域 <math>\mathbb{C}</math> 中的一个基本元素,其核心性质由以下等价方式之一定义:

代数定义[编辑]

作为二次方程 <math>x^2 + 1 = 0</math> 的一个解。即,<math>i</math> 是满足方程

<math>i^2 = -1</math>

的数。由于该方程在实数域 <math>\mathbb{R}</math> 内无解,引入 <math>i</math> 是构造更广的数系——复数域的关键步骤。

作为有序对[编辑]

在复数严格的公理化构造中,复数定义为有序对 <math>(a, b)</math>,其中 <math>a, b \in \mathbb{R}</math>。在此框架下,虚数单位 <math>i</math> 被定义为有序对

<math>i := (0, 1)</math>。

而复数的乘法规则定义为 <math>(a, b) \cdot (c, d) = (ac - bd, ad + bc)</math>。由此可验证:

<math>i^2 = (0, 1) \cdot (0, 1) = (0\cdot0 - 1\cdot1, 0\cdot1 + 1\cdot0) = (-1, 0) = -1</math>。

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

i-i[编辑]

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

<math>-i^2 = 1</math>
<math>-i = i^{-1} = \frac{1}{i}</math>


正当的使用[编辑]

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

假若这个关系在虚数仍成立,则会出现以下情况:

<math>-1 = i \cdot i = \sqrt{-1} \cdot \sqrt{-1} = \sqrt{(-1) \cdot (-1)} = \sqrt{1} = 1</math>(不正确)
<math>-1 = i \cdot i = \pm \sqrt{-1} \cdot \pm \sqrt{-1} = \pm \sqrt{(-1) \cdot (-1)} = \pm \sqrt{1} = \pm 1</math>(不正确)
<math>\frac{1}{i} = \frac{\sqrt{1}}{\sqrt{-1}} = \sqrt{\frac{1}{-1}} = \sqrt{-1} = i</math>(不正确)

与算术平方根的关系[编辑]

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

i的运算[编辑]

File:Imaginary2Root.svg
虚数单位<math>i</math>的平方根在复平面的位置

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

基本运算与幂循环[编辑]

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

<math>\begin{align}

i^1 &= i, \\ i^2 &= -1, \\ i^3 &= -i, \\ i^4 &= 1, \end{align}</math> 一般地,对任意整数 <math>n</math>,有:

<math>i^n = i^{n \bmod 4}</math>

其中 <math>\bmod 4</math> 表示被4除的余数

平方根[编辑]

<math>i</math> 的平方根为:

<math>\sqrt{i} = \pm \left( \frac{\sqrt{2}}{2} + \frac{\sqrt{2}}{2} i \right) = \pm \frac{\sqrt{2}}{2}(1 + i)</math>

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

<math>\sqrt{i} = \frac{\sqrt{2}}{2}(1 + i)</math>

其解法为先假设两实数 <math>x</math> 及 <math>y</math>,使得 <math>(x + iy)^2 = i</math>,然后求解 <math>x, y</math>。[1]

一般幂运算[编辑]

利用欧拉公式 <math>e^{i\theta} = \cos \theta + i \sin \theta</math>,可以将虚数单位表示为指数形式:

<math>i = e^{i\left(\frac{\pi}{2} + 2k\pi\right)}</math>,其中 <math>k \in \mathbb{Z}</math> 为任意整数。

由此可推导出更一般的幂运算公式。设 <math>a, b, c \in \mathbb{R}</math>,且 <math>a > 0</math>,则有:

  • 以 <math>i</math> 为指数的幂(实数的虚数次幂):
<math>a^{i} = e^{i \ln a} = \cos(\ln a) + i \sin(\ln a)</math>

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

  • 以虚数为指数的幂(实数底数的纯虚数次幂):
<math>a^{b i} = e^{b i \ln a} = \cos(b \ln a) + i \sin(b \ln a)</math>
  • 复数的复数次幂(最一般的情况):
<math>a^{b + c i} = a^{b} \cdot a^{c i} = a^{b} \left[ \cos(c \ln a) + i \sin(c \ln a) \right]</math>

此公式清晰地分离了结果在复平面上的**伸缩因子** <math>a^b</math> 和**旋转因子** <math>a^{c i}</math>。

  • 最为人熟知的特例:<math>i</math> 的 <math>i</math> 次幂
<math>i^i = \left[ e^{i (\frac{\pi}{2} + 2k \pi)} \right]^i = e^{i^2 (\frac{\pi}{2} + 2k \pi)} = e^{-(\frac{\pi}{2} + 2k \pi)}</math>,<math>k \in \mathbb{Z}</math>

代入不同的 <math>k</math> 值,可计算出无限多的解。当 <math>k = 0</math> 时,得到其主值 <math>e^{-\frac{\pi}{2}} \approx</math> 0.207879576...[2]

对数[编辑]

  • 以 <math>i</math> 为底的对数:

对于正实数 <math>x > 0</math>,有:

<math>\log_i x = {{2 \ln x} \over i\pi} = -i \cdot \frac{2 \ln x}{\pi}</math>(取主值)
  • 更一般地,对于正实数 <math>a > 0</math> 且 <math>a \neq 1</math>,以 <math>i</math> 为底的对数可由换底公式导出:
<math>\log_i a = \frac{\ln a}{\ln i} = \frac{\ln a}{i\left(\frac{\pi}{2} + 2k\pi\right)} = -i \cdot \frac{2 \ln a}{(4k+1)\pi}</math>, <math>k \in \mathbb{Z}</math>。

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

三角与双曲函数[编辑]

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

<math>\begin{align}

\cos(i x) &= \cosh x \\ \sin(i x) &= i \sinh x \\ \tan(i x) &= i \tanh x \end{align}</math> 这些公式表明,对虚自变量的三角函数求值,会转化为实自变量的双曲函数。

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

<math>\cos i = \cosh 1 = {{e + \frac{1}{e}} \over 2} = {{e^2 + 1} \over 2e} \approx 1.54308064...</math>
<math>\sin i = i\sinh 1 = {{e - \frac{1}{e}} \over 2} i = {{e^2 - 1} \over 2e} i \approx (1.17520119...) i</math>

在程式语言

代码示例

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

编程语言 示例代码 (定义虚数单位与基础运算) 备注与输出示例
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 类。
  • 虚部使用后缀 jJ 表示。
  • 可用 realimag 属性获取实部与虚部。
  • 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 complexfloat 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

}}

外部链接[编辑]