MIT线性代数笔记十二 图、网络、关联矩阵

2023-11-07 08:40

本文主要是介绍MIT线性代数笔记十二 图、网络、关联矩阵,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

  本讲讨论线性代数在物理系统中的应用。可参考链接为:https://www.juanklopper.com/wp-content/uploads/2015/03/I_13_Graphs_Incidence_matrices_Kirchhoff_laws.html

文章目录

  • 1. 图和网络 Graphs & Networks
  • 2. 关联矩阵(Incidence matrices)
    • 2.1 零空间
    • 2.2 列空间
    • 2.3 左零空间
    • 2.4 行空间

1. 图和网络 Graphs & Networks

  图是结点(node)和边(edge)的一个集合。
在这里插入图片描述
  边线上的箭头代表从结点流出的正方向。上图里包含 4 个结点,5 条边,我们可以将每条边都指定参考方向用于区分正负,比如一个电路网络。 在此例子中,将使用电势、回路、电流之类的词汇(当然这个模型还可以表示为液压系统、建筑结构等)。我们通过构造一个incidence matrix 关联矩阵来解析这个图的含义。

2. 关联矩阵(Incidence matrices)

  构造一个矩阵来表示图的内在含义,此矩阵称为关联矩阵,图中每个结点代表一列,每边代表一行。 则上图为 5 ∗ 4 5*4 54矩阵。 反过来从这个矩阵出发我们也能画出图。

在这里插入图片描述

  第一行代表边①,从结点 1 流出记为-1,从结点 2 流入记为 1。也就是从结点1流向了结点2。

  边①、边②和边③构成了一个回路,称为环(loop)。反映在矩阵上是这三个行向量线性相关。

在这里插入图片描述
  源于现实问题的关联矩阵,通常描述了问题的结构。如果我们研究一个很大的图,则会构建一个很大的矩阵,但这个矩阵会是稀疏矩阵。

2.1 零空间

  考察矩阵的零空间,即求 A x = 0 Ax=0 Ax=0的解。零空间告诉我们列向量线性组合的状态。这里 x x x的分量表示的是每个节点。

A x = [ x 2 − x 1 x 3 − x 2 x 3 − x 1 x 4 − x 1 x 4 − x 3 ] = [ 0 0 0 0 0 ] Ax= \left[ \begin{array} { c } { x _ { 2 } - x _ { 1 } } \\ { x _ { 3 } - x _ { 2 } } \\ { x _ { 3 } - x _ { 1 } } \\ { x _ { 4 } - x _ { 1 } } \\ { x _ { 4 } - x _ { 3 } } \end{array} \right] = \left[ \begin{array} { l } { 0 } \\ { 0 } \\ { 0 } \\ { 0 } \\ { 0 } \end{array} \right] Ax=x2x1x3x2x3x1x4x1x4x3=00000

  如果 x x x为结点上的电势,则 A x Ax Ax给出了每个边上的电势差。 求解可以得到零空间为一维 d i m N ( A ) = 1 dim\ N(A)=1 dim N(A)=1,它的基就是 [ 1 1 1 1 ] \left[ \begin{array} { l } { 1 } \\ { 1 } \\ { 1 } \\ { 1 } \end{array} \right] 1111,解集则是 x = c [ 1 1 1 1 ] x=c\left[ \begin{array} { l } { 1 } \\ { 1 } \\ { 1 } \\ { 1 } \end{array} \right] x=c1111,代表等电势,说明等电势条件下不会有电流产生。常数 c 的确定需要边界条件,比如我们将结点 4 接地,则 x 4 = 0 x_4=0 x4=0

2.2 列空间

  若求 A x = b Ax=b Ax=b的解,则相当于在给定了电压 b b b的情况下,求各点的电势,但实际上我们得不到电势的准确值,因为零空间有常数解 c c c,各点得到的电势需要加上常数 c c c,这很类似于求积分要加上常函数,常数值需要边界条件来确定。

  矩阵的列数为 4,而其零空间的维数为 1,则矩阵的秩为 3,矩阵第 1 列、第2列和第 4 列的列向量线性无关。

  考察矩阵列空间,一个重要的问题就是对于什么样的 b b b A x = b Ax=b Ax=b有解。边①、边②和边③构成了环,这三个行向量线性相关,同样的情况还有边④、边⑤和边③构成的环。

  我们沿着第一幅图中的一个环边(1,3,-2)对电势差求和:
