拉普拉斯矩阵(Laplacian matrix) 也叫做导纳矩阵、基尔霍夫矩阵或离散拉普拉斯算子,是图论中用于表示图的一种重要矩阵。

定义

  给定一个具有 n n n个顶点的简单图 G = ( V , E ) G=(V, E) G=(V,E), V V V为顶点集合, E E E为边集合,其拉普拉斯矩阵可定义为:
L = D − A L=D-A L=D−A其中 A ∈ R n × n A \in \mathbb{R}^{n \times n} A∈Rn×n为邻接矩阵(adjacency matrix), D ∈ R n × n D \in \mathbb{R}^{n \times n} D∈Rn×n为度矩阵(degree matrix)。
   注意, A A A中的元素仅仅可能是 0 和 1,且其对角元素全为 0。 D D D是一个对角矩阵,其对角线上的元素计算方式为 D i i = ∑ j A i j D_{i i}=\sum_{j} A_{i j} Dii​=∑j​Aij​。
   进一步地, L L L的每个元素值的具体计算方式如下所示:
L i j = { D i i if  i = j − 1 if  i ≠ j and  v i is adjacent to  v j 0 otherwise  L_{ij}=\left\{\begin{array}{ll}{D_{ii}} & {\text { if } i=j} \\ {-1} & {\text { if } i \neq j \text { and } v_{i} \text { is adjacent to } v_{j}} \\ {0} & {\text { otherwise }}\end{array}\right. Lij​=⎩⎨⎧​Dii​−10​ if i=j if i​=j and vi​ is adjacent to vj​ otherwise ​

示例

  给定一个简单的图 G = ( V , E ) G=(V, E) G=(V,E),其示意图如下所示(例子来自wiki百科):

根据该示意图,可以获得 G G G对应的邻接矩阵 A A A,如下所示:
A = ( 0 1 0 0 1 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 0 0 1 0 0 ) A=\left(\begin{array}{llllll}{0} & {1} & {0} & {0} & {1} & {0} \\ {1} & {0} & {1} & {0} & {1} & {0} \\ {0} & {1} & {0} & {1} & {0} & {0} \\ {0} & {0} & {1} & {0} & {1} & {1} \\ {1} & {1} & {0} & {1} & {0} & {0} \\ {0} & {0} & {0} & {1} & {0} & {0}\end{array}\right) A=⎝⎜⎜⎜⎜⎜⎜⎛​010010​101010​010100​001011​110100​000100​⎠⎟⎟⎟⎟⎟⎟⎞​
根据度矩阵的计算方式,可以获得 G G G对应的度矩阵 D D D,如下所示:
D = ( 2 0 0 0 0 0 0 3 0 0 0 0 0 0 2 0 0 0 0 0 0 3 0 0 0 0 0 0 3 0 0 0 0 0 0 1 ) D=\left(\begin{array}{llllll}{2} & {0} & {0} & {0} & {0} & {0} \\ {0} & {3} & {0} & {0} & {0} & {0} \\ {0} & {0} & {2} & {0} & {0} & {0} \\ {0} & {0} & {0} & {3} & {0} & {0} \\ {0} & {0} & {0} & {0} & {3} & {0} \\ {0} & {0} & {0} & {0} & {0} & {1}\end{array}\right) D=⎝⎜⎜⎜⎜⎜⎜⎛​200000​030000​002000​000300​000030​000001​⎠⎟⎟⎟⎟⎟⎟⎞​
根据拉普拉斯矩阵的定义 L = D − A L=D-A L=D−A,可以获得 G G G对应的拉普拉斯矩阵 L L L,如下所示:
L = ( 2 − 1 0 0 − 1 0 − 1 3 − 1 0 − 1 0 0 − 1 2 − 1 0 0 0 0 − 1 3 − 1 − 1 − 1 − 1 0 − 1 3 0 0 0 0 − 1 0 1 ) L=\left(\begin{array}{rrrrrr}{2} & {-1} & {0} & {0} & {-1} & {0} \\ {-1} & {3} & {-1} & {0} & {-1} & {0} \\ {0} & {-1} & {2} & {-1} & {0} & {0} \\ {0} & {0} & {-1} & {3} & {-1} & {-1} \\ {-1} & {-1} & {0} & {-1} & {3} & {0} \\ {0} & {0} & {0} & {-1} & {0} & {1}\end{array}\right) L=⎝⎜⎜⎜⎜⎜⎜⎛​2−100−10​−13−10−10​0−12−100​00−13−1−1​−1−10−130​000−101​⎠⎟⎟⎟⎟⎟⎟⎞​显然,拉普拉斯矩阵都是对称的。

性质

  1. 拉普拉斯矩阵是半正定矩阵;
  2. 特征值中0出现的次数就是图连通区域的个数;
  3. 最小特征值是0,因为拉普拉斯矩阵每一行的和均为0;
  4. 最小非零特征值是图的代数连通度。

变体

  除了最普通的拉普拉斯矩阵形式 L = D − A L=D-A L=D−A外,还具有多种常见的形式,如Symmetric normalized LaplacianRandom walk normalized Laplacian
   Symmetric normalized Laplacian的定义如下:
L s n = D − 1 2 L D − 1 2 = I − D − 1 2 A D − 1 2 L^{sn}=D^{-\frac{1}{2}} L D^{-\frac{1}{2}}=I-D^{-\frac{1}{2}} A D^{-\frac{1}{2}} Lsn=D−21​LD−21​=I−D−21​AD−21​ L i j s n = { 1 if  i = j and  D i i ≠ 0 − 1 D i i D j j if  i ≠ j and  v i is adjacent to  v j 0 otherwise  L_{ij}^{sn}=\left\{\begin{array}{ll}{1} & {\text { if } i=j \text { and } D_{ii} \neq 0} \\ {-\frac{1}{\sqrt{D_{ii} D_{jj}}}} & {\text { if } i \neq j \text { and } v_{i} \text { is adjacent to } v_{j}} \\ {0} & {\text { otherwise }}\end{array}\right. Lijsn​=⎩⎪⎨⎪⎧​1−Dii​Djj​ ​1​0​ if i=j and Dii​​=0 if i​=j and vi​ is adjacent to vj​ otherwise ​
   Random walk normalized Laplacian的定义如下:
L r w = D − 1 L = I − D − 1 A L^{r w}=D^{-1} L=I-D^{-1} A Lrw=D−1L=I−D−1A L i j r w = { 1 if  i = j and  D i i ≠ 0 − 1 D i i if  i ≠ j and  v i is adjacent to  v j 0 otherwise  L_{ij}^{rw}=\left\{\begin{array}{ll}{1} & {\text { if } i=j \text { and }D_{ii} \neq 0} \\ {-\frac{1}{D_{ii}}} & {\text { if } i \neq j \text { and } v_{i} \text { is adjacent to } v_{j}} \\ {0} & {\text { otherwise }}\end{array}\right. Lijrw​=⎩⎨⎧​1−Dii​1​0​ if i=j and Dii​​=0 if i​=j and vi​ is adjacent to vj​ otherwise ​

本文参考资料

  1. 图拉普拉斯–百度百科
  2. 拉普拉斯矩阵–简书
  3. 拉普拉斯矩阵(Laplacian matrix)–简书

转载请注明出处:https://blog.csdn.net/qq280929090/article/details/103591577

拉普拉斯矩阵(Laplacian matrix)及其变体详解相关推荐

  1. ResNet残差网络及变体详解(符代码实现)

    本文通过分析深度网络模型的缺点引出ResNet残差网络,并介绍了几种变体,最后用代码实现ResNet18. 文章目录 前言 模型退化 残差结构 ResNet网络结构 Pre Activation Re ...

  2. RNN-GRU-LSTM变体详解

    首先介绍一下 encoder-decoder 框架 中文叫做编码-解码器,它一个最抽象的模式可以用下图来展现出来: 这个框架模式可以看做是RNN的一个变种:N vs M,叫做Encoder-Decod ...

  3. 【FFmpeg】结构体详解(二):AVStream、AVPacket、AVOutputFormat

    FFmpeg结构体详解 7.AVStream 8.AVPacket 9.AVOutputFormat 7.AVStream AVStream 是存储每一个视频/音频流信息的结构体. 重要的变量如下所示 ...

  4. 【FFmpeg】结构体详解(一):AVCodec、AVCodecContext、AVCodecParserContext、AVFrame、AVFormatContext 、AVIOContext

    FFmpeg结构体详解 一.FFmpeg中最关键的结构体之间的关系 1.解协议(http,rtsp,rtmp,mms) 2.解封装(flv,avi,rmvb,mp4) 3.解码(h264,mpeg2, ...

  5. Tomcat 8熵池阻塞变慢详解

    Tomcat 8熵池阻塞变慢详解 Tomcat 8启动很慢,且日志上无任何错误,在日志中查看到如下信息: Log4j:[2015-10-29 15:47:11] INFO ReadProperty:1 ...

  6. 计算机科学类专升本复习之“C语言结构体”详解(初稿)

    C语言结构体详解,C语言struct用法详解 前面所学到的"数组":它是一组具有"相同类型"的数据的集合. 但是在实际的编程中,我们往往还需要 一组" ...

  7. C语言结构体详解(结构体定义,使用,结构体大小等)

    c语言结构体详解 1.c语言结构体 1.1 结构体基础知识 1.2 结构体声明 1.3 结构体特殊声明 1.4 结构体的自引用 1.5 结构体的大小的计算 1.5.1了解结构体大小计算规则 1.5.2 ...

  8. C# 之 结构体详解

    C# 之 结构体详解 一.结构体的定义 二.结构体的初始化 1.实例构造函数 2.静态构造函数 三.结构体的使用 1.赋值操作 2.作为方法参数和返回值 一.结构体的定义 概念:C#的结构体类型(或称 ...

  9. windows内核开发笔记七:内核开发OVERLAPPED结构体详解

    windows内核开发笔记七:内核开发OVERLAPPED结构体详解 typedef struct _OVERLAPPED {   DWORD Internal;   DWORD InternalHi ...

最新文章

  1. 支付系统整体架构详解
  2. 5G LAN — 解决方案示例
  3. 2020-11-25(《深入理解计算机系统》多级页表详解)
  4. django 灵活的后台查询
  5. 国外计算机专业入门语言,【转自知乎】给想要报考计算机专业学生的一些建议...
  6. [BZOJ1059][ZJOI2007]矩阵游戏
  7. 条件判断_判断疑似陨石应具备什么条件下,才能判断陨石真伪
  8. linux系统下如何优化mysql运行环境
  9. 【WPF】Slider 任意位置拖动
  10. arduino定时器控制舵机_Arduino通过串口控制舵机角度
  11. 栅格数据中的 Zone 与 Region
  12. Xposed入门篇之安装xposed框架
  13. 基于java中国跳棋游戏
  14. 缓解眼睛疲劳的一些解决方案
  15. Java计算某年某月天数_编程计算某年某月某日是该年的第多少天。例如:2016年3月2日是2016的 第62 天。(java)...
  16. REST Assured 使用详解
  17. 几个 ICON 图标 网站
  18. Verdi和DVE 中高亮设置波形颜色
  19. acpc2013 G. The Stones Game (思维)
  20. 2020年蓝旭工作室暑期前端培训班Day1——HTML5 CSS3

热门文章

  1. ARCGIS SERVER 授权
  2. 热塑性塑料/热塑性橡胶
  3. vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in nextTick: “TypeError: Cannot read properties of und
  4. Ural 1671 - Anansi's Cobweb 倒过来做...并查集维护..
  5. PHP程序员战地日记
  6. 理想中2.5D的网络拓扑图
  7. 怎么恢复苹果内置的计算机,苹果自带软件删了怎么恢复原状
  8. Linux 下检查 VT-d / IOMMU 是否开启
  9. 计算机专业的学生买什么电脑,设计类学生买什么电脑
  10. 加速应用开发 | Firebase Summit 2021 精彩回顾