虚数单位

维基百科,自由的百科全书
(重定向自-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

}}

外部链接[编辑]