( x 2 − x 1 ) + ( x 3 − x 2 ) − ( x 3 − x 1 ) = 0 (x_2-x_1)+(x_3-x_2)-(x_3-x_1)=0 (x2x1)+(x3x2)(x3x1)=0

x 2 − x 1 = b 1 , x 3 − x 2 = b 3 , x 3 − x 1 = b 2 x_2-x_1=b_1,x_3-x_2=b_3,x_3-x_1=b_2 x2x1=b1,x3x2=b3,x3x1=b2

  所以 b b b的分量满足 b 1 + b 3 − b 2 = 0 b_1+b_3-b_2=0 b1+b3b2=0以及 b 3 − b 4 + b 5 = 0 b_3-b_4+b_5=0 b3b4+b5=0。如果把边①、边②、边④、边⑤构成的大环也表示出来则还可以得到一个等式 b 1 − b 2 + b 4 − b 5 = 0 b_1-b_2+b_4-b_5=0 b1b2+b4b5=0,但实际上这个等式就是之前这两个等式的组合。这两个等式就是基尔霍夫电压定律(Kirchhoff’s Voltage law),即环路电势差之和为零。

2.3 左零空间

  矩阵的左零空间是满足 A T y = 0 A^Ty=0 ATy=0的向量 y 的集合。 其中 y y y的每个分量表示的是每个边。 因为矩阵 A T A^T AT有 5 列,且矩阵的秩为 3,因此矩阵的左零空间维数为 2。这反应了行向量的线性关系,整个“图”中,环数为 2。

A T y = [ − 1 0 − 1 − 1 0 1 − 1 0 0 0 0 1 1 0 − 1 0 0 0 1 1 ] = [ 0 0 0 0 ] A ^ { T } y = \left[ \begin{array} { c c c c c } { - 1 } & { 0 } & { - 1 } & { - 1 } & { 0 } \\ { 1 } & { - 1 } & { 0 } & { 0 } & { 0 } \\ { 0 } & { 1 } & { 1 } & { 0 } & { - 1 } \\ { 0 } & { 0 } & { 0 } & { 1 } & { 1 } \end{array} \right]=\left[ \begin{array} { l } { 0 } \\ { 0 } \\ { 0 } \\ { 0 } \end{array} \right] ATy=11000110101010010011=0000

  其中y的分量的值为“边”上的电流。

  在电势差和电流之间建立联系就是欧姆定律(Ohm’s Law)。

