之所以专门定义两个新的概念,在于它们特殊的形式,带来的特别的形式。

1. Toeplitz matrix

  • 对角为常数;

n×nn\times n 的矩阵 AA 是 Toepliz 矩阵当且仅当,对于 Ai,jA_{i,j} 有:

Ai,j=Ai+1,j+1=ai−j

A_{i,j}=A_{i+1,j+1}=a_{i-j}

⎡⎣⎢⎢⎢⎢⎢⎢afghibafghcbafgdcbafedcba⎤⎦⎥⎥⎥⎥⎥⎥

\begin{bmatrix} a & b & c & d & e \\ f & a & b & c & d \\ g & f & a & b & c \\ h & g & f & a & b \\ i & h & g & f & a \end{bmatrix}.

i−ji-j 表示行号减去列号,对于 n×nn\times n 的 Toeplize 矩阵共 2n−12n-1 个不同的值,即 a1−n,a2−n,…,a−1,0,a1,…,an−1a_{1-n}, a_{2-n}, \ldots, a_{-1}, 0, a_1, \ldots, a_{n-1}。

⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢a0a1a2⋮⋮an−1a−1a0a1⋱…a−2a−1⋱⋱⋱……⋱⋱⋱a1a2…⋱a−1a0a1a−(n−1)⋮⋮a−2a−1a0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥

\begin{bmatrix}a_{0} & a_{-1} & a_{-2} & \ldots & \ldots & a_{-(n-1)} \\a_{1} & a_0 & a_{-1} & \ddots & & \vdots \\a_{2} & a_{1} & \ddots & \ddots & \ddots & \vdots \\ \vdots & \ddots & \ddots & \ddots & a_{-1} & a_{-2}\\\vdots & & \ddots & a_{1} & a_{0} & a_{-1} \\ a_{n-1} & \ldots & \ldots & a_{2} & a_{1} & a_{0} \end{bmatrix}

2. Toeplize 矩阵与卷积和傅里叶变换到关系

长度为 nn 的信号 xx,与长度为 mm 的卷积核 hh,二者之间的卷积可通过矩阵乘法的方式计算:

y=h∗x=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢h1h2h3⋮hm−1hm00⋮00h1h2h3⋮hm−1hm0⋮0……………⋮……⋮00⋮0h1h2⋮hm−2hm−1hm…0⋮00h1h2⋮hm−2hm−1hm⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎡⎣⎢⎢⎢⎢⎢⎢⎢x1x2x3⋮xn⎤⎦⎥⎥⎥⎥⎥⎥⎥

y = h \ast x = \begin{bmatrix}h_1 & 0 & \ldots & 0 & 0 \\h_2 & h_1 & \ldots & \vdots & \vdots \\h_3 & h_2 & \ldots & 0 & 0 \\\vdots & h_3 & \ldots & h_1 & 0 \\h_{m-1} & \vdots & \ldots & h_2 & h_1 \\h_m & h_{m-1} & \vdots & \vdots & h_2 \\0 & h_m & \ldots & h_{m-2} & \vdots \\0 & 0 & \ldots & h_{m-1} & h_{m-2} \\\vdots & \vdots & \vdots & h_m & h_{m-1} \\0 & 0 & 0 & \ldots & h_m \end{bmatrix} \begin{bmatrix}x_1 \\x_2 \\x_3 \\\vdots \\x_n \end{bmatrix}

同样地根据卷积的性质,也有:

yT=[h1h2h3…hm−1hm]⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢x100⋮00x2x10⋮……x3x2x1⋮00…x3x2⋮00xn…x3⋮x100xn………x100xn⋮xn−2…000⋮xn−1xn−2…………xnxn−10000⋮xn⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥.

y^T =\begin{bmatrix}h_1 & h_2 & h_3 & \ldots & h_{m-1} & h_m\end{bmatrix}\begin{bmatrix}x_1 & x_2 & x_3 & \ldots & x_n & 0 & 0 & 0& \ldots & 0 \\0 & x_1 & x_2 & x_3 & \ldots & x_n & 0 & 0 & \ldots & 0 \\0 & 0 & x_1 & x_2 & x_3 & \ldots & x_n & 0 & \ldots & 0 \\\vdots & \vdots & \vdots & \vdots & \vdots & \ldots & \vdots & \vdots & \ldots & 0 \\0 & \ldots & 0 & 0 & x_1 & \ldots & x_{n-2} & x_{n-1} & x_n & \vdots \\0 & \ldots & 0 & 0 & 0 & x_1 & \ldots & x_{n-2} & x_{n-1} & x_n\end{bmatrix}.

  • 由左边的 Toeplize 矩阵可知,Toeplize 矩阵不必是方阵;下面来看该矩阵的维度信息,如下图所示:

    上面在 wikipedia 中复制过来的矩阵信息其实是当 n<mn 时的情形,且 n=m−1n=m-1。

3. Circulant matrix

是一种特殊的 Toeplitz 矩阵。

如下为一个 Circulant matrix 的基本形式:

