矩阵与图的关系:矩阵是图,图是矩阵

news2024/9/28 23:24:56

原文连接

线性代数最被低估的一个事实:矩阵是图,图是矩阵。

(非负)矩阵及其图

将矩阵编码为图是一种取巧的行为(cheat code),它其使复杂的行为变得易于研究。

让我告诉你怎么做!

1. 非负矩阵的有向图 (The directed graph of a nonnegative matrix)

如果你看了上面的例子,你可能就明白了这个规则。

每一行都是一个节点,每个元素代表一条有向加权边。零元素的边被省略。第 i 行第 j 列中的元素对应于从 i 到 j 的一条边。

得到的图称为矩阵的有向图(或有向图)。

为了稍微展开一下定义,让我们检查第一行,它对应于从第一个节点传出的边。

在这里插入图片描述
第一行对应于从第一个节点传出的边

类似地,第一列对应于传入第一个节点的边。
在这里插入图片描述
第一列对应于传入第一个节点的边

这是完整的图片,节点被明确标记。
在这里插入图片描述

2. 图表示的好处(Benefits of the graph representation)

为什么有向图表示对我们有益?

其一,矩阵的幂对应于图中的转移(the powers of the matrix correspond to walks in the graph)。

看一下方阵的元素。所有可能的 2 步 转移(2-step walk)均计入定义 A² 元素的总和中。
在这里插入图片描述

如果有向图表示马尔可夫链的状态,则其转移概率矩阵的平方本质上表示该链在两步后具有某种状态的概率
.
这种联系还有更多内容。

例如,它让我们深入了解非负矩阵的结构。

为了了解图表示为矩阵的情况,我们来讨论一下强连通分量的概念。

3. 图的连通性(The connectivity of graphs)

如果每个节点都可以从每个其他节点到达,则有向图是强连通的。

如果这不成立,则该图不是强连通的。

下面,您可以看到两者的示例。

在这里插入图片描述

对应于强连通图的矩阵称为不可约矩阵。所有其他非负矩阵都称为可约矩阵。很快,我们就会知道原因。(判断矩阵是否是一个不可约矩阵还有一个等价方式,就是看矩阵对应的有向图是否是强连通图)

在这里插入图片描述

(为简单起见,我假设每条边都有一个单位权重,但现实中每个权重可以是任意非负数。)

在这里插入图片描述

回到一般情况!

尽管并非所有有向图都是强连通的,但我们可以将节点划分为强连通的 子组件。

在这里插入图片描述

让我们标记这个图的节点并构造相应的矩阵!

在这里插入图片描述

(为简单起见,假设所有边都有单位权重。)您注意到某种模式了吗?

图对应的矩阵可以简化为更简单的形式!

在这里插入图片描述

它的 对角矩阵 由图强连通的 子矩阵块组成。 (也就是说,子矩阵块是不可约的。)此外,对角线下方的块为零。

对于所有非负矩阵都是如此吗?

你猜猜。下边进入Frobenius normal form。

4. The Frobenius normal form

一般来说,我们刚刚看到的这种块矩阵结构称为Frobenius normal form。
在这里插入图片描述

如果你的眼睛很敏锐,并且有点强迫症,你可能会注意到我稍微改变了颜色。从现在开始,不可约块(又名对应于强连接图的矩阵)将是米黄色,而可约块将是浅蓝色。

让我们把问题反过来:我们可以将任意非负矩阵转换为 Frobenius normal form?

是的,在有向图的帮助下,这比纯粹使用代数更容易显示。

这是著名定理的完整形式。

在这里插入图片描述

但什么是置换矩阵(permutation matrices)?

5. Permutation matrices 置换矩阵

让我们看一个特殊情况:如果我们 将 2 x 2 矩阵乘以
在这里插入图片描述

一个简单的零一矩阵 ?通过快速计算,您可以验证

当从左边相乘时它会切换行,

当从右侧相乘时它会切换列。

像这样:
在这里插入图片描述

从左侧和右侧乘以 P 会产生复合效果:它会切换行和列。
在这里插入图片描述

(顺便说一下,这是一个相似变换,因为我们特殊的零一矩阵是它自己的逆矩阵。这不是偶然的;稍后会详细介绍。)

我们为什么要看这个?因为在幕后,这种转换(相似变换即从左侧和右侧乘以 P )不会改变底层的图结构,只是重新标记其节点!

您可以轻松地手动验证这一点,但我在下面为您可视化了它。

在这里插入图片描述

