给定 $k$ 个互不相同的复数 $x_0,\cdots,x_{k-1}$,以及 $k$ 个复数$y_0,\cdots,y_{k-1}$.我们知道存在唯一的复系数 $k-1$ 次多项式
$$
\mathcal{P}_{k-1}(x)=\xi_0+\xi_1x+\cdots+\xi_{k-1}x^{k-1}
$$
使得
$$
\mathcal{P}_{k-1}(x_0)=y_0,\cdots,\mathcal{P}_{k-1}(x_{k-1})=y_{k-1}.
$$
其中 $\xi_0,\cdots,\xi_{k-1}\in\mathbf{C}$.这个结论是范德蒙行列式不为0的一个简单推论.特别的,我们令 $x_i=\omega^i$,其中 $\omega=e^{\frac{2\pi i}{k}}$,我们就得到了三角插值多项式.为了确定三角插值多项式的系数,我们使用 Cramer 法则.我们知道
$$
\begin{cases}
\xi_0+\xi_1\omega^0+\cdots+\xi_{k-1}\omega^0=y_0\\
  \xi_0+\xi_1\omega^1+\cdots+\xi_{k-1}\omega^{k-1}=y_1\\
\xi_0+\xi_1\omega^2+\cdots+\xi_{k-1}\omega^{2(k-1)}=y_2\\
\vdots\\
\xi_0+\xi_1\omega^{k-1}+\cdots+\xi_{k-1}\omega^{(k-1)(k-1)}=y_{k-1}.
\end{cases}
$$
因此
$$
\xi_i=\frac{\begin{vmatrix}
    \omega^{0}&\omega^0&\cdots&y_{0}&\cdots&\omega^{0}\\
    \omega^0&\omega^1&\cdots&y_{1}&\cdots&\omega^{k-1}\\
    \vdots&\vdots&\cdots&\vdots&\cdots&\vdots\\
\omega^0&\omega^{k-1}&\cdots&y_{k-1}&\cdots&\omega^{(k-1)(k-1)}\\
  \end{vmatrix}}{\begin{vmatrix}
    \omega^{0}&\omega^0&\cdots&\omega^{0}\\
\omega^0&\omega^1&\cdots&\omega^{k-1}\\
\vdots&\vdots&\cdots&\vdots\\
\omega^0&\omega^{k-1}&\cdots&\omega^{(k-1)(k-1)}\\
  \end{vmatrix}}.
$$

$$
\begin{pmatrix}
  y_0\\
y_1\\
\vdots\\
y_{k-1}\\
\end{pmatrix}=\alpha_0 \begin{pmatrix}
  \omega^{0}\\
\omega^{0}\\
\vdots\\
\omega^0\\
\end{pmatrix}+\cdots+\alpha_i \begin{pmatrix}
  \omega^{0}\\
\omega^{i}\\
\vdots\\
\omega^{i(k-1)}\\  
\end{pmatrix}+\cdots+\alpha_{k-1}\begin{pmatrix}
  \omega^{0}\\
\omega^{k-1}\\
\vdots\\
\omega^{(k-1)(k-1)}
\end{pmatrix},
$$
则 $\xi_i=\alpha_i$.于是我们只用求 $\alpha_i$ 即可.易得
$$
\alpha_i=\frac{1}{k}\begin{pmatrix}
  y_0\\
y_1\\
\vdots\\
y_{k-1}\\
\end{pmatrix}\cdot \begin{pmatrix}
  \omega^0\\
\omega^{-i}\\
\vdots\\
\omega^{-i(k-1)}\\
\end{pmatrix}.
$$