在这里插入图片描述
  我们求解 A T y = 0 A^Ty=0 ATy=0就是在求 5 个满足基尔霍夫电流定律(Kirchhoff’s Law)的电流值。

   A T y = 0 A^Ty=0 ATy=0的方程形式 { − y 1 − y 3 − y 4 = 0 y 1 − y 2 = 0 y 2 + y 3 − y 5 = 0 y 4 + y 5 = 0 \left\{ \begin{array} { r } { - y _ { 1 } - y _ { 3 } - y _ { 4 } = 0 } \\ { y _ { 1 } - y _ { 2 } = 0 } \\ { y _ { 2 } + y _ { 3 } - y _ { 5 } = 0 } \\ { y _ { 4 } + y _ { 5 } = 0 } \end{array} \right. y1y3y4=0y1y2=0y2+y3y5=0y4+y5=0,每一个方程关于一个结点,方程表示结点电流值为 0,即流入等于流出。

  从图上解方程,而不是采用消元法解方程。如果我们设定 y 1 = 1 y_1=1 y1=1,并且让 y 1 y_1 y1 y 2 y_2 y2 y 3 y_3 y3组成的回路的“环流“为 0,则有 y 2 = 1 y_2=1 y2=1 y 3 = − 1 y_3=-1 y3=1。可解得 y = [ 1 1 − 1 0 0 ] y=\left[ \begin{array} { c } { 1 } \\ { 1 } \\ { - 1 } \\ { 0 } \\ { 0 } \end{array} \right] y=11100。取另一个回路的环流为 0,则有 y 3 = 1 y_3=1 y3=1 y 4 = − 1 y_4=-1 y4=1 y 5 = 1 y_5=1 y5=1 y = [ 0 0 1 − 1 1 ] y = \left[ \begin{array} { c } { 0 } \\ { 0 } \\ { 1 } \\ { - 1 } \\ { 1 } \end{array} \right] y=00111

  如果设定 y 1 y_1 y1 y 2 y_2 y2 y 4 y_4 y4 y 5 y_5 y5组成的大回路环流为 0,则可以得到另一个向量 y,而该向量在零空间内,是前两个向量的线性组合。

2.4 行空间

  考察矩阵的行空间,因为矩阵 r = 3 r=3 r=3,所以存在 3 个线性无关的向量。**第 1 行、第 2 行和第 4 行为线性无关,在“图”中,边①、边②和边④构成了一张小图,这三个边没有形成回路。**线性相关问题等价于形成回路。没有回路的小图包含4个结点和 3 条边,再添加一条边就会产生回路,在矩阵里表现为在第 1 行、第 2 行和第 4行之上再添加一个行向量就会变为线性相关。没有回路的图称为“树”。

  思考一下维数公式的在“图”中的意义:
  左零空间维数 d i m N ( A T ) = m − r dim\ N(A^T)=m-r dim N(AT)=mr
  等价于 “ 环 ” 数 量 = “ 边 ” 数 量 − ( “ 结 点 ” 数 量 − 1 ) “环”数量=“边”数量-(“结点”数量-1) =1
  即 Eular 公式: “ 结 点 ” − “ 边 ” + “ 环 ” = 1 “结点”-“边”+“环”=1 +=1。对所有图都成立。
  矩阵的秩 r = “ 结 点 ” − 1 r=“结点”-1 r=1,因为 r 表示了线性无关的边的数目,也就是“树”中“边”的数目。
在这里插入图片描述
  之前的讨论都是针对于一个无源的电场,如果加入电源则情况又不同,例如加入电流源相当于将基尔霍夫定律的方程变为 A T y = f A^Ty=f ATy=f,f 就是外部流入的电流。

  将 e = A x e=Ax e=Ax y = C e y=Ce y=Ce A T y = f A^Ty=f ATy=f,三个等式结合得到应用数学中的基本方程 A T C A x = f A^TCAx=f ATCAx=f

   v = A u , y = C v , f = A T y v=Au, y=Cv,f=A^Ty v=Auy=Cvf=ATy

  关于方程 A T C A x = f A^TCAx=f ATCAx=f的更多内容可以阅读 GS 老先生 08 的书“Computational science and engineering”的第二章。

这篇关于MIT线性代数笔记十二 图、网络、关联矩阵的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/362477

相关文章

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

poj 3181 网络流,建图。

题意: 农夫约翰为他的牛准备了F种食物和D种饮料。 每头牛都有各自喜欢的食物和饮料,而每种食物和饮料都只能分配给一头牛。 问最多能有多少头牛可以同时得到喜欢的食物和饮料。 解析: 由于要同时得到喜欢的食物和饮料,所以网络流建图的时候要把牛拆点了。 如下建图: s -> 食物 -> 牛1 -> 牛2 -> 饮料 -> t 所以分配一下点: s  =  0, 牛1= 1~

poj 3068 有流量限制的最小费用网络流

题意: m条有向边连接了n个仓库,每条边都有一定费用。 将两种危险品从0运到n-1,除了起点和终点外,危险品不能放在一起,也不能走相同的路径。 求最小的费用是多少。 解析: 抽象出一个源点s一个汇点t,源点与0相连,费用为0,容量为2。 汇点与n - 1相连,费用为0,容量为2。 每条边之间也相连,费用为每条边的费用,容量为1。 建图完毕之后,求一条流量为2的最小费用流就行了

poj 2112 网络流+二分

题意: k台挤奶机,c头牛,每台挤奶机可以挤m头牛。 现在给出每只牛到挤奶机的距离矩阵,求最小化牛的最大路程。 解析: 最大值最小化,最小值最大化,用二分来做。 先求出两点之间的最短距离。 然后二分匹配牛到挤奶机的最大路程,匹配中的判断是在这个最大路程下,是否牛的数量达到c只。 如何求牛的数量呢,用网络流来做。 从源点到牛引一条容量为1的边,然后挤奶机到汇点引一条容量为m的边

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

论文阅读笔记: Segment Anything

文章目录 Segment Anything摘要引言任务模型数据引擎数据集负责任的人工智能 Segment Anything Model图像编码器提示编码器mask解码器解决歧义损失和训练 Segment Anything 论文地址: https://arxiv.org/abs/2304.02643 代码地址:https://github.com/facebookresear

数学建模笔记—— 非线性规划

数学建模笔记—— 非线性规划 非线性规划1. 模型原理1.1 非线性规划的标准型1.2 非线性规划求解的Matlab函数 2. 典型例题3. matlab代码求解3.1 例1 一个简单示例3.2 例2 选址问题1. 第一问 线性规划2. 第二问 非线性规划 非线性规划 非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。2