在一般的 n x n 情况下也存在类似的现象。在这里,我们通过交换单位矩阵的第 i 行和第 j 行来定义所谓的转置矩阵:
在这里插入图片描述

与转置矩阵(transposition matrix)相乘具有相同的效果:从左侧切换行,从右侧切换列。

我们不会详细说明它(因为过于复杂的符号使它特别痛苦),但您可以手动验证这确实是正在发生的事情。

这是一个简短的总结。请记下这些,因为它们很快就会变得至关重要。

在这里插入图片描述

对我们来说最重要的性质:使用转置矩阵(transposition matrix)的相似变换只是重新标记两个节点,但在其他方面使图结构保持不变。

现在,关于前面提到的置换矩阵(permutation matrices)。置换矩阵只是转置矩阵( transposition matrices)的乘积。

在这里插入图片描述

置换矩阵(Permutation matrices)从其构建块继承了一些性质。最重要的是,

their inverse is their transpose,

  • 它们的逆是它们的转置,

  • 它们的相似变换只是节点的重新标记,使图结构保持不变。

要了解后一个,请考虑下面的论点。

在这里插入图片描述

(Recall that transposing a matrix product switches up the order, and transposition matrices are their own transposes.)

(回想一下,转置 一个 矩阵乘积 会改变顺序,而转置矩阵就是它们自己的转置。)

Conversely, every node relabeling is equivalent to a similarity transformation with a well-constructed permutation matrix.

相反,每个节点重新标记相当于具有构造良好的置换矩阵(permutation matrix)的相似变换。

我们为什么要谈论这个?因为节点的正确标记是 Frobenius normal form的关键。

6. 有向图及其强连通分量(Directed graphs and their strongly connected components)

现在,我们来谈谈图。我们将看到每个有向图如何分解为强通的分量。为此,让我们看一个具体的。

在这里插入图片描述
这将是我们的教科书示例。

从给定节点可以到达多少个节点?不一定是全部。比如说,对于右下角的那个,只能访问图表的一部分。

在这里插入图片描述

然而,相互可达的节点集要小得多。

在这里插入图片描述

从代数上来说,“a和b互可达”的关系是等价关系。换句话说,它将节点集划分为不相交的子集,使得

  • 来自同一子集的两个节点相互可达,

  • 并且来自不同子集的两个节点不能相互可达。

(等价关系是数学的主力。如果您不熟悉它们,请查看这篇关于分区的维基百科文章,了解它们之间的关系。)

该分区的子集称为强连通分量,我们总是可以用这种方式分解有向图

在这里插入图片描述

现在,让我们将所有内容连接在一起! (不是以图的方式,但你知道,以健康的数学方式。)

7. 将图和置换矩阵放在一起 (Putting graphs and permutation matrices together)

我们距离证明每个非负方阵都可以通过置换矩阵变换为 Frobenius normal form还有两步。

这是计划

  • 为我们的非负矩阵构建图。

  • 找到强连通分量。

  • 以巧妙的方式重新标记节点。

就是这样!为什么?因为,正如我们所见,重新标记图节点与使用置换矩阵(permutation matrix)的相似变换相同。

只有一个小问题:最好的实现方法是什么?接着往下看!

首先,我们“骨架化”图:将 组件(components) 以及它们之间的任何边合并在一起。将每个 组件 视为一个黑盒子:我们不关心里面有什么,只关心它们的外部连接。

在这里插入图片描述

在这个骨架中,我们可以发现无法从其他组件进入的组件。这些将是我们的起点,即第零类组件。在我们的示例中,我们只有一个。

在这里插入图片描述

Now, things get a bit tricky. We number each component by the longest path from the farthest zero-class component from which it can be reached.

现在,事情变得有点棘手。我们按照距离最远的零类组件的最长路径对每个组件进行编号。

这甚至都很难阅读,更不用说理解了。所以,这就是发生的事情。

在这里插入图片描述

要点是,如果您可以从第 n 级到达第 m 级,则 n < m。

最后,我们有以下内容。

在这里插入图片描述

这定义了组件的顺序。 (如果您想更精确,则为部分排序。)

现在,我们标记里面的节点,这样

  • 高阶类优先(higher-order classes come first,)

  • 如果可能的话,连续索引是来自同一组件的标签节点。(and consecutive indices are labeling nodes from the same component if possible.)

就是这样。
在这里插入图片描述

如果图本身来自实际矩阵,则这种重新标记会产生 Frobenius normal form!

下面是这个特定示例中的矩阵,为了简单起见,使用了 0 和 1:

在这里插入图片描述

我们巧妙标记的图的邻接矩阵

