一、torch.polar的使用
torch.polar
是 PyTorch 中用来生成复数张量的一个函数,但它与数学中的复数表达式 ( z = re^{i\theta} ) 是等价的。
具体来说,torch.polar(abs, angle)
接受两个实数张量参数:
abs
:表示复数的模长(绝对值)。angle
:表示复数的相角(以弧度为单位)。
函数的返回值是一个复数张量 ( z ),其中每个元素的值为:
[
z = \text{abs} \cdot e^{i \cdot \text{angle}}
]
这符合复数的极坐标形式,实际上就是将给定的模和角转化为复数的笛卡尔坐标形式 ( z = x + yi ),其中:
[
x = \text{abs} \cdot \cos(\text{angle})
]
[
y = \text{abs} \cdot \sin(\text{angle})
]
示例
import torch
# 模和角
abs_tensor = torch.tensor([1.0, 2.0, 3.0])
angle_tensor = torch.tensor([0.0, 3.1415926 / 2, 3.1415926]) # 0, π/2, π
# 使用 torch.polar 生成复数
complex_tensor = torch.polar(abs_tensor, angle_tensor)
print(complex_tensor)
# 输出: tensor([ 1.0000e+00+0.0000e+00j, 1.2246e-16+2.0000e+00j, -3.0000e+00+3.6739e-16j])
从结果可以看出:
- 对于 ( \theta = 0 ),复数是 ( 1+0j )。
- 对于 ( \theta = \pi/2 ),复数是 ( 0+2j )。
- 对于 ( \theta = \pi ),复数是 ( -3+0j )。
因此,torch.polar
是 PyTorch 中基于极坐标生成复数的一种实现,但其底层是通过欧拉公式 ( e^{i\theta} = \cos(\theta) + i\sin(\theta) ) 转化到复数的。
二、欧拉公式
数学中,复数的欧拉公式(Euler’s formula)定义了一个非常重要的关系:
[
e^{i\theta} = \cos\theta + i\sin\theta
]
其中:
- ( \theta ) 是实数,表示角度,通常以弧度为单位。
- ( \cos\theta ) 是角度 ( \theta ) 的余弦值。
- ( \sin\theta ) 是角度 ( \theta ) 的正弦值。
- ( i ) 是虚数单位,满足 ( i^2 = -1 )。
欧拉公式通过将指数函数 ( e^{i\theta} ) 和三角函数 ( \cos ) 与 ( \sin ) 联系起来,揭示了复数、三角学和指数运算之间的深刻关系。
特殊情况
欧拉公式在某些特定角度 ( \theta ) 下具有有趣的结果:
-
当 ( \theta = 0 ):
[
e^{i\cdot0} = \cos(0) + i\sin(0) = 1 + 0i = 1
] -
当 ( \theta = \pi ):
[
e^{i\pi} = \cos(\pi) + i\sin(\pi) = -1 + 0i = -1
] -
当 ( \theta = \frac{\pi}{2} ):
[
e^{i\frac{\pi}{2}} = \cos\left(\frac{\pi}{2}\right) + i\sin\left(\frac{\pi}{2}\right) = 0 + i = i
] -
当 ( \theta = 2\pi ):
[
e^{i\cdot2\pi} = \cos(2\pi) + i\sin(2\pi) = 1 + 0i = 1
]
复数表示
通过欧拉公式,复数 ( z ) 可以以极坐标的形式表示为:
[
z = re^{i\theta}
]
其中:
- ( r ) 是复数的模,表示复数到原点的距离。
- ( \theta ) 是复数的相角,表示复数与正实轴之间的角度。
这表明复数的表示可以分为模长和角度两个部分。
总结
欧拉公式 ( e^{i\theta} = \cos\theta + i\sin\theta ) 是复数理论和数学分析中的一个重要公式,它将指数函数和三角函数联系在一起,广泛应用于物理学、工程学和计算机科学等领域。
数学复数
数学中的复数是由一个实数部分和一个虚数部分组成的数,通常表示为:
[
z = a + bi
]
其中:
- ( a ) 是实数部分 (( \text{Re}(z) ));
- ( b ) 是虚数部分的系数 (( \text{Im}(z) ));
- ( i ) 是虚数单位,满足 ( i^2 = -1 )。
复数的几何表示
复数可以在复平面上表示为一个点或向量:
- 横坐标为实部 ( a );
- 纵坐标为虚部 ( b )。
复数也可以用极坐标形式表示为:
[
z = r (\cos \theta + i \sin \theta)
]
或者用欧拉公式简化为:
[
z = r e^{i\theta}
]
其中:
- ( r = |z| = \sqrt{a^2 + b^2} ) 是复数的模;
- ( \theta = \arg(z) = \tan^{-1}\left(\frac{b}{a}\right) ) 是复数的辐角(以弧度表示)。
复数形式在数学、物理和工程学中有广泛的应用,尤其是在处理波动、信号分析和电路等领域。