Resistance distance 图上2个节点的等效电阻求解算法
如何计算正方体网络中(乃至更一般的图)2个节点间的等效电阻? 公式的正确性很容易得到验证
物理学难题集萃原题。最高赞那个讲得很清楚了。纸笔算的话方法无非等位点法,对称电路方法及星三角变换方法等。
如果你想了解更加一般的通用解法,可以搜索Resistance distance
ResistanceDistance[g_Graph, i_Integer, j_Integer] :=
Module[{n = VertexCount[g]},
ResistanceDistanceMatix =
PseudoInverse[KirchhoffMatrix[g] + 1/n*ConstantArray[1, {n, n}]];
ResistanceDistanceMatix[[i, i]] + ResistanceDistanceMatix[[j, j]] -
ResistanceDistanceMatix[[i, j]] -
ResistanceDistanceMatix[[j, i]]];
g = GridGraph[{2, 2, 2}, VertexLabels -> "Name"]
ResistanceDistance[g, 1, 8]
ResistanceDistance[g, 1, 4]
ResistanceDistance[g, 1, 2]

(*使用GraphData函数进行验证*)
GraphData["CubicalGraph", "ResistanceMatrix"] // MatrixForm
(*不要指望拿GraphData函数计算任意一个边带权的图的电阻矩阵,emm查表查不出来的*)

如何计算Weighted matrix的Resistance matrix 我验证了特例,是对的,但是对直接计算出\(R\)没有什么用。等式右边有\(R\),那你为什么不直接计算\(R^{-1}\)和\(det(R)\)
你把它当成是只有\(R\)一个变量的矩阵方程来解,也几乎解不出来的啊
这里\(R\)的元素\(r(i,j)\)表示节点\(i\)和\(j\)之间的等效电阻。
或者你理解成这里的\(r(i,j)\)是ResistanceDistanceMatix经过
ResistanceDistanceMatix[[i, i]] + ResistanceDistanceMatix[[j, j]] - ResistanceDistanceMatix[[i, j]] - ResistanceDistanceMatix[[j, i]]]算出的结果,注意不要弄混了
论文1
边权重都是相同大小$s\times s$的正定矩阵,它的物理意义是什么?????
Resistance matrices of graphs with matrix weights 这里考虑的边权重都是相同大小\(s\times s\)的正定矩阵
符号定义
公式中符号的含义是:\(n\)是节点个数,边权重都是相同大小\(s\times s\)的正定矩阵,\(\operatorname{det}\)表示求行列式,\((.)^\prime\)表示求矩阵转置,\((.)^{-1}\)表示PseudoInverse伪逆,\(\chi(G)\)是\(L\)任意一个block的代数余子式(cofactor)
对于\(i,j=1,2,\cdots,n\),定义\(n\times n\)的矩阵\(\tau_i\)满足 ( \(i\sim j\)表示\(i,j\)邻接)
\]
定义\(ns\times s\)的矩阵\(\tau\)满足
\]
拉普拉斯矩阵\(L\)的定义是:对于非对角线元素,如果\(i,j\)邻接,那么为\(-\frac{1}{w(i,j)}\),否则是0;对于对角线元素,\(i\)行\(i\)列的元素是\(\sum\limits_{j\sim i}\frac{1}{w_{ij}}\)。矩阵\(L\)每一行的和是0.
公式
其中的Page 12,Theorem 4.1给出了\(R\)的行列式,公式如下:
\]
其中的Page13,Theorem 4.2给出了\(R\)的逆,公式如下:
\]
论文2
Resistance matrix of a weighted graph 这里考虑的边权重都是正实数
符号定义
公式中符号的含义是:\(n\)是节点个数,\(\operatorname{det}\)表示求行列式,\((.)^\prime\)表示求矩阵转置,\((.)^{-1}\)表示PseudoInverse伪逆,\(l(G)\)表示\(G\)的所有spannig tree的权重和。
对于\(i,j=1,2,\cdots,n\),定义\(n\times 1\)的列向量\(\tau\),其元素\(\tau_i\)满足 ( \(i \sim j\)表示\(i,j\)邻接)
\]
拉普拉斯矩阵\(L\)的定义是:对于非对角线元素,如果\(i,j\)邻接,那么为\(-\frac{1}{w(i,j)}\),否则是0;对于对角线元素,\(i\)行\(i\)列的元素是\(\sum\limits_{j\sim i}\frac{1}{w_{ij}}\)。矩阵\(L\)每一行的和是0.
公式
其中的Page 7,Theorem 4给出了\(R\)的行列式,公式如下:
\]
其中的Page 5,Theorem 3给出了\(R\)的逆,公式如下:
\]

