跳转至

常见高等数学背景

本节介绍一些有关多项式的高等数学背景。

导数

我们常常遇到一些需要求因变量的瞬时变化率的问题,例如求瞬时速度、瞬时加速度。

一、基本概念

  • 平均变化率 :对于函数 \(y = f(x)\),当自变量 \(x\)\(x_0\) 变化到 \(x_0 + \Delta x\) 时,函数值从 \(f(x_0)\) 变化到 \(f(x_0 + \Delta x)\),函数值的改变量 \(\Delta y = f(x_0 + \Delta x) - f(x_0)\) 与自变量的改变量 \(\Delta x\) 的比值 \(\frac{\Delta y}{\Delta x} = \frac{f(x_0 + \Delta x) - f(x_0)}{\Delta x}\),称为函数 \(f(x)\) 在区间 \([x_0, x_0 + \Delta x]\) 上的平均变化率。

二、导数的定义

  • 定义 :函数 \(y = f(x)\)\(x_0\) 处的导数定义为当自变量的增量 \(\Delta x\) 趋于 \(0\) 时,函数增量 \(\Delta y\) 与自变量增量 \(\Delta x\) 的比值的极限。即:

    \[f'(x_0) = \lim\limits_{\Delta x \to 0} \frac{\Delta y}{\Delta x} = \lim\limits_{\Delta x \to 0} \frac{f(x_0 + \Delta x) - f(x)}{\Delta x}\]

    若该极限存在,就称函数 \(f(x)\) 在点 \(x_0\) 处可导,否则称为不可导。

    我们发现当 \(x_0\) 取遍整个定义域时 \(f'(x_0)\)\(x_0\) 构成了函数关系,因此我们定义导函数(简称导数)

    \[f'(x) = \lim\limits_{\Delta x \to 0} \frac{\Delta y}{\Delta x} = \lim\limits_{\Delta x \to 0} \frac{f(x + \Delta x) - f(x)}{\Delta x}\]
  • 其他表示形式 :函数 \(y = f(x)\) 的导数还可表示为 \(y'\)\(\frac{\mathrm{d}y}{\mathrm{d}x}\)

三、几何意义

  • 导数 \(f'(x)\) 表示函数 \(y = f(x)\) 在点 \(x\) 处的切线斜率。例如,曲线 \(y = x^2\) 在点 \((a, a^2)\) 处的切线斜率为 \(2a\)。通过导数,我们能够确定曲线上某一点处的切线和法线方程。

四、物理意义

  • 在物理学中,导数可以表示瞬时速度和加速度等物理量。如果位移 \(x\) 是时间 \(t\) 的函数 \(x(t)\),那么速度 \(v = \frac{\mathrm{d}x}{\mathrm{d}t}\)(位移函数关于时间的导数),加速度 \(a = \frac{\mathrm{d}v}{\mathrm{d}t} = \frac{\mathrm{d}^2x}{\mathrm{d}t^2}\)(速度函数关于时间的导数,即位移函数关于时间的二阶导数)。

五、基本初等函数的导数公式

下面我们给出常见函数的导数公式表,其证明需要更高级别的知识,这里略去。

以下是一些基本初等函数的导数公式表:

基本初等函数的导数公式表
函数 导数
常数函数 \(C\) \(0\)
幂函数 \(x^k\) \(k x^{k - 1}\)
指数函数 \(a^x\) \(a^x \ln a\)
自然指数函数 \(\mathrm{e}^x\) \(\mathrm{e}^x\)
对数函数 \(\log_a x\) \(\frac{1}{x \ln a}\)
自然对数函数 \(\ln x\) \(\frac{1}{x}\)
正弦函数 \(\sin x\) \(\cos x\)
余弦函数 \(\cos x\) \(-\sin x\)
正切函数 \(\tan x\) \(\sec^2 x\)
余切函数 \(\cot x\) \(-\csc^2 x\)
正割函数 \(\sec x\) \(\sec x \tan x\)
余割函数 \(\csc x\) \(-\csc x \cot x\)
反正弦函数 \(\arcsin x\) \(\frac{1}{\sqrt{1 - x^2}}\)
反余弦函数 \(\arccos x\) \(-\frac{1}{\sqrt{1 - x^2}}\)
反正切函数 \(\arctan x\) \(\frac{1}{1 + x^2}\)
反余切函数 \(\text{arccot} \ x\) \(-\frac{1}{1 + x^2}\)

六、求导法则

和差函数的导数

  1. 法则内容 :若函数 \(u(x)\)\(v(x)\) 都在 \(x\) 处可导,则它们的和差函数在 \(x\) 处也可导,且:

    \[(u \pm v)' = u' \pm v'\]
  2. 解释 :两个函数相加减后的导数等于它们各自导数相加减。例如,若 \(f(x) = x^2 + \sin x\),则 \(f'(x) = (x^2)' + (\sin x)' = 2x + \cos x\)

乘积法则

  1. 法则内容 :若函数 \(u(x)\)\(v(x)\) 都在 \(x\) 处可导,则它们的乘积函数在 \(x\) 处也可导,且:

    \[(u \cdot v)' = u' \cdot v + u \cdot v'\]
  2. 解释 :两个函数乘积的导数等于第一个函数的导数乘以第二个函数加上第一个函数乘以第二个函数的导数。例如,若 \(f(x) = x^2 \cdot \sin x\),则 \(f'(x) = (x^2)'\cdot \sin x + x^2 \cdot (\sin x)' = 2x \sin x + x^2 \cos x\)

商数法则

  1. 法则内容 :若函数 \(u(x)\)\(v(x)\) 都在 \(x\) 处可导,且 \(v(x) \neq 0\),则它们的商函数在 \(x\) 处也可导,且:

    \[\left( \frac{u}{v} \right)' = \frac{u' \cdot v - u \cdot v'}{v^2}\]
  2. 解释 :两个函数商的导数等于分子函数的导数乘以分母函数减去分子函数乘以分母函数的导数,再除以分母函数的平方。例如,若 \(f(x) = \frac{\sin x}{x}\),则 \(f'(x) = \frac{(\sin x)' \cdot x - \sin x \cdot (x)'}{x^2} = \frac{x \cos x - \sin x}{x^2}\)

复合函数的导数(链式法则)

  1. 法则内容 :若函数 \(y = f(u)\)\(u\) 处可导,且 \(u = g(x)\)\(x\) 处可导,则复合函数 \(y = f(g(x))\)\(x\) 处可导,且:

    \[\frac{\mathrm{d}y}{\mathrm{d}x} = \frac{\mathrm{d}y}{\mathrm{d}u} \cdot \frac{\mathrm{d}u}{\mathrm{d}x}\]
  2. 解释 :复合函数的导数等于外函数的导数乘以内函数的导数。例如,若 \(y = (3x^2 + 2)^5\),令外函数为 \(f(u) = u^5\),内函数为 \(u = 3x^2 + 2\),则 \(y' = f'(u) \cdot u' = 5u^4 \cdot 6x = 5(3x^2 + 2)^4 \cdot 6x = 30x(3x^2 + 2)^4\)

反函数的导数

  1. 法则内容 :若函数 \(y = f(x)\) 在区间 \(I\) 上单调可导,且 \(f'(x) \neq 0\),则其反函数 \(x = f^{-1}(y)\) 在对应的区间上也可导,且:

    \[\frac{\mathrm{d}x}{\mathrm{d}y} = \frac{1}{\frac{\mathrm{d}y}{\mathrm{d}x}}\]
  2. 解释 :反函数的导数等于原函数导数的倒数。例如,已知 \(y = \mathrm{e}^x\) 的导数为 \(\frac{\mathrm{d}y}{\mathrm{d}x} = \mathrm{e}^x\),其反函数为 \(x = \ln y\),则 \(\frac{\mathrm{d}x}{\mathrm{d}y} = \frac{1}{\frac{\mathrm{d}y}{\mathrm{d}x}} = \frac{1}{\mathrm{e}^x} = \frac{1}{y}\)

七、偏导数

对于二元函数 \(f(x, y)\),我们可以对其中一个变量求导,将其他变量当常数处理,对 \(x\) 求偏导的结果被记作 \(\frac{\partial f}{\partial x}\)

例如,对二元函数 \(f(x, y) = x^2 + 33y + 1\)\(\frac{\partial f}{\partial x} = 2x\)\(\frac{\partial f}{\partial y} = 33\)

多元函数同理。

八、多项式的求导实现

根据 \((x^k)' = kx^{k-1}\) 容易得到下面的实现:

实现
1
2
3
4
5
void Dert(int n, ll *F, ll *G)
{
    for (int i = 1; i < n; i++)
        G[i - 1] = F[i] * i % p;
}

积分

一、不定积分

积分是求导的逆运算。

(一)定义
  • 原函数 :如果在区间 \(I\) 上,函数 \(F(x)\) 可导,且对任一 \(x \in I\) 都有
\[F'(x) = f(x)\]

那么函数 \(F(x)\) 就称为 \(f(x)\) 在区间 \(I\) 上的一个原函数。

  • 不定积分 :在区间 \(I\) 上,函数 \(f(x)\) 的全体原函数称为 \(f(x)\) 的不定积分,记作
\[\int{f(x)} \, \mathrm{d}x\]

其中,\(f(x)\) 称为被积函数,\(x\) 称为积分变量。

(二)性质
  • 线性性质 :设函数 \(f(x)\)\(g(x)\) 的原函数都存在,\(k_1\)\(k_2\) 为常数,则
\[\int [k_1 f(x) +k_2 g(x)] \, \mathrm{d}x =k_1 \int f(x)\, \mathrm{d}x +k_2 \int g(x)\, \mathrm{d}x\]

二、定积分

(一)定义
  • 黎曼和 :设函数 \(f(x)\) 在区间 \([a, b]\) 上有定义。在区间 \([a, b]\) 中任意插入若干个分点 \(a = x_0 < x_1 < x_2 < \cdots < x_{n - 1} < x_n = b\),把区间 \([a, b]\) 分成 \(n\) 个小区间 \([x_{i - 1}, x_i]\)\(i = 1, 2, \ldots, n\))。每个小区间的长度为 \(\Delta x_i = x_i - x_{i - 1}\)。在每个小区间 \([x_{i - 1}, x_i]\) 上任取一点 \(\xi_i\)\(\xi_i \in [x_{i - 1}, x_i]\)),作函数值 \(f(\xi_i)\) 与小区间长度 \(\Delta x_i\) 的乘积 \(f(\xi_i) \Delta x_i\),并作出和式
\[\sum_{i = 1}^n f(\xi_i) \Delta x_i\]

这个和式称为函数 \(f(x)\) 在区间 \([a, b]\) 上的一个黎曼和。

  • 定积分 :如果当 \(\lambda = \max \{\Delta x_1, \Delta x_2, \ldots, \Delta x_n\} \to 0\) 时,黎曼和的极限存在,且该极限值与区间 \([a, b]\) 的分法及点 \(\xi_i\) 的取法无关,则称这个极限为函数 \(f(x)\) 在区间 \([a, b]\) 上的定积分,记作
\[\int_a^b f(x)\, \mathrm{d}x\]

\[\int_a^b f(x)\, \mathrm{d}x = \lim_{\lambda \to 0} \sum_{i = 1}^n f(\xi_i) \Delta x_i\]
(二)性质
  • 线性性质 :设函数 \(f(x)\)\(g(x)\) 在区间 \([a, b]\) 上可积,\(k_1\)\(k_2\) 为常数,则
\[ \int_a^b [k_1 f(x) +k_2 g(x)] \, \mathrm{d}x =k_1 \int_a^b f(x)\, \mathrm{d}x +k_2 \int_a^b g(x)\, \mathrm{d}x \]
  • 区间可加性 :如果 \(c\) 在区间 \((a, b)\) 内,则
\[ \int_a^b f(x)\, \mathrm{d}x = \int_a^c f(x)\, \mathrm{d}x + \int_c^b f(x)\, \mathrm{d}x \]
  • 比较性质 :如果在区间 \([a, b]\)\(f(x) \leq g(x)\),则
\[ \int_a^b f(x)\, \mathrm{d}x \leq \int_a^b g(x)\, \mathrm{d}x \]
(三)微积分基本定理

牛顿 - 莱布尼茨公式 :设函数 \(f(x)\) 在区间 \([a, b]\) 上连续,\(F(x)\)\(f(x)\) 在区间 \([a, b]\) 上的一个原函数,则

\[ \int_a^b f(x)\, \mathrm{d}x = F(b) - F(a) \]

记作

\[ \int_a^b f(x)\, \mathrm{d}x = F(x) \bigg|_a^b = F(b) - F(a) \]

三、多项式的求定积分实现

根据 \(\int x^k \mathrm{d}x = \frac{x^{k + 1}}{k + 1} + C\) 并略去 \(C\),容易得到下面的实现。

值得注意,这里由于大量需要连续正整数的逆元,因此我们还需要逆元的线性递推

实现
1
2
3
4
5
void Int(int n, ll *F, ll *G)
{
    for (int i = 0; i < n; i++)
        G[i + 1] = F[i] * inv[i + 1] % p;
}

Taylor 展开

一、Taylor 公式

泰勒展开(Taylor Expansion)是函数在某一点邻域内展开成幂级数的重要工具,它能够将复杂的函数近似表示为多项式形式,便于分析和计算。

1. Taylor 公式定义

对于函数 \(f(x)\),若在点 \(x_0\) 处具有 \(n+1\) 阶导数,则存在 \(x_0\) 的某个邻域,使得在该邻域内,\(f(x)\) 可以展开为:

\[ f(x) = \sum_{k=0}^n \frac{f^{(k)}(x_0)}{k!}(x - x_0)^k + R_n(x) \]

式中,\(R_n(x)\) 为余项,表示泰勒多项式与原函数之间的误差。

2. 余项

泰勒展开的余项有多种形式,常见的有:

  • 佩亚诺余项 :当仅关注展开式的局部性质时,余项可表示为:
\[ R_n(x) = o\left( (x - x_0)^n \right) \]
  • 拉格朗日余项 :若存在 \(\xi\) 介于 \(x_0\)\(x\) 之间,使得:
\[ R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}(x - x_0)^{n+1} \]

二、Maclaurin 展开

当泰勒展开的展开点 \(x_0 = 0\) 时,泰勒公式变为麦克劳林(Maclaurin)公式:

\[ f(x) = \sum_{k=0}^n \frac{f^{(k)}(0)}{k!}x^k + R_n(x) \]
常见函数的 Maclaurin 展开
  • 指数函数
\[ \mathrm{e}^x = \sum_{k=0}^\infty \frac{x^k}{k!}, \quad x \in \mathbb{R} \]
  • 正弦函数
\[ \sin x = \sum_{k=0}^\infty \frac{(-1)^k x^{2k+1}}{(2k+1)!}, \quad x \in \mathbb{R} \]
  • 余弦函数
\[ \cos x = \sum_{k=0}^\infty \frac{(-1)^k x^{2k}}{(2k)!}, \quad x \in \mathbb{R} \]
  • 自然对数函数
\[ \ln(1+x) = \sum_{k=1}^\infty \frac{(-1)^{k+1} x^k}{k}, \quad |x| < 1 \]
  • 幂函数
\[ \frac{1}{1 - x} = \sum_{k=0}^\infty x^k, \quad |x| < 1 \]

由此容易导出欧拉恒等式

\[\mathrm{e}^{\mathrm{i}\theta} = \cos \theta + \mathrm{i} \sin \theta\]