当前位置: 首页 > news >正文

图和网络笔记

1. A X = 0 AX=0 AX=0

一个图可以由节点和边组成,假设我们有一个节点notes :n=4,边edges:m=5的有向图,表示如下
在这里插入图片描述

  • 通过以上电路图可以得到关联矩阵(incident matrix),我们定义边,开始端用-1表示,结束端用1表示,用行表示边,用列表示节点。可得如下
    比如edge1是由从节点1出发,到节点2 ,用行向量表示可得
    [ − 1 1 0 0 ] ⇒ e d g e 1 (1) \begin{bmatrix}-1&1&0&0\end{bmatrix}\Rightarrow edge1\tag{1} [1100]edge1(1)
  • 所以矩阵A根据上图可得如下:
    A = [ − 1 1 0 0 0 − 1 1 0 − 1 0 1 0 − 1 0 0 1 0 0 − 1 1 ] (2) A=\begin{bmatrix}-1& 1& 0& 0\\\\ 0 &-1& 1& 0\\\\ -1& 0& 1& 0\\\\ -1& 0& 0& 1\\\\ 0 & 0&-1& 1\end{bmatrix}\tag{2} A= 10110110000110100011 (2)
    • 我们可以看到由边1,2,3组成一个子图,那么看看由1,2,3组成的矩阵表示如下:
      [ − 1 1 0 0 0 − 1 1 0 − 1 0 1 0 ] ⇒ r o w 1 + r o w 2 = r o w 3 (3) \begin{bmatrix}-1& 1& 0& 0\\\\ 0 &-1& 1& 0\\\\ -1& 0& 1& 0 \end{bmatrix}\Rightarrow row_1+row_2=row_3\tag{3} 101110011000 row1+row2=row3(3)
      在这里插入图片描述

      也就是说,如果在矩阵中3行能达到等式关系,可以等效与在图上形成一个子图。

      • 那么矩阵A的零空间代表什么呢?我们将AX=0 用列的形式表示如下:
        A X = [ − 1 1 0 0 0 − 1 1 0 − 1 0 1 0 − 1 0 0 1 0 0 − 1 1 ] [ x 1 x 2 x 3 x 4 ] = [ x 2 − x 1 x 3 − x 2 x 3 − x 1 x 4 − x 3 ] (4) AX=\begin{bmatrix}-1& 1& 0& 0\\\\ 0 &-1& 1& 0\\\\ -1& 0& 1& 0\\\\ -1& 0& 0& 1\\\\ 0 & 0&-1& 1\end{bmatrix}\begin{bmatrix}x_1\\\\x_2\\\\x_3\\\\x_4\end{bmatrix}=\begin{bmatrix}x_2-x_1\\\\x_3-x_2\\\\x_3-x_1\\\\x_4-x_3\end{bmatrix}\tag{4} AX= 10110110000110100011 x1x2x3x4 = x2x1x3x2x3x1x4x3 (4)
        A X = [ − 1 0 − 1 − 1 0 ] x 1 + [ 1 − 1 0 0 0 ] x 2 + [ 0 1 1 0 − 1 ] x 3 + [ 0 0 0 1 1 ] x 4 (5) AX=\begin{bmatrix}-1\\\\0\\\\-1\\\\-1\\\\0\end{bmatrix}x_1+\begin{bmatrix}1\\\\-1\\\\0\\\\0\\\\0\end{bmatrix}x_2+\begin{bmatrix}0\\\\1\\\\1\\\\0\\\\-1\end{bmatrix}x_3+\begin{bmatrix}0\\\\0\\\\0\\\\1\\\\1\end{bmatrix}x_4\tag{5} AX= 10110 x1+ 11000 x2+ 01101 x3+ 00011 x4(5)
  • AX=0的零空间X表示的是列向量的线性组合。X的物理意义表示的每个节点的电势值[potential at the node ],那么 x 2 − x 1 x_2-x_1 x2x1表示的是edge1的电势差,那什么时候可以保证电势差为0呢,那只有每个结点的电势相同即可,所以可以得到解如下,所以 dim N ( A ) = 1 , R a n k ( A ) = 4 − 1 = 3 N(A)=1,Rank(A)=4-1=3 N(A)=1Rank(A)=41=3
    X = c [ 1 1 1 1 ] (6) X=c\begin{bmatrix}1\\\\1\\\\1\\\\1\end{bmatrix}\tag{6} X=c 1111 (6)