C=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢c0c1⋮cn−2cn−1cn−1c0c1cn−2…cn−1c0⋱…c2⋱⋱c1c1c2⋮cn−1c0⎤⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥.

C= \begin{bmatrix} c_0 & c_{n-1} & \dots & c_{2} & c_{1} \\ c_{1} & c_0 & c_{n-1} & & c_{2} \\ \vdots & c_{1}& c_0 & \ddots & \vdots \\ c_{n-2} & & \ddots & \ddots & c_{n-1} \\ c_{n-1} & c_{n-2} & \dots & c_{1} & c_0 \\ \end{bmatrix}.

在 Toeplize 的基础上,Circulant 进一步的要求是每一个行向量,是前一个行向量的循环右移一个元素。

Toeplitz matrix 与 Circulant matrix相关推荐

  1. adjacent matrix和affinity matrix之间的区别

    本文描述adjacent matrix和affinity matrix 的异同点. 如下图是一个无向图,其有4个点,5条边,每个边的权重为1. 如果使用 adjacent matrix描述该图,则ad ...

  2. R语言使用psych包进行探索性因子分析EFA、使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix into correlation matrix)

    R语言使用psych包进行探索性因子分析EFA.使用cov2cor函数将原始数据的协方差矩阵将其转换为相关性矩阵( covariance matrix transform into correlati ...

  3. Matrix: android 中的Matrix (android.graphics.Matrix) (转)

    本篇博客主要讲解一下如何处理对一个Bitmap对象进行处理,包括:缩放.旋转.位移.倾斜等.在最后将以一个简单的Demo来演示图片特效的变换. 1. Matrix概述 对于一个图片变换的处理,需要Ma ...

  4. html中的matrix属性,transform,matrix属性讲解

    矩阵可以理解为方阵,只不过,平时方阵里面站的是人,矩阵中是数值:  → 而所谓矩阵的计算,就是两个方阵的人(可以想象成古代的方阵士兵)相互冲杀. CSS3中的矩阵 CSS3中的矩阵指的是一个方法,书写 ...

  5. pytorch 邻接矩阵转稀疏矩阵 (dense matrix to coo matrix)

    如何将一个dense矩阵,比如:一个 N×NN \times NN×N 的邻接矩阵a 转成 pytorch的sparse coo 矩阵. 方法一: import numpy as np import ...

  6. LeetCode 766. Toeplitz Matrix

    题目: A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now g ...

  7. [leetcode] 766. Toeplitz Matrix @ python

    原题 A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same element. Now gi ...

  8. 766. 托普利茨矩阵(javascript)766. Toeplitz Matrix

    给你一个 m x n 的矩阵 matrix .如果这个矩阵是托普利茨矩阵,返回 true :否则,返回 false . 如果矩阵上每一条由左上到右下的对角线上的元素都相同,那么这个矩阵是 托普利茨矩阵 ...

  9. matlab 矩阵 矢量场,Matlab将矢量转换为矩阵(Matlab turning vectors into a matrix)

    Matlab将矢量转换为矩阵(Matlab turning vectors into a matrix) 我不确切地知道如何用这个问题来表达,但我有3个列向量,我试图将它们变成矩阵,这样矩阵基本上看起 ...

最新文章

  1. 继承和多态 2.0 -- 继承的六个默认成员函数
  2. 分享一个OTA测试服务器,可以用来测试esp8266的http update功能
  3. Open-E DSS V7 应用系列之三 Web管理简介
  4. ActiveRecord多表查询
  5. 填充因子-FILL FACTOR
  6. VC++编程实现多显示器控制(复制、横屏、纵屏,显示器个数)
  7. Shaolin HDU - 4585(map模板题)
  8. UI设计案例|文件管理App界面设计灵感
  9. 【GStreamer开发】GStreamer基础教程07——多线程和Pad的有效性
  10. iOS-属性字符串添加下划线、删除线
  11. zoj3802:easy 2048 again(状压dp)
  12. DeepMind的脑补AI再获新技能:看文字知场景、复杂环境、连续视频……
  13. redis之django-redis
  14. java做一个万年历和闹钟,c51实现万年历、温度与闹钟功能程序
  15. yolov5数据集标注txt2xml和xml2txt
  16. 免费又稳定的短链接生成工具
  17. a form 出口享惠情况_进出口报关
  18. Linux防蓝光(Redshift)
  19. JSP实战项目教程|基于JSP的学生请假系统开发视频教程
  20. 小米Pad退出开发者模式

热门文章

  1. phoneGap实际开发中的某些雷区
  2. [E]PSM算法简析
  3. DXUT框架剖析(2)
  4. A*寻路算法的C#实现
  5. linux自动更新漏洞,Linux爆本地提权漏洞 请立即更新udev程序
  6. python要求将字符串循环右移n次_python 基础知识
  7. c语言程序设计个人作业,C语言程序设计-作业集.doc
  8. 详解:Oracle数据库的分区表
  9. 集合点(掌握)-并发
  10. Matplotlib——画图(散点图、柱状图、等高线图、3D图)