现在一切都已完成,Frobenius normal form变换背后的“证明”也完成了!

提醒您,这是该定理的完整形式:

在这里插入图片描述

8. 结论

我们所看到的只是冰山一角。例如,借助矩阵,我们可以定义图的特征值!这个想法催生了谱图理论这个迷人的话题,这是一个美丽的数学领域。

利用矩阵和图之间的关系对于图论和线性代数来说都是非常有利可图的。

如果你对细节感兴趣,我有两本书推荐给你。其中之一是 Richard A. Brualdi 和 Dragos Cvetkovic 撰写的精彩的《矩阵理论及其应用的组合方法》,这是我最喜欢的关于该主题的学习资源。

其次,我最近写完了机器学习的线性代数书。虽然这篇文章的内容还不是本文的一部分,但电子书格式的好处是我可以随时返回并添加新的章节。

因此,我计划将这篇文章扩展为类似教科书的章节,并可能附带交互式代码示例。如果您有兴趣,请查看我的书的前两章!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/920768.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGPT影响大学生思想行为模式的三个维度

ChatGPT作为新一代AI技术的代表&#xff0c;深刻嵌入并影响着大学生的日常学习和生活场景&#xff0c;其在提升学习研究效率、拓宽认知阈限、重塑人机互动模式等方面带来极大突破&#xff0c;也会对大学生的思想行为模式产生潜在的影响&#xff0c;这些影响可以从个体、关系与社…

Linux设置虚拟内存扩容-偷鸡省钱小技巧-消耗服务器的存储内存转换成运行内存-之强行突破境界

阿丹&#xff1a; 这一段时间各大运营商都在相互内卷&#xff0c;趁着这股劲拿下了几个服务器。因为降本升效&#xff08;囊中羞涩&#xff09;的宗旨&#xff0c;买的服务器的内存并没有那么大所以偷鸡技巧这就来了。 设置虚拟内容-让4G内存up!up!up!到更高&#xff01; 操作…

自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析

&#x1f600;前言 自己实现 SpringMVC 底层机制 系列之-实现任务阶段 7- 完成简单视图解析 &#x1f3e0;个人主页&#xff1a;尘觉主页 &#x1f9d1;个人简介&#xff1a;大家好&#xff0c;我是尘觉&#xff0c;希望我的文章可以帮助到大家&#xff0c;您的满意是我的动力…

SAP VK11/VK12 创建/更新价格记录

1、事务码VK11&#xff0c;创建物料价格 例如&#xff0c;客户10001&#xff0c;物料200001&#xff0c;价格120&#xff0c;有效期是2023.08.23-9999.12.31 现在有活动&#xff0c;在2023.08.23到2023.08.31想要维护一个活动价格100&#xff0c;而2023.09.01到9999.12.31还是…

Java开发中非常好用的工具

一、项目工具 1.1 IDE 主流的 Java 开发工具现在非 IntelliJ IDEA 莫属。前几年&#xff0c;可能 Eclipse 还能和 IDEA 一争高下&#xff0c;到了现在已经基本是 IDEA 的天下了。 就拿我自己来说吧&#xff0c;我最早用 IDEA&#xff0c;后来用了几年 Eclipse&#xff0c;再后…

EasyExcel实现多sheet文件导出

文章目录 EasyExcel引入依赖表结构学生表课程表教师表 项目结构下载模板实体类StudentVoCourseVoTeacherVo ControllerServiceEasyExcelServiceStudentServiceCourseServiceTeacherService ServiceImplEasyExcelServiceImplStudentServiceImplCourseServiceImplTeacherServiceI…

嵌入式是假风口?其实是你不够强!

嵌入式系统&#xff0c;作为一种集成电路技术的应用&#xff0c;近年来备受瞩目。然而&#xff0c;有人质疑嵌入式系统是否真的有那么大的市场前景&#xff0c;甚至认为这只是一个假风口。但实际上&#xff0c;嵌入式系统的发展潜力远不止于此&#xff0c;关键在于个人实力的提…

PI SSL证书导入

导语&#xff1a;最近在通过PI系统&#xff0c;做REST接口&#xff0c;对方地址是https的&#xff0c;调用时出现错误&#xff1a;【适配器框架出现异常: iaik.security.ssl.SSLCertificateException; Peer certificate relected by ChainVerifie】&#xff0c;此问题是因为这个…

SIP播放解码器