2. A T Y = 0 A^TY=0 ATY=0

  • 矩阵表示形式如下, dim N ( A T ) = m − r ( A T ) = 5 − 3 = 2 N(A^T)=m-r(A^T)=5-3=2 N(AT)=mr(AT)=53=2,物理上表示 y 1 … y 5 y_1\dots y_5 y1y5为每个边edge上的电流大小:
    A T Y = [ − 1 0 − 1 − 1 0 1 − 1 0 0 0 0 1 1 0 − 1 0 0 0 1 1 ] [ y 1 y 2 y 3 y 4 y 5 ] = [ − y 1 − y 3 − y 4 y 1 − y 2 y 2 + y 3 − y 5 y 4 + y 5 ] = [ 0 0 0 0 ] (7) A^TY=\begin{bmatrix}-1& 0& -1& -1&0\\\\ 1& -1& 0& 0&0\\\\ 0& 1& 1& 0&-1\\\\ 0& 0& 0& 1&1 \end{bmatrix}\begin{bmatrix}y_1\\\\y_2\\\\y_3\\\\y_4\\\\y_5\end{bmatrix}=\begin{bmatrix}-y_1-y_3-y_4\\\\y_1-y_2\\\\y_2+y_3-y_5\\\\y_4+y_5\end{bmatrix}=\begin{bmatrix}0\\\\0\\\\0\\\\0\end{bmatrix}\tag{7} ATY= 11000110101010010011 y1y2y3y4y5 = y1y3y4y1y2y2+y3y5y4+y5 = 0000 (7)
  • 函数物理意义:
    − y 1 − y 3 − y 4 = 0 ⇒ y 1 + y 3 = − y 4 (8) -y_1-y_3-y_4=0\Rightarrow y_1+y_3=-y_4\tag{8} y1y3y4=0y1+y3=y4(8)
    表示的对于节点1来说,流入的电流为 − y 4 -y_4 y4,流出的电流为 y 1 + y 3 y_1+y_3 y1+y3,所以可以得到基尔霍夫电流定律,流入节点电流和等于流出节点的电流和
    在这里插入图片描述
  • N( A T A^T AT)=m-r=5-3=2,我们看由1,2,3组成的节点环1,如果想成为闭环,可以得到如下:
    y 1 + y 2 − y 3 = 0 (9) y_1+y_2-y_3=0\tag{9} y1+y2y3=0(9)
  • A T Y = 0 A^TY=0 ATY=0的特解中当 y 1 = 1 , y 2 = 1 , y 3 = − 1 , y 4 = 0 , y 5 = 0 y_1=1,y_2=1,y_3=-1,y_4=0,y_5=0 y1=1,y2=1,y3=1,y4=0,y5=0,表示 L o o p 123 Loop_{123} Loop123
  • A T Y = 0 A^TY=0 ATY=0的特解中当 y 1 = 0 , y 2 = 0 , y 3 = 1 , y 4 = − 1 , y 5 = 1 y_1=0,y_2=0,y_3=1,y_4=-1,y_5=1 y1=0,y2=0,y3=1,y4=1,y5=1,表示 L o o p 345 Loop_{345} Loop345
  • A T Y = 0 A^TY=0 ATY=0的特解中当 y 1 = 1 , y 2 = 1 , y 3 = 0 , y 4 = − 1 , y 5 = 1 y_1=1,y_2=1,y_3=0,y_4=-1,y_5=1 y1=1,y2=1,y3=0,y4=1,y5=1,表示 L o o p 1234 Loop_{1234} Loop1234
  • 线性无关组表示不形成环时的边组合。这样可以看出来矩阵和图的对应关系。很直观。
  • 矩阵的相关就是表示图形中的环,矩阵的不相关就是表示不成环,形成树。
    在这里插入图片描述在这里插入图片描述
  • 矩阵的秩和图之间的关系
  1. D i m { N ( A T ) } Dim \{N(A^T)\} Dim{N(AT)}=#loops;
  2. m=#edges;
  3. r=n-1,节点的数量-1
    D i m { N ( A T ) } = m − r (10) Dim \{N(A^T)\}= m-r\tag{10} Dim{N(AT)}=mr(10)
    综上所述,可以得到如下

