12.【线性代数】——图和网络
十二 图和网络(线性代数的应用)
图 g r a p h = { n o d e s , e d g e s } graph=\{nodes, edges\} graph={nodes,edges}
上图中,有4个节点(node),5条边(edge),图上的各个数字为标号。
1.关联矩阵
A = [ − 1 1 0 0 0 − 1 1 0 − 1 0 1 0 − 1 0 0 1 0 0 − 1 1 ] ⏟ [ n o d e 1 , n o d e 2 , n o d e 3 , n o d e 4 ] A=\underbrace{\begin{bmatrix} -1&1&0&0\\ 0&-1&1&0\\ -1&0&1&0\\ -1&0&0&1\\ 0&0&-1&1 \end{bmatrix}}_{[node1, node2,node3,node4]} A=[node1,node2,node3,node4] −10−1−101−10000110−100011
每一行表示一条边,-1表示开始的节点,1表示结束的节点。第一行表示 e d g e 1 edge_1 edge1。
e d g e 1 edge_1 edge1, e d g e 2 edge_2 edge2和 e d g e 3 edge_3 edge3现象相关,存在回路( e d g e 1 + e d g e 2 = e d g e 3 edge_1+edge_2=edge_3 edge1+edge2=edge3)。
树:没有回路的图
把图看做是电流图。每一个节点表示电势。两个节点的电势差,形成电流。
2. A A A矩阵的零空间,求解 A x = 0 Ax=0 Ax=0 电势
A [ x 1 x 2 x 3 x 4 ] = [ 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 ] A \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_1\\ x_4-x_3 \end{bmatrix} = \begin{bmatrix} 0\\ 0\\ 0\\ 0\\ 0 \end{bmatrix} A x1x2x3x4 = x2−x1x3−x2x3−x1x4−x1x4−x3 = 00000
解得:
x = c [ 1 1 1 1 ] x = c\begin{bmatrix} 1\\ 1\\ 1\\ 1 \end{bmatrix} x=c 1111
d i m ( N ( A ) ) = 1 , 那么 r a n k A = n − 1 = # n o d e s − 1 dim(N(A)) = 1, 那么rankA = n - 1 = \#nodes - 1 dim(N(A))=1,那么rankA=n−1=#nodes−1
3. A T A^T AT矩阵的零空间,电流
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 ] = [ 0 0 0 0 ] 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} 0\\ 0\\ 0\\ 0 \end{bmatrix} ATy= −11000−110−1010−100100−11 y1y2y3y4y5 = 0000
得出:
{ − y 1 − y 3 − y 4 = 0 ( 合流 = 0 ) y 1 − y 2 = 0 ( 流入 = 流出 ) y 2 + y 3 − y 5 = 0 ( 流入 = 流出 ) y 4 + y 5 = 0 ( 合流 = 0 ) ⇒ y = c [ 1 1 − 1 0 0 ] + d [ 0 0 1 − 1 1 ] ( 两个基为图中的回路 # l o o p ) \begin{cases} -y_1 -y_3 -y_4 =0 (合流=0) \\ y_1-y_2=0 (流入=流出) \\ y_2+y_3-y_5=0(流入=流出) \\ y_4+y_5=0 (合流=0) \end{cases}\xRightarrow{} y= c\begin{bmatrix} 1\\1\\-1\\0\\0 \end{bmatrix} + d\begin{bmatrix} 0\\ 0\\ 1\\ -1\\1 \end{bmatrix} (两个基为图中的回路\#loop) ⎩ ⎨ ⎧−y1−y3−y4=0(合流=0)y1−y2=0(流入=流出)y2+y3−y5=0(流入=流出)y4+y5=0(合流=0)y=c 11−100 +d 001−11 (两个基为图中的回路#loop)
KCL定律: a. 合流 = 0 b. 流入=流出
总结电流图
结论
树:没有回路的图
d i m ( N ( A T ) ) = m − r dim(N(A^T)) = m - r dim(N(AT))=m−r
# l o o p = # e d g e s − ( # n o d e s − 1 ) \#loop = \#edges - (\#nodes - 1) #loop=#edges−(#nodes−1)
# n o d e s − # e d g e s + # l o o p = 1 \#nodes-\#edges +\#loop = 1 #nodes−#edges+#loop=1(对所有图适用)
相关文章:
12.【线性代数】——图和网络
十二 图和网络(线性代数的应用) 图 g r a p h { n o d e s , e d g e s } graph\{nodes, edges\} graph{nodes,edges}1.关联矩阵2. A A A矩阵的零空间,求解 A x 0 Ax0 Ax0 电势3. A T A^T AT矩阵的零空间,电流总结电流图结论 …...
【C++】ImGui:VSCode下的无依赖轻量GUI开发
本教程将手把手带您用纯原生方式构建ImGui应用,无需CMake/第三方库。您将全程明了自己每个操作的意义,特别适合首次接触GUI开发的新手。 环境配置 安装VSCode 作用:轻量级代码编辑器,提供智能提示操作: 官网下载安装…...
新编大学应用英语综合教程2 U校园全套参考答案
全套答案获取: 链接:https://pan.quark.cn/s/389618f53143...
Python数据可视化——Matplotlib的基本绘图:图形、轴、标签
Matplotlib的绘图系统是由多个层次组成的,它的基本结构包括图形(Figure)、坐标轴(Axes)、刻度(Ticks)、标签(Labels)等多个部分。理解这些基本组件,有助于更好地使用Matplotlib绘制和优化图表。在本节中,我们将结合NumPy数组,详细讲解Matplotlib的基本结构,并展示…...
STM32之软件SPI
SPI传输更快,最大可达80MHz,而I2C最大只有3.4MHz。输入输出是分开的,可以同时输出输入。是同步全双工。仅支持一主多从。SS是从机选择线。每个从机一根。SPI无应答机制的设计。 注意:所有设备需要共地,时钟线主机输出&…...
Java 实现 Oracle 的 MONTHS_BETWEEN 函数
介绍 因为系统迁移, 有一些函数要转成 Java 版本, Oracle 的 官方介绍 - MONTHS_BETWEEN MONTHS_BETWEEN returns number of months between dates date1 and date2. The month and the last day of the month are defined by the parameter NLS_CALENDAR. If date1 is late…...
【从零开始学习计算机科学】数字逻辑(五) Verilog HDL语言
【从零开始学习计算机科学】数字逻辑(五) Verilog HDL语言 Verilog HDL语言8位全加器8位计数器2位比较器三态驱动器Verilog HDL模块的结构模块声明。端口定义。信号类型。功能描述verilog描述级别verilog关键字verilog标识符编写Verilog HDL源代码的标准数据类型常量变量nets…...
从零开始实现大语言模型(十三):预训练大语言模型GPTModel
1. 前言 使用梯度下降算法通过下一个token预测任务预训练大语言模型GPTModel,前向传播流程每次会输入一个batch的长度均为context_len的训练样本,执行 batch_size context_len \text{batch\_size}\times\text{context\_len} batch_sizecontext_len次下…...
Permute for Mac v3.12.1 文件格式转换器 支持M、Intel芯片
Mac毒搜集到的Permute 提供简单的视频格式转换功能,可以简单的将视频文件转换为你想要的格式。将你想要转换的视频拖到软件窗口内,然后选择你想要转换的格式即可。 应用介绍 Permute是一款Mac上易用的媒体格式转换工具,支持视频、音乐和图像…...
DeepSeek group-limited expert routing和负载均衡
Ref https://github.com/deepseek-ai/DeepSeek-V3/blob/main/inference/model.py GitHub - deepseek-ai/EPLB: Expert Parallelism Load Balancer DeepSeek-V3 Technical Report DeepSeek的路由方法 class Gate(nn.Module):def __init__(self, args: ModelArgs):super().__…...
智慧消防新篇章:4G液位/压力传感器,筑牢安全防线!
火灾无情,防患未“燃”!在智慧消防时代,如何实现消防水系统的实时监测、预警,保障人民生命财产安全?山东一二三物联网深耕物联网领域,自主研发4G液位、4G压力智能传感器,为智慧消防水位、水压无…...
C++ primier plus 函数探幽第二部分
系列文章目录 C primer plus 第一节 步入C-CSDN博客 C primer plus 第二节 hello world刨析-CSDN博客 C primer plus 第三节 数据处理-CSDN博客 C primer plus 第四节 复合类型-CSDN博客 C primer plus 第五节 循环-CSDN博客 C primier plus 第七节 函数探幽第一部分-CSDN博客 …...
DBus名词术语命名规范详解:构建清晰、规范的DBus通信
引言 DBus(Desktop Bus)是一种高效、灵活的进程间通信(IPC)机制,广泛应用于Linux桌面环境中。为了确保DBus通信的清晰性和规范性,DBus定义了一套严格的命名规范,涵盖了总线、服务名、对象路径、…...
用低代码平台集成人工智能:无需专业开发也能实现智能化
引言:人工智能的普及与企业需求 随着人工智能(AI)技术的飞速发展,越来越多的企业开始意识到其在提升运营效率、优化客户体验和推动业务创新方面的巨大潜力。从智能客服到自动化决策支持,从数据分析到个性化推荐&#x…...
Java停车平台高并发抢锁技术方案设计 - 慧停宝开源停车管理平台
Java停车平台高并发抢锁技术方案设计 一、业务场景特征 瞬时流量峰值 早晚高峰时段(07:30-09:00, 17:30-19:00)请求量激增10倍热门商圈停车场每秒并发请求可达5000 QPS 资源竞争特性 单个车位被多人同时抢占(超卖风险)用户操作链…...
C++关键字:typename 用于依赖名消歧器(disambiguator)
目录 1. 说明 2. 示例 1. 说明 在模板(包括别名模板)的声明或定义中,非当前实例的成员且依赖于模板参数的名称不视为类型,除非使用关键字 typename 或除非它已被建立为类型名称(例如使用 typedef 声明或用于命名基…...
第六课:数据库集成:MongoDB与Mongoose技术应用
本文详细介绍了如何在Node.js应用程序中集成MongoDB数据库,并使用Mongoose库进行数据操作。我们将涵盖MongoDB在Ubuntu 20系统中的安装、Bash命令的CRUD操作、Mongoose数据建模(Schema/Model)、关联查询与聚合管道,以及实战案例—…...
TypeError: Cannot set properties of undefined (setting ‘xxx‘)
🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、…...
Gravitino源码分析-SparkConnector 实现原理
Gravitino SparkConnector 实现原理 本文参考了官网介绍,想看官方解析请参考 官网地址 本文仅仅介绍原理 文章目录 Gravitino SparkConnector 实现原理背景知识-Spark Plugin 介绍(1) **插件加载**(2) **DriverPlugin 初始化**(3) **ExecutorPlugin 初始化**(4) *…...
windows下使用msys2编译ffmpeg
三种方法: 1、在msys2中使用gcc编译 2、在msys2中使用visual studio编译(有环境变量) 3、在msys2中使用visual studio编译(无环境变量) 我的环境: 1、msys2-x86_64-20250221 2、vs2015 3、ffmpeg-7.1…...
Linux内核自定义协议族开发指南:理解net_device_ops、proto_ops与net_proto_family
在Linux内核中开发自定义协议族需要深入理解网络协议栈的分层模型。net_device_ops、proto_ops和net_proto_family是三个关键结构体,分别作用于不同的层次。本文将详细解析它们的作用、交互关系及实现方法,并提供一个完整的开发框架。 一、核心结构体的作用与层级关系 struct…...
可视化+图解链表
链表(Linked list)是一种常用的数据结构,它由一系列节点组成,每个节点包含数据域和指针域。指针域存储了下一个节点的地址,从而建立起各节点之间的线性关系。 1、链表节点 1.1 节点构成 链表节点如下图所示ÿ…...
Docker参数,以及仓库搭建
一。Docker的构建参数 注释: 1.对于CMD,如果不想显示,而是使用交互界面:docker run -ti --rm --name test2 busybox:v5 sh 2.对于CMD,一个交互界面只可以使用一个,如果想多次使用CMD,则用ENTR…...
正十七边形尺规作图证明——从高斯的发现到几何实现
正十七边形尺规作图证明——从高斯的发现到几何实现 1. 引言:一个历史性的数学突破 在欧几里得几何中,尺规作图(仅使用直尺和圆规)是最为基础的几何构造方法。古希腊数学家已知如何构造正三角形、正方形和正五边形,但…...
常见Web应用源码泄露问题
文章目录 前言一、常见的源码泄露漏洞git源码泄露SVN源码泄露DS_Store文件泄漏网站备份压缩文件泄露WEB-INF/web.xml泄露CVS泄露.hg源码泄露Bazaar/bzr泄露.swp文件泄露 前言 在Web应用方面对于安全来说,可能大家对SQL注入、XSS跨站脚本攻击、文件上传等一些漏洞已…...
如何使用 Python+Flask+win32print 实现简易网络打印服务1
Python 实现网络打印机:Flask win32print 在工作场景中,我们可能需要一个简单的网页接口,供他人上传文档并自动打印到指定打印机。 本文将演示如何使用 Python Flask win32print 库来实现这一需求。 代码详见:https://github.…...
使用Modelsim手动仿真
FPGA设计流程 在设计输入之后,设计综合前进行 RTL 级仿真,称为综合前仿真,也称为前仿真或 功能仿真。前仿真也就是纯粹的功能仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟。在完成一个设计的代码编写工作之后,可以直接对代码进行仿真,…...
DeepSeek、Grok与ChatGPT:AI三巨头的技术博弈与场景革命
## 引言:AI工具的三国杀时代 2025年的AI江湖,DeepSeek以黑马之姿横扫全球应用榜单,Grok 3凭借马斯克的狂言抢占头条,ChatGPT则稳坐行业王座。这场技术竞赛不仅是参数量的比拼,更是一场关于效率、成本与场景适配的终极…...
windows自动锁屏,并且要输入密码。如何取消?
Windows 电脑自动锁屏并需要输入密码,通常是因为系统的 电源和睡眠设置 或 组策略 设定了自动锁屏。你可以按照以下方法取消自动锁屏或去掉密码要求: 方法 1:修改 Windows 设置 取消锁屏时间 Win I 打开 设置,进入 系统 → 电源和…...
Redis 主从复制、哨兵与集群的关系及工作原理详解
一、核心概念与关系 Redis 的 主从复制、哨兵(Sentinel) 和 集群(Cluster) 是逐步演进的高可用与分布式解决方案,三者关系如下: 主从复制:数据冗余与读写分离的基础。 哨兵:在主从…...
