复数学习笔记
0xyz
·
·
个人记录
7.1 复数的定义
以下 \mathbb{R} 表示实数集。
7.1.1 复数(集)、虚数(集)
我们定义 i=\sqrt{-1},
- 定义复数为所有的 z=a+bi(a,b\in\mathbb{R})。
- 定义虚数为所有的 z=a+bi(a\in\mathbb{R},b\in\mathbb{R}^*)。
- 定义纯虚数为所有的 z=a+bi(a=0,b\in\mathbb{R}^*)。
- 发现实数为所有的 z=a+bi(a\in\mathbb{R},b=0)。
- 将复数集(所有复数组成的集合)记为 \mathbb{C},将虚数集(所有虚数组成的集合)记为 \mathbb{I}。
容易发现 \mathbb{C=I\cup R}。
7.1.2 复数的实部和虚部
然后我们有 a=\operatorname{Re}z,称作复数 z 的实部,也就是复数 z 的实数部分;b=\operatorname{Im}z,称作复数 z 的虚部,也就是虚数部分。
两个复数相等,当且仅当它们的实部和虚部分别相等;两个复数可以比较大小,当且仅当它们都是实数。
7.1.3 复平面
每一个复数 z=a+bi 可以唯一对应平面直角坐标系上的点 (a,b) 一一对应,我们称这个平面为复平面。实数在复平面上所对应的点都在 x 轴上,所以我们称 x 轴为实轴;纯虚数在复平面上所对应的点都在 y 轴上,所以我们称 y 轴为虚轴。
一个复数 z=a+bi 可以与复平面上的一个位置向量 \overrightarrow{OZ}=(a,b) 一一对应。
复平面的引入便于我们数形结合。
7.1.4 复数的三角形式,模和辐角
我们把复数 z 在复平面上对应的点 (a,b) 的极坐标设为 (r,\theta),那么 r=\sqrt{a^2+b^2},\theta=\arctan\frac{b}{a},也就是 a=r\cos\theta,b=r\sin\theta。
因此复数 z=r(\cos\theta+i\sin\theta)(r,\theta\in\mathbb{R})。这就是复数 z 的三角函数形式。
此时我们让复数 z 的模等于 r,记作 |z|=r,它的意义是复数 z 在复平面上的长度。
同时,我们让复数 z 的辐角等于 \theta,记作 \operatorname{Arg} z=\theta。由于三角函数的知识,我们知道如果一个 \theta 满足 \operatorname{Arg} z=\theta,那么 \forall k\in\mathbb{Z},有 \operatorname{Arg} z=\theta+2k\pi。
由于这个东西有无穷多个,我们引入一个新的概念。容易知道复数 z 的所有辐角里有且仅有一个满足 0\le \theta<2\pi,所以我们称满足这个条件的 \theta_0 为复数 z 的辐角主值,记作 \operatorname{arg} z=\theta_0。
7.1.5 复数的指数形式
由欧拉公式 e^{i\theta}=\cos\theta+i\sin\theta(可以用泰勒展开证明),我们得知复数 z=r(\cos\theta+i\sin\theta)=re^{i\theta}(r,\theta\in\mathbb{R})。
指数形式在进行关于复数的乘法及指数运算时非常方便。
7.2 复数的基本运算
7.2.1 加减乘除与乘方
首先是加减乘除。有 2 个复数 z_1=a+bi,z_2=c+di(a,b,c,d\in\mathbb{R})。
\begin{aligned}z_1+z_2&=(a+bi)+(c+di)\\&=(a+c)+(b+d)i\end{aligned}
\begin{aligned}z_1-z_2&=(a+bi)-(c+di)\\&=(a-c)+(b-d)i\end{aligned}
\begin{aligned}z_1\cdot z_2&=(a+bi)\cdot(c+di)\\&=ac+adi+bci+bdi^2\\&=(ac-bd)+(ab+bc)i\end{aligned}
\begin{aligned}\frac{z_1}{z_2}&=\frac{a+bi}{c+di}\\&=\frac{(a+bi)(c-di)}{(c+di)(c-di)}\\&=\frac{ac-adi+bci-bdi^2}{c^2-d^2i^2}\\&=\frac{(ac+bd)+(-ad+bc)i}{c^2+d^2}\end{aligned}
容易验证,它们都满足正常加减乘除所满足的性质。
然后是复数在指数形式和三角形式下的乘法。有两个复数 z_1=r_1e^{i\theta_1},z_2=r_2e^{i\theta_2}。
\begin{aligned}z_1\cdot z_2&=r_1e^{i\theta_1}\cdot r_2e^{i\theta_2}\\&=r_1(\cos\theta_1+i\sin\theta_1)\cdot r_2(\cos\theta_2+i\sin\theta_2)\\&=r_1r_2[(\cos\theta_1+i\sin\theta_1)(\cos\theta_2+i\sin\theta_2))]\\&=r_1r_2[(\cos\theta_1\cos\theta_2-\sin\theta_1\sin\theta_2)+i(\cos\theta_1\sin\theta_2+\sin\theta_1\cos\theta_2)]\\&=r_1r_2[\cos(\theta_1+\theta_2)+i\sin(\theta_1+\theta_2)]\\&=r_1r_2e^{i(\theta_1+\theta_2)}\end{aligned}
所以,我们就有:
\begin{cases}r_1e^{i\theta_1}\cdot\ r_2e^{\theta_2}=r_1r_2e^{i(\theta_1+\theta_2)}\\r_1(\cos\theta_1+i\sin\theta_1)\cdot r_2(\cos\theta_2+i\sin\theta_2)=r_1r_2[\cos(\theta_1+\theta_2)+i\sin(\theta_1+\theta_2)]\end{cases}
因此,复数的乘法可以归纳为“模相乘,辐角相加”。
同时,我们有了复数的乘方。棣莫弗定理:(re^{i\theta})^n=r^ne^{in\theta}(n\in\mathbb{Z})。
7.2.2 复数的开方
对于一个 n\in\mathbb{N},n\ge 2,z_n\in\mathbb{C},我们要求方程 z^n=z_n 的所有解。
由于棣莫弗定理,(re^{i\theta})^n=r_ne^{i\theta_n}。
所以 r^ne^{in\theta}=r_ne^{i\theta_n}。因为两个复数相等,所以它们在复平面上对应同一个向量,所以他们的模长相等,即 r^n=r_n。同理,它们的辐角主值也应该相等,所以 n\theta=2k\pi+\theta_n(k\in\mathbb{Z}),\theta。所以所有满足 n\le\theta<2\pi 的 \theta=\frac{2k\pi+\theta_n}{n}(k=0,1,2,…,n-1),一共 n 个。所以我们得知,z_0 的所有不同 n 次方根是 z_k=\sqrt[n]{r_n}e^{i\frac{2k\pi+\theta_n}{n}}(k=0,1,2,…,n-1)。
7.2.3 共轭复数
对于一个复数 z=a+bi,我们设其共轭复数为 \overline{z}=a-bi。
共轭复数有以下运算性质:对于任意复数 z,z_1,z_2 有,
-
\overline{\overline{z}}=z
-
\overline{z_1\pm z_2}=\overline{z_1}\pm\overline{z_2}
-
\overline{z_1\cdot z_2}=\overline{z_1}\cdot\overline{z_2}
-
\overline{z^n}=(\overline{z})^n(n\in\mathbb{Z})
-
\overline{(\frac{z_1}{z_2})}=\frac{\overline{z_1}}{\overline{z_2}}
-
z+\overline{z}=2\operatorname{Re}z,z-\overline{z}=2\operatorname{Im}z
-
z\in\mathbb{R}\Leftrightarrow\overline{z}=z,z\in\{bi\mid b\in R\}\Leftrightarrow \overline{z}=-z
7.2.4 复数的模
我们前面有提到,复数 z=a+bi 的模就是 \sqrt{a^2+b^2},也就是 z=r(\cos\theta+i\sin\theta)=re^{i\theta} 的 r。同时,也就是复数 z 在复平面上所对应的向量 \overrightarrow{OZ} 的长度。
它有以下性质:对于任意复数 z,z_1,z_2 有,
-
|\overline{z}|=|z|,z\cdot \overline{z}=|z|^2
-
|z_1\cdot z_2|=|z_1|\cdot|z_2|
-
|z^n|=|z|^n
-
\big|\frac{z_1}{z_2}\big|=\frac{|z_1|}{|z_2|}(z_2\ne 0)
-
|z|\ge|\operatorname{Re}z|,|z|\ge|\operatorname{Im}z|
-
\big||z_1|-|z_2|\big|\le|z_1+z_2|\le\big||z_1|+|z_2|\big|
7.3 单位根的定义及应用
7.3.1 单位根的定义
对于一个 n\in\mathbb{N}^+,我们称方程 z^n=1 的 n 个解为 n 次单位根 e^{\frac{2k\pi i}{n}}(k=0,1,…,n-1)。习惯性地,用 \omega_n 表示 e^{\frac{2\pi i}{n}}
$2$ 次单位根:$\{1,-1\}$。
$3$ 次单位根:$\{1,\frac{-1+\sqrt3i}{2},\frac{-1-\sqrt3i}{2}\}$。
$4$ 次单位根:$\{1,i,-1,-i\}$。
以此类推。
#### 7.3.2 单位根的性质
1. $n$ 次单位根有 $n$ 个,其中一个是 $1$,
2. 所有 $n$ 次单位根的模长都是 $1$。
3. 所有 $n$ 次单位根等距地分布在复平面的单位圆周上。相邻两点之间的弧对应圆心角永远是 $\frac{2k\pi}{n}$。(这一点比较重要)
4. 所有 $n$ 次单位根都可以写成 $\omega_n$ 的次幂。
5. 两个 $n$ 次单位根的乘积还是一个 $n$ 次单位根。
6. 单位圆上的所有 $n$ 次单位根上下对称,即 $\omega_n^k=\overline{\omega_n^{n-k}}
-
任意一个 n 次单位根乘上它的共轭复数的结果都是 1。
-
-
-
-
所有 n(n\ge 2) 次单位根的和是 0。
\begin{aligned}\sum\limits_{p=0}\limits^{n-1}\omega_n^p&=\frac{\omega_n^n-1}{\omega_n-1}\\&=\frac{1-1}{\omega_n-1}\\&=0\end{aligned}
- 所有 n 次方单位根的 m 次方之和满足:
\sum\limits_{p=0}\limits^{n-1}\omega_n^{pm}=\begin{cases}0,n\nmid m\\n,n\mid m\end{cases}
这是因为当 n\mid m 时,\forall p\in\{0,1,2,…,n-1\},都有 \omega_n^{pm}=1,所以和为 n。
如果 n\nmid m,就有
\begin{aligned}\sum\limits_{p=0}\limits^{n-1}\omega_n^{pm}&=\frac{\omega_n^{pm}-1}{\omega_n^m-1}\\&=\frac{1-1}{\omega_n^m-1}\\&=0\end{aligned}
7.3.3 单位根在多项式乘法中的应用
傅里叶快速变换。链接打不开的话就是我没写完。
7.3.4 单位根在组合问题中的应用
- 请求出 C_{100}^{0}+C_{100}^{3}+C_{100}^{6}+…+C_{100}^{99} 的值。
我们假设 X=C_{100}^{0}+C_{100}^{3}+C_{100}^{6}+…+C_{100}^{99},Y=C_{100}^{1}+C_{100}^{4}+C_{100}^{7}+…+C_{100}^{100},Z=C_{100}^{2}+C_{100}^{5}+C_{100}^{8}+…+C_{100}^{98}。
由二项式定理,我们有
\begin{aligned}X+Y+Z&=C_{100}^{0}+C_{100}^{1}+C_{100}^{2}+…+C_{100}^{100}\\&=1^{0}1^{100}C_{100}^{0}+1^{1}1^{99}C_{100}^{1}+1^{2}1^{98}C_{100}^{2}+…+1^{100}1^{0}C_{100}^{100}\\&=(1+1)^{100}\\&=2^{100}\end{aligned}
令 \omega=e^{\frac{2\pi i}{3}},我们知道 \omega^3=1 且 1+\omega+\omega^2=0,所以有
\begin{aligned}X+\omega Y+\omega^2Z&=(C_{100}^{0}+C_{100}^{3}+C_{100}^{6}+…+C_{100}^{99})+\omega(C_{100}^{1}+C_{100}^{4}+C_{100}^{7}+…+C_{100}^{100})+\omega^2(C_{100}^{2}+C_{100}^{5}+C_{100}^{8}+…+C_{100}^{98})\\&=\omega^{0}1^{100}C_{100}^{0}+\omega^{1}1^{99}C_{100}^{1}+\omega^{2}1^{98}C_{100}^{2}+…+\omega^{100}1^{0}C_{100}^{100}\\&=(\omega+1)^{100}\end{aligned}
同时有
\begin{aligned}X+\omega^2Y+\omega Z&=(C_{100}^{0}+C_{100}^{3}+C_{100}^{6}+…+C_{100}^{99})+\omega^2(C_{100}^{1}+C_{100}^{4}+C_{100}^{7}+…+C_{100}^{100})+\omega(C_{100}^{2}+C_{100}^{5}+C_{100}^{8}+…+C_{100}^{98})\\&=(\omega^2)^{0}1^{100}C_{100}^{0}+(\omega^2)^{1}1^{99}C_{100}^{1}+(\omega^2)^{2}1^{98}C_{100}^{2}+…+(\omega^2)^{100}1^{0}C_{100}^{100}\\&=(\omega^2+1)^{100}\end{aligned}
于是得到一个三元一次方程组:
\begin{cases}X+Y+Z&=2^{100}&①\\X+\omega Y+\omega^2Z&=(\omega+1)^{100}&②\\X+\omega^2Y+\omega Z&=(\omega^2+1)^{100}&③\end{cases}
所以由 ③+②-(\omega+\omega^2)① 得知 (2-\omega-\omega^2)X=(\omega+1)^{100}+(\omega^2+1)^{100}-(\omega+\omega^2)2^{100},所以
\begin{aligned}X&=\frac{(\omega+1)^{100}+(\omega^2+1)^{100}-(\omega+\omega^2)2^{100}}{2-\omega-\omega^2}\\&=\frac{(\omega+1)^{100}+(\omega^2+1)^{100}+2^{100}}{3}\\&=\frac{(-\omega^2)^{100}+(-\omega)^{100}+2^{100}}{3}\\&=\frac{\omega^{200}+\omega^{100}+2^{100}}{3}\\&=\frac{\omega^{2}+\omega^{1}+2^{100}}{3}\\&=\frac{-1+2^{100}}{3}\end{aligned}
验证程序如下。
#include<bits/stdc++.h>
using namespace std;
const int mod=998244353,w=100,s=0,p=3;
//可以改来验证其它的情况
int c[w+5][w+5],ans1,ans2;
inline int ksm(int a,int b){
int r=1;
for(;b;b>>=1,a=1ll*a*a%mod)
if(b&1)r=1ll*r*a%mod;
return r;
}
int main(){
c[0][0]=1;
for(int i=1;i<=w;i++)c[i][0]=c[i][i]=1;
for(int i=1;i<=w;i++)
for(int j=1;j<i;j++)c[i][j]=(c[i-1][j]+c[i-1][j-1])%mod;
for(int i=s;i<w;i+=p)(ans1+=c[w][i])%=mod;
ans2=1ll*(ksm(2,w)+mod-1)%mod*ksm(3,mod-2)%mod;
cout<<ans1<<' '<<ans2<<'\n';
return 0;
}
7.4 References
前半部分来自小蓝本《复数与几何》,后半部分原创。
有谬误或者建议请私信联系我,谢谢!