# n o d e s − # e d g e s + # L o o p s = 1 (11) \#{nodes}-\#{edges}+\#{Loops}=1\tag{11} #nodes#edges+#Loops=1(11)

3. A X = 0 AX=0 AX=0 A T Y = 0 A^TY=0 ATY=0的关系

  • A X = 0 AX=0 AX=0 的方程中,我们定义每个边两端的电势差E
    E = A X (12) E=AX\tag{12} E=AX(12)

  • A T Y = 0 A^TY=0 ATY=0的方程中,我们定义每个边中的电流为y,通过欧姆定理,定义电势差E,和常数C,电流Y之间的关系如下:
    Y = C E (13) Y=CE\tag{13} Y=CE(13)

  • 电流方程如下:
    A T Y = 0 (14) A^TY=0\tag{14} ATY=0(14)

  • 将方程12,13 代入到方程14中可得如下:
    A T C A X = 0 (15) A^TCAX=0\tag{15} ATCAX=0(15)

  • 我们定义外部电流从原来的0变为f,整理公式15可得平衡方程,并且 A T C A A^TCA ATCA对称:

A T C A X = f (16) A^TCAX=f\tag{16} ATCAX=f(16)

相关文章:

图和网络笔记

文章目录 1. A X 0 AX0 AX02. A T Y 0 A^TY0 ATY03. A X 0 AX0 AX0和 A T Y 0 A^TY0 ATY0的关系 1. A X 0 AX0 AX0 一个图可以由节点和边组成,假设我们有一个节点notes :n4,边edges:m5的有向图,表示如下 通过以上电路…...

请求外部系统报错

报错信息: nested exception is com.google.common.util.concurrent.ExecutionError: java.lang.NoSuchMethodError: com.google.common.net.HostAndPort.getHostText()Ljava/lang/String; 在网上看了好几篇文章,和我的都不符合。 后面自己发现是我的系…...

电路板维修【四】

【开关电源输出电压偏低不稳,用示波器立马锁定故障范围】:https://www.bilibili.com/video/BV1pf421D73K?vd_source3cc3c07b09206097d0d8b0aefdf07958 可以用示波器查看MOS的输出波形来查看其是否损坏: 电源芯片的供电电压来回跳变&#xf…...

(程序设计语言)传值、传引用

1、传值(传递值): 在传值的情况下,函数接收到的是参数的一个副本,而不是参数本身。这意味着函数内部对参数的修改不会影响到原始值。传值通常用于基本数据类型(如整数、浮点数、布尔值等)的传递…...

一次基类类型对象无法被传递问题的分析

看下面一段代码&#xff1a; // proj2.cpp #include <iostream> using namespace std; class CharShape { public:CharShape(char ch) : _ch(ch) {};virtual void Show() 0; protected:char _ch; // 组成图形的字符 }; class Triangle : public CharShape { public:Tr…...

windows设置Redis服务后台自启动

问题 在日常开发过程中&#xff0c;redis是我们常用的缓存工具&#xff0c;但是由于redis对于Linux系统进行开发的&#xff0c;在Linux系统里可以通过修改redis.conf从而从而实现后台启动。 daemonize no 改成 daemonize yes 但是在window上如何也进行后台运行呢&#xff0c…...

掌握Linux常用命令,扫平面试需求障碍

cd 切换目录。 > cd ../ #切换到父级目录 > cd /tmp # 切换到/tmp目录 > cd ~ # 切换到当前用户的家目录 ls命令 查看文件与目录的命令&#xff0c;list 的缩写。 > ls -l #列出长数据串&#xff0c;包含文件的属性与权限数据等 > ls -a #列出隐藏…...

c语言之文件打开模式