SIP-7101 SIP播放解码器 一、描述 SIP-7101是我司的一款壁挂式SIP网络播放终端&#xff0c;具有10/100M以太网接口&#xff0c;配置一路继电器输出和一路线路输出&#xff0c;可将内部音源输出到外接功放&#xff0c;可实现广播播放功能。SIP-7101作为网络SIP系统的播放终端&…

在Linux上安装redis7

1.检测虚拟机环境 1.1 bit检测命令&#xff1a;getconf LONG_BIT&#xff08;建议使用64bit做开发&#xff09; 1.2 gcc环境检测&#xff1a;gcc -v 如果不具备gcc环境&#xff0c;则使用yum -y install gcc- c命令进行c环境的安装 2.开始安装 2.1 下载redis&#xff1a; 进…

7、Vue 核心技术与实战 day07

1.1 vuex概述 1.2 构建 vuex [多组件数据共享] 环境 1.创建项目 vue create vuex-demo2.创建三个组件, 目录如下 |-components |--Son1.vue |--Son2.vue |-App.vue3.源代码如下 App.vue在入口组件中引入 Son1 和 Son2 这两个子组件 <template><div id"app&qu…

利用LLM模型微调的短课程;钉钉宣布开放智能化底座能力

&#x1f989; AI新闻 &#x1f680; 钉钉宣布开放智能化底座能力AI PaaS&#xff0c;推动企业数智化转型发展 摘要&#xff1a;钉钉在生态大会上宣布开放智能化底座能力AI PaaS&#xff0c;与生态伙伴探寻企业服务的新发展道路。AI PaaS结合5G、云计算和人工智能技术的普及和…

【TS】typescript基础知识

一、类型注解 : number就是类型注解&#xff0c;为变量添加类型约束的方式&#xff0c;约定了什么类型&#xff0c;就只能给变量赋什么类型的值 let age: number 18二、变量命名规则和规范 命名规则&#xff1a;变量名称只能出现数字&#xff0c;字母&#xff0c;下划线(_)…

无涯教程-Python - 环境设置

Python在包括Linux和Mac OS X在内的各种平台上都可用。让无涯教程了解如何安装设置Python环境。 最新的源代码,二进制文件,文档,新闻等可在Python的官方网站上找到https://www.python.org/ 您可以从https://www.python.org/doc/该文档有HTML,PDF和PostScript格式。 安装Pyth…

SD内存卡格式化后如何数据恢复教程

SD内存卡是一种常用的存储设备&#xff0c;可用于储存各种类型的数据&#xff0c;包括照片、音频、视频等。在使用过程中&#xff0c;你是否因为SD卡格式化而失去了重要数据而感到困扰&#xff1f;那么这篇文章的内容将能够帮助您快速有效地恢复格式化后的数据。 图片来源于网络…

python编写四画面同时播放swap视频

当代技术让我们能够创建各种有趣和实用的应用程序。在本篇博客中&#xff0c;我们将探索一个基于wxPython和OpenCV的四路视频播放器应用程序。这个应用程序可以同时播放四个视频文件&#xff0c;并将它们显示在一个GUI界面中。 C:\pythoncode\new\smetimeplaymp4.py 准备工作…

Unity实现广告滚动播放、循环播放、鼠标切换的效果

效果&#xff1a; 场景结构&#xff1a; 特殊物体&#xff1a;panel下面用排列组件horizent layout group放置多个需要显示的面板&#xff0c;用mask遮罩好。 using System.Collections; using System.Collections.Generic; using DG.Tweening; using UnityEngine; using Unity…

达梦数据库curd的简单使用

目录 添加表空间 删除表空间 添加表空间 create tablespace "test_db" datafile E:\dm_data\DM6.DBF size 32--制定路径 create tablespace “test_db”&#xff1a;创建一个名为test_db的表空间 datafile ‘DM6.DBF’&#xff1a;表示数据文件名为TDM6.DBF&…

胖小酱之听话

首先&#xff0c;我们来看看何为“物质奖励”&#xff1f; 所谓的物质奖励&#xff0c;简单通俗地说就是运用物质上的满足&#xff0c;去调动孩子的积极、主动和创造能力&#xff0c;其中物质奖励的形式一般体现在各种实物的需求方面&#xff0c;比如游戏机、玩具车、手机…

富仕转债上市价格预测

富仕转债 基本信息 转债名称&#xff1a;富仕转债&#xff0c;评级&#xff1a;AA-&#xff0c;发行规模&#xff1a;5.7亿元。 正股名称&#xff1a;四会富仕&#xff0c;今日收盘价&#xff1a;36.29元&#xff0c;转股价格&#xff1a;41.77元。 当前转股价值 转债面值 / 转…