三角插值的 Fourier 系数推导的更多相关文章

  1. Fourier分析基础(一)——Fourier级数

    前言 傅立叶分析的作用是把一个函数变成一堆三角函数的和的形式,也就是分解.首先引入的是傅立叶级数,Fourier级数的作用是把函数变为可数无限个三角函数的和,而且这些三角函数的频率都是某个基频的整数倍 ...

  2. 最全面的图卷积网络GCN的理解和详细推导,都在这里了!

    目录 目录 1. 为什么会出现图卷积神经网络? 2. 图卷积网络的两种理解方式 2.1 vertex domain(spatial domain):顶点域(空间域) 2.2 spectral doma ...

  3. 从傅里叶级数(Fourier series)到离散傅里叶变换(Discrete Fourier transform)

    从傅里叶级数(Fourier series)到离散傅里叶变换(Discrete Fourier transform) 一. 傅里叶级数(FS) 首先从最直观的开始,我们有一个信号\(x(t)\)(满足 ...

  4. Adaboost 算法的原理与推导

    0 引言 一直想写Adaboost来着,但迟迟未能动笔.其算法思想虽然简单“听取多人意见,最后综合决策”,但一般书上对其算法的流程描述实在是过于晦涩.昨日11月1日下午,邹博在我组织的机器学习班第8次 ...

  5. paper 5:支持向量机系列二: Support Vector —— 介绍支持向量机目标函数的 dual 优化推导,并得出“支持向量”的概念。

    paper 4中介绍了支持向量机,结果说到 Maximum Margin Classifier ,到最后都没有说“支持向量”到底是什么东西.不妨回忆一下上次最后一张图: 可以看到两个支撑着中间的 ga ...

  6. 数理方程:Fourier级数

    更新:25 MAR 2016 对于周期函数(周期为\(2\pi\))或定义在\([-\pi,\pi]\)上的函数\(f(x)\),可以展开为* \(\large f(x)=\dfrac{a_0}{2} ...

  7. 《Concrete Mathematics》-chaper5-二项式系数

    二项式系数,也是我们常用的组合数,最直观的组合意义就是从n个元素取k个元素所有可能的情况数,因此我们自然的得到下面二项式系数的定义式. 那么我们通过具有组合意义的二项系数,给出更加一般的二项式系数的定 ...

  8. 多层神经网络BP算法 原理及推导

    首先什么是人工神经网络?简单来说就是将单个感知器作为一个神经网络节点,然后用此类节点组成一个层次网络结构,我们称此网络即为人工神经网络(本人自己的理解).当网络的层次大于等于3层(输入层+隐藏层(大于 ...

  9. AdaBoost 算法原理及推导

    AdaBoost(Adaptive Boosting):自适应提升方法. 1.AdaBoost算法介绍 AdaBoost是Boosting方法中最优代表性的提升算法.该方法通过在每轮降低分对样例的权重 ...

随机推荐

  1. HTML与CSS结合的四种方式

    HTML与CSS结合的四种方式: 方式一:每个标签加一个属性: 例如:<div style="background-color:red; color: green"> ...

  2. SeetaFaceQt:写一个简单的界面

    关于这个界面,我用到了几个控件,这些控件通过Qt是非常容易构建的,窗口的话用的是QWidget,之前说了,QWidget是Qt里面几乎大部分控件的父类,QWidget的布局我使用了简单的水平布局(QH ...

  3. js数组取对象

    数组取对象 var arr1 = [ { id: "1", name: "one", age: "one" }, { id: "2 ...

  4. PyGame快速入门

    pygame 快速入门 目标 项目准备 使用 pygame 创建图形窗口 理解 图像 并实现图像绘制 理解 游戏循环 和 游戏时钟 理解 精灵 和 精灵组 项目准备 新建 飞机大战 项目 新建一个 h ...

  5. POJ-2492 A Bug's Life(种类并查集)

    http://poj.org/problem?id=2492 题意: 给出一个T代表几组数据,给出一个n一个m,代表人的编号由1~n,m条命令,每条命令由两个数值组成,代表这两个人性别不同,问所有命令 ...

  6. leetcode 690.员工的重要性

    题目: 给定一个保存员工信息的数据结构,它包含了员工唯一的id,重要度 和 直系下属的id. 比如,员工1是员工2的领导,员工2是员工3的领导.他们相应的重要度为15, 10, 5.那么员工1的数据结 ...

  7. EXCEL快速实现下拉计算快捷键

    ctrl + shift + 方向键,,选择要填充的范围,,然后ctrl + d

  8. 吴裕雄--天生自然TensorFlow2教程:创建Tensor

    import numpy as np import tensorflow as tf tf.convert_to_tensor(np.ones([2, 3])) tf.convert_to_tenso ...

  9. Ubuntu---Git

    本篇文章简单总结了常用 Git 的使用 前言 设置用户信息 1, Git 是分布式的 SSH 代码管理工具,远程的代码管理是基于 SSH 的,所以要使用远程的 Git 则需要 SSH 的配置. ste ...

  10. ubuntu19.10安装cuda-10.1

    ubuntu19.10安装cuda-10.1 1.安装N卡驱动: 打开ubuntu的软件和更新,设置N卡驱动 2.查看ubuntu显卡驱动 nvidia-smi 显示: Sun Feb 23 06:4 ...