在c语言中&#xff0c;文件打开模式如下 r读模式: 允许对文件读取信息。若文件不存在&#xff0c;则会报错 w写模式&#xff1a; 允许向文件写入信息&#xff0c;若文件不存在&#xff0c;则创建一个文件 #include<stdio.h>int main() {FILE *fp;int i;char ay;fpfo…...

与禹老师学前端vue3学习汇总

24.5.15&#xff1a; 创建Vue3工程 1.确定自己电脑有没有nodejs环境&#xff0c;在cmd中输入node&#xff0c;如果出现Node.js的版本号说明已经有这个环境了&#xff0c;否则搜索Node.js安装 2.先在D盘创建一个文件夹Vue3_Study&#xff0c;然后在这个空文件夹中右键选择终端…...

Linux网络编程——HTTP协议的理解与运用

目录 前言 一、认识URL 二、认识HTTP样例 三、HTTP的报头内容 1.url 2. Content-Type 3.Method 方法 1.GET方法 2.POST方法 4、状态码 5.cookie和session 前言 我们知道&#xff0c;协议就是一种约定&#xff0c;客户端与服务端统一的用这种约定进行传输数据。我们…...

RestTemplate接口请求发送json、form数据格式以及处理接口错误状态码400 null

在使用RestTemplate发送HTTP请求时&#xff0c;你可以通过不同的方式发送JSON或表单数据&#xff08;application/x-www-form-urlencoded&#xff09;。同时&#xff0c;处理接口错误状态码&#xff08;如400&#xff09;和返回null的情况也是很重要的。以下是一些示例代码&…...

《Python编程从入门到实践》day29

# 昨日知识点回顾 修改折线图文字和线条粗细 矫正图形 使用内置格式 # 今日知识点学习 15.2.4 使用scatter()绘制散点图并设置样式 import matplotlib.pyplot as plt import matplotlib matplotlib.use(TkAgg)plt.style.use(seaborn-v0_8) # 使用内置格式 fig, ax plt.subpl…...

UIKit之图片浏览器

功能需求 实现一个图片浏览器&#xff0c;点击左右按钮可以切换背景图&#xff0c;且更新背景图对应的索引页和图片描述内容。 分析&#xff1a; 实现一个UIView的子类即可&#xff0c;该子类包含多个按钮。 实现步骤&#xff1a; 使用OC语言&#xff0c;故创建cocoa Touch类…...

如何查看SNMP设备的OID

什么是OID和MIB OID OID 代表对象标识符。 OID 唯一地标识 MIB 层次结构中的托管对象。 这可以被描述为一棵树&#xff0c;其级别由不同的组织分配。MIB MIB&#xff08;管理信息基&#xff09;提供数字化OID到可读文本的映射。 使用MIB Browser扫描OID 我的设备是一台UPS SN…...

什么?你设计接口什么都不考虑?

如果让你设计一个接口&#xff0c;你会考虑哪些问题&#xff1f; 1.接口参数校验 接口的入参和返回值都需要进行校验。 入参是否不能为空&#xff0c;入参的长度限制是多少&#xff0c;入参的格式限制&#xff0c;如邮箱格式限制 返回值是否为空&#xff0c;如果为空的时候是…...

2024年3月 青少年等级考试机器人理论真题二级

202403 青少年等级考试机器人理论真题二级 第 1 题 一个机器小车&#xff0c;用左右两个电机分别控制左右车轮&#xff0c;左侧电机转速是100rpm&#xff0c;右侧电机转速是50rpm&#xff0c;则此机器小车&#xff1f;&#xff08; &#xff09; A&#xff1a;原地右转 B&am…...

C语言学习【printf函数和scanf函数】

C语言学习【printf函数和scanf函数】 printf()函数和scanf()函数可以让用户与程序交流&#xff0c;是输入/输出函数 printf()函数 请求printf()函数打印数据的指令要与待打印数据的类型相匹配。例如&#xff0c;打印整数时使用%d&#xff0c;打印字符时使用%c。这些符号被称…...

shell正则表达式

sort命令 以行为单位对文件内容进行排序&#xff0c;也可以根据不同的数据类型来排序 比较原则是从首字符向后&#xff0c;依次按ASCII码值进行比较&#xff0c;最后将他们按升序输出。 sort 对行内容进行升序排序 XXX | sort 选项 sort 选项 文件 常用选项&#x…...