推荐阅读
https://en.wikipedia.org/wiki/Resistance_distance Resistance distance的维基百科词条
Resistance distance 图上2个节点的等效电阻求解算法的更多相关文章
- MPAndroidChart的K线图上添加均线
MPAndroidChart的K线图上添加均线 效果图 均线计算方法: 通常说的5日均线,10日均线,其实就是根据当前K线节点的时间维度来说的,当前每个节点代表一天,那么上面的均线就叫做日均线(几日均 ...
- zoj1232Adventure of Super Mario(图上dp)
题目连接: 啊哈哈.点我点我 思路: 这个题目是一个图上dp问题.先floyd预处理出图上全部点的最短路,可是在floyd的时候,把可以用神器的地方预处理出来,也就是转折点地方不能为城堡..预处理完成 ...
- 【学习笔记】有向无环图上的DP
手动博客搬家: 本文发表于20180716 10:49:04, 原地址https://blog.csdn.net/suncongbo/article/details/81061378 首先,感谢以下几 ...
- 2019-ACM-ICPC-南京区网络赛-D. Robots-DAG图上概率动态规划
2019-ACM-ICPC-南京区网络赛-D. Robots-DAG图上概率动态规划 [Problem Description] 有向无环图中,有个机器人从\(1\)号节点出发,每天等概率的走到下 ...
- [hdu5348]图上找环,删环
http://acm.hdu.edu.cn/showproblem.php?pid=5348 题意:给一个无向图,现在要将其变成有向图,使得每一个顶点的|出度-入度|<=1 思路:分为两步,(1 ...
- yii2组件之多图上传插件FileInput的详细使用
作者:白狼 出处:http://www.manks.top/yii2_multiply_images.html 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连 ...
- [python]沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上
将沪深龙虎榜数据导入通达信的自选板块,并标注于K线图上 原理:python读取前一次处理完的计算5日后涨跌幅输出的csv文件 文件名前加"[paint]" 安照通达信的画图文件和板 ...
- matlab 将多个盒图放在一张图上
1.boxplot 将多个盒图放在一张图上 x1 = normrnd(5,1,100,1)';x2 = normrnd(6,1,200,1)';X = [x1 x2];G = [zeros(size( ...
- ajax 异步插入图片到数据库(多图上传)
额 大概就这么个样子...截个图 点浏览 选择几张图片 选择完了 确定一下 然后插入数据库 同时在页面中显示插入的图片,代码 也没啥.看下 index.php <html><hea ...
- iOS 使用AFN 进行单图和多图上传
图片上传时必要将图片进行压缩,不然会上传失败 1.单张图上传 AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManag ...
随机推荐
- python修改图片名
1 import glob 2 import os 3 4 inputPath = r'E:/data/pic/cat' 5 fileList = glob.glob(inputPath + '/*' ...
- Django启动时提示ModuleNotFoundError: No module named 'xxx'的原因
①创建项目:django-admin startproject DL ②创建app:python manage.py startapp myapp ③启动服务:python manage.py run ...
- C#找出可用TCP端口,仅两行代码就搞定
var start = 2222; var ps = IPGlobalProperties.GetIPGlobalProperties().GetActiveTcpListeners().Select ...
- Spring系列之资源-11
目录 `Resource` 内置`Resource`实现 `UrlResource` `ClassPathResource` `FileSystemResource` `ServletContextR ...
- Tomcat启动—本地文件夹
打开tomcat文件夹 打开bin目录 在路径这里输入cmd 就可以直接跳转到当前页面下 接下来我们在cmd命令中启动startup.bat (记得设置java环境变量) 这里我没设置utf-8 我无 ...
- vscode 远程服务器同步
1.下载 sftp 2. 在项目目录下新建sftp.json文件 3. 编辑sftp.json文件 { "name": "My Server", "h ...
- redis缓存lua脚本过多导致内存占用很多问题
现象 生产某集群各节点已使用内存比较大,在清理了大量业务无用数据后,节点已使用内存却未下降. 排查与分析 通过info memory命令查看,内存碎片率略高,但是对某个主节点新添加的从节点内存使用依然 ...
- 【搭建】【转】搭建 yum仓库
https://blog.csdn.net/wuxingge/article/details/100761637 3.2 服务端部署 1)安装软件程序(createrepo) yum install ...
- 使用 Transformers 在你自己的数据集上训练文本分类模型
最近实在是有点忙,没啥时间写博客了.趁着周末水一文,把最近用 huggingface transformers 训练文本分类模型时遇到的一个小问题说下. 背景 之前只闻 transformers 超厉 ...
- ABP vNext微服务架构详细教程(补充篇)——单层模板
1. 简介 在之前的<ABP vNext微服务架构详细教程>系列中,我们已经构建了完整的微服务架构实例,但是在开发过程中,我们会发现每个基础服务都包含10个类库,这是给予DDD四层架构下A ...