[3B1B]从三角函数到 GF
三角函数
高中数学必一第五章。
弧度制
通过数学知识可以证明,对于一个圆的圆心角 \(α\),其所对的弧 \(l\) 与半径的比值 \(\frac{l}{r}\) 是确定的。
相应的,\(\frac{l}{r}\) 的确定也能确定 \(\alpha\),因此我们建立弧度制:
一个角是正角,当且仅当它的终边沿逆时针旋转得到,负角相反。
这样就将角的大小扩展到了实数域。
弧度制与角度制的转换
经过推理,不难发现 \(180°=\pi \operatorname{rad}\)。
三角函数的概念、
对于在圆上做圆周运动的一点 \(P\),三角函数可以用来刻画其坐标的变化。
设 \(P\) 在单位圆上运动,其坐标为 \((x,y)\),圆心角为 \(\alpha\),则:
正弦函数
余弦函数
正切函数
不难发现,\(x=0\) 代表 \(\alpha=\frac{\pi}{2}+k\pi\),其中 \(k\in\mathbb{Z}\),因此正切函数的条件相当于 \(\alpha\ne\frac{\pi}{2}+k\pi\)。
诱导公式
我们并不需要太多的数学公式,由于诱导公式较容易推导,所以这里不再展开。
余弦定理
对于任一三角形,三边长为 \(a,b,c\),设 \(a,b\) 的夹角是 \(\alpha\),则:
指数函数
指数
有理数指数幂
\(a^{\frac{m}{n}}=\sqrt[n]{a^m}\),其中 \(m,n\in\mathbb{Q}\)。
无理数指数幂
无理数指数幂是一个确定的实数。它依然满足整数指数幂的运算性质。
平面向量
定义
既有大小又有方向的量。
注意,我们并不强调向量的起点,所以它并不是一个有向线段,我们只认为它表示大小和方向。因此在自由向量上,可以随意平移一个向量。记作 \(\vec{a}\)。
向量的大小称为模长,记作 \(|\vec{a}|\)。
运算
加法
点的加法没有意义。向量和点的加法得到另外一个点,向量和向量的加法得到另一个向量。
平行四边形法则
两个共起点的向量相加,得到的向量是以这两个向量为边的平行四边形的对角线。
三角形法则
多个向量 \(\vec{a_1},\vec{a_2},\cdots\) 相加,且满足一个向量的起点是前一个向量的终点,则所得的向量是连接 \(\vec{a_1}\) 的起点和 \(\vec{a_n}\) 的终点。
在向量加法中,我们经常使用的是平行四边形法则,其满足三角形法则。
对于一个已知的平行四边形,其对角线长可以通过三角函数求解。
向量数乘
对于 \(\vec{b}=\vec{a}\times c\),满足:
-
\(|\vec{b}|=|\vec{a}|\times c\)。
-
\(\vec{b}\) 的方向取决于 \(c\) 的正负性。
减法
两个点的差是一个向量,这不重要。
之所以先引入向量数乘,就是为了更好地理解向量减法。对于 \(\vec{a}-\vec{b}\),得到地向量从 \(\vec{b}\) 的终点指向 \(\vec{a}\) 的终点。
这可以通过向量加法和向量数乘证明。
我们可以轻易得出向量 \(-\vec{b}\),它是与 \(\vec{b}\) 共线等长,但方向相反的向量。
将 \(-\vec{b}\) 与 \(\vec{a}\) 做加法,不难得到答案 \(\vec{c}\)。利用初中的几何知识不难得到 \(\vec{c}\) 等于从 \(\vec{b}\) 的终点指向 \(\vec{a}\) 的终点的向量。
向量数除。
\(\frac{\vec{a}}{c}=\vec{a}\times\frac{1}{c}\),这不重要。
平面向量基本定理
对于共面不共线的向量 \(\vec{e_1},\vec{e_2}\),则存在唯一的 \((x,y)\),使得与 \(\vec{e_1},\vec{e_2}\) 共面的任意向量 \(\vec{c}\) 满足 \(\vec{c}=x\times\vec{e_1}+y\times\vec{e_2}\)。
即我们可以用两个不共线的向量表示出所有向量。\(\vec{e_1},\vec{e_2}\) 被称为基底,若两者相互垂直,则分解时就是对向量正交分解。
平面向量的坐标表示
根据上文,我们令平行于 \(x\) 轴,模长为 \(1\) 的 \(\vec{e_1}\) 和与它垂直、平行于 \(y\) 轴,模长为 \(1\) 的 \(\vec{e_2}\) 作为基底。那么所有的向量都唯一可以用 \((x,y)\) 来描述。
显然,向量 \((x,y)\) 的模长为 \(\sqrt{x^2+y^2}\),而方向可以通过三角函数确定。
平面向量的坐标运算
向量加法
设向量 \((m,n)\) 和 \((p,q)\),直接运用平行四边形法则对其做加法是困难的,并且不易将其转移到坐标轴上来。考虑一种简单的方式,设基底 \(\vec{e_1}\) 的模长为单位向量 \(i\),\(\vec{e_2}\) 的模长为单位向量 \(j\),则根据定义,\((m,n)=m\times\vec{e_1}+n\times\vec{e_2}\),\((p,q)=p\times\vec{e_1}+q\times\vec{e_2}\),我们对 \(\vec{e_1}\) 和 \(\vec{e_2}\) 加以区分,得到 \((m+p)\times\vec{e_1}+(n+q)\times\vec{e_2}\),即 \((m,n)+(p,q)=(m+p,n+q)\)。
向量数乘
与加法一样,\(k\times (m,n)=(km,kn)\)。
向量减法
\((m,n)-(p,q)=(m,n)+(-(p,q))=(m,n)+(-p,-q)=(m-p,n-q)\)。
坐标系上的点
求两点之间的向量
显然,对于 \((m,n)\) 和 \((p,q)\),其所连向量为 \((p-m,q-n)\)。
平移一点
根据三角形法则,令平移的距离和方向组成 \(\vec{e}\),则平移后的点为 \(\vec{OP}+\vec{e}\) 的终点。
练习题
众所周知,重为 \(G\) 的物体放在斜面上,其重力有两个分力——一个与斜面平行且向下,一个与斜面垂直。
我们想求出当斜面的倾角为 \(\alpha\) 时,两个力的大小。
物理学中力可以视为向量,于是将其竖直向下的重力 \(G\) 视作一个向量,其模长为 \(G\)。两个分力同样可以视作向量,设分别为 \(\vec{e_1}\) 和 \(\vec{e_2}\)。于是要求 \(\vec{e_1}+\vec{e_2}=\vec{G}\),我们可以沿 \(\vec{e_1}\) 做一个模长为单位向量的向量 \(\vec{p_1}\),沿 \(\vec{e_2}\) 做模长为单位向量的 \(\vec{p_2}\)。
根据平面向量基本定理,存在唯一的 \((x,y)\) 使得 \(x\times\vec{p_1}+y\times\vec{p_2}=\vec{G}\),所以 \(\vec{e_1}=x\times\vec{p_1}\) 和 \(\vec{e_2}=y\times\vec{p_2}\) 是唯一确定的。
至于如何求 \(|\vec{e_1}|\) 和 \(|\vec{e_2}|\),我们可以将 \(\vec{G}\) 视作以 \(\vec{e_1}\) 和 \(\vec{e_2}\) 为边的矩形的对角线。最后不难得到 \(|\vec{e_1}|=\cos\alpha\times G\),\(|\vec{e_2}|=\cos(\frac{\pi}{2}-\alpha)\times G\)。
复数
定义
虚数单位 \(i=\sqrt{-1}\)。
那么,一个复数就可以表示为 \(z=a+bi\) 的形式,其中 \(a,b\in\mathbb{R}\)。当 \(b=0\) 时,这个复数就是实数。\(a\) 被称为实部(\(\operatorname{Re}(z)\)),\(b\) 被称作虚部(\(\operatorname{lm}(z)\))。
复数集包括实数集和虚数集。
复平面
显然,一个复数 \(z=a+bi\) 可以用 \((a,b)\) 被唯一表示,因此我们建立复平面,\(x\) 轴为实轴,\(y\) 轴为虚轴。可以看出,复数集和复平面构成一个双射。
复数和平面向量的关系
由于复数和平面向量都可以被 \((x,y)\) 唯一表示,所以复数集同样和向量组成的集合构成双射。
称复数 \(z=a+bi\) 的模为向量 \((a,b)\) 的模,将单位向量视为一个单位,\(|z|=\sqrt{a^2+b^2}\)。
由于平面向量无法比较大小,所以复数也无法比较大小。但是,虚部相同的复数可以比较大小。
复数的运算
复数的运算与向量相同。同时,我们也可以将 \(i\) 视作一个变量按照实数的规则进行运算。
复数乘法
按照多项式乘法的规则运算,最后化简 \(i^2=-1\) 即可。
即对于 \(z_1=a+bi\),\(z_2=c+di\),\(z_1\times z_2=(ac-bd)+(bc+ad)i\)。
复数除法
向量是没有除法的,但复数有。
对于 \(\frac{a+bi}{c+di}\),我们可以乘 \((c-d_i)\) 以进行化简,不过没有什么用。
\(\frac{a+bi}{c+di}=\frac{ac+bd}{c^2+d^2}+\frac{bc-ad}{c^2+d^2}\times i\)。
共轭复数
相当于根式中的有理化因式。
\(z=a+bi\) 的共轭根式 \(\overline{z}=a-bi\)。显然,\(z\times\overline{z}=|z|^2\),\(\overline{\overline{z}}=z\)。
辐角
请扶好站稳!!!
欧拉公式
复变函数
如何理解复变函数
中学阶段,我们学过实变函数。但是到了复变函数,我们只将实变函数当做复变函数在实数集上的一种特殊形式。复变函数和其在实数集上对应的实变函数定义可能截然不同,但是如果将实数代入复变函数中,我们仍然能得到与原来实变函数相同的结果。
复指数函数
欧拉公式本来是在实数域内的:\(e^{ix}=\cos x+i\sin x\)。
考虑对于复数 \(z=x+iy\) 的复指数函数 \(\exp z=e^x(\cos y+i\sin y)\),套入欧拉公式得到 \(\exp z=e^{x+iy}\)。所以欧拉公式就被稀里糊涂地扩展到了复数域。
其满足最基本的性质:\(\exp(z_1+z_2)=\exp(z_1)\exp(z_2)\)。
单位根
定义
\(x^n=1\) 的解有 \(n\) 个,称为 \(n\) 次单位根。
单位根把单位圆 \(n\) 等分。证明略。
按照辐角大小对单位根排序,令得到的第二个单位根为 \(\omega_n\),则 \(\omega_n=\exp\frac{2\pi i}{n}\)。所有的 \(n\) 个单位根可以表示为 \(\{\omega_n^k|k=0,1,\cdots,n-1\}\)。
性质
随着 \(k\) 的增大,\(\omega_n^k\) 的变化呈现周期性,具体地,\(\omega_n^{n+k}=\omega_n^k\)。
另外,\(\omega_n^k=\omega_{2n}^{2k}\),\(\omega_{2n}^{k+n}=-\omega_{2n}^k\)。
本原单位根
集合 \(\{\omega_n^k|0\le k<n,\gcd(n,k)=1\}\) 中的元素为本原单位根。对于任意本原单位根 \(\omega\),任意 \(0<k<n\),\(\omega^k\ne 1\)。
全体本原单位根有 \(\phi(n)\) 个。
在 C++ 中定义复数
complex<type> x
FFT
原理
设 \(A(x)\) 是 \(n-1\) 次多项式,即 \(A(x)=\sum_{i=0}^{n-1} a_i\times x^i\)。我们想求出多项式乘法 \(A(x)\times B(x)\) 的结果,显然,这是一个 \((n-1)(m-1)\) 次多项式。
\(O(n^2)\) 的做法是简单的,并且是系数表示法的极限。
点值表示法
取 \(n\) 个不同的值 \(x_i\),得到对应的 \(y_i\),我们就得到 \(n\) 个点。这就是多项式的点值表示。
确定一个 \(n-1\) 次多项式的前提是有 \(n\) 个本质不同的点。这可以通过拉格朗日插值来实现。

浙公网安备 33010602011771号