react组件渲染性能优化之函数组件-useCallback使用

useCallback主要就是对函数进行缓存,useCallBack这个Hooks主要是解决React.memo不能缓存事件的问题 useCallBack(fn, dependencies) &#xff1a;fn想要缓存的函数&#xff0c;dependencies有关是否更新 fn 的所有响应式值的一个列表 比如&#xff1a;UseCallBackOptimize组件…...

【C++】:string类的基本使用

目录 引言一&#xff0c;string类对象的常见构造二&#xff0c;string类对象的容量操作三&#xff0c;string类对象的访问及遍历操作四&#xff0c;string类对象的修改操作五&#xff0c;string类非成员函数六&#xff0c;整形与字符串的转换 引言 string 就是我们常说的"…...

多线程的代码案例

目录 单例模式 饿汉模式 懒汉模式 阻塞队列 生产者消费者模型意义: 阻塞队列使用方法 实现阻塞队列 阻塞队列实现生产者消费者模型 定时器 实现简单的定时器 工厂模式 线程池 为啥呢? 从池子里面取 比 创建线程 效率更高 线程池的创建 怎么填坑 ThreadPoolExec…...

什么是Java中的设计模式?请列举几种常见的设计模式

一、引言 在软件开发中&#xff0c;设计模式是解决特定设计问题的最佳实践或通用解决方案。Java作为一种广泛使用的编程语言&#xff0c;其设计模式在软件设计和架构中起着至关重要的作用。设计模式不仅提高了代码的可读性和可维护性&#xff0c;还使得代码更加灵活和可扩展。…...

绘制奇迹:Processing中的动态图形与动画

&#x1f680; 欢迎回到Processing的世界&#xff0c;你的艺术编程航程刚刚开始。在我们的入门篇中&#xff0c;你已经学会了如何用Processing绘制基本的静态图形。现在&#xff0c;让我们一起探索Processing强大的动态图形和动画功能&#xff0c;释放你的创造力&#xff0c;走…...

Django视图Views

Views视图 HttpRequest 和HttpResponse Django中的视图主要用来接受web请求&#xff0c;并做出响应。视图的本质就是一个Python中的函数视图的响应分为两大类 1)以Json数据形式返回(JsonResponse) 2)以网页的形式返回 2.1)重定向到另一个网页 (HttpRe…...

国内智能搜索工具实战教程

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…...

WebSocket or SSE?即时通讯的应用策略【送源码】

最近在研究H5推送&#xff0c;发现除了我们常用的WebSocket以外&#xff0c;其实还有一种协议也能实现H5推送&#xff0c;那就是SSE协议。 而且&#xff0c;当前主流的大模型平台&#xff0c;比如ChatGPT、通义千问、文心一言&#xff0c;对话时采用的就是SSE。 什么是SSE协议…...

QT实现Home框架的两种方式

在触摸屏开发QT界面一般都是一个Home页面&#xff0c;然后button触发进入子页面显示&#xff0c;下面介绍这个home框架实现的两种方式&#xff1a; 1.方式一&#xff1a;用stackedWidget实现 &#xff08;1&#xff09;StackedWidget控件在Qt框架中是一个用于管理多个子窗口或…...

机器学习笔记03

1.线性回归&#xff08;linear regression&#xff09; 是利用回归方程&#xff08;函数&#xff09;对一个或者多个自变量&#xff08;特征值&#xff09;和因变量&#xff08;目标值&#xff09;之间关系进行建模的一种分析方法。 线性模型&#xff1a; 1.线性关系&#xff1…...

【全面介绍下Spring】

&#x1f308;个人主页: 程序员不想敲代码啊 &#x1f3c6;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f44d;点赞⭐评论⭐收藏 &#x1f91d;希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出指正&#xff0c;让我们共…...

MYSQL-存储引擎

存储引擎就是储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可被 称为表类型。 存储引擎特点 . InnoDB 介绍 InnoDB是一种兼顾高可靠性和高性能的通用存储引擎,在MySQL 5.5之后,InnoDB是默认的MySQL存储引擎。 >特…...