最近在学习马尔可夫链,要求其平稳分布,即对给定P,求满足,也就是要求解满足

看起来很简单的问题,把我折腾的够呛,数学基础实在太渣了......那么就一起来看看遇到了什么问题吧:

首先给定转化矩阵P,将其转化为齐次方程Ax=0,其中A=P'-I

显然,x=0是方程的解,但是这个解没有任何意义,因此我们要找非零解(non-trivial solution)。理论上来说,只要用null()函数,就可以求出非零的Pi。但是,Pi是否存在呢?存在又是否是唯一的呢?

这要看A的行列式det(A)是否等于0,det(A)=0时,存在非零的Pi,且不唯一。

为啥?我不能给出一个严格的数学证明,只能用一个2*2的矩阵说明一下:

如果我们要解x,相当于求二元一次方程组,解得

其中a21a12-a11a22正是行列式det(A)。也就是说,如果的det(A)不等于0,x2只能等于0。所以det(A)=0时存在非零的x2。由于x2可以任意取值,x1只取决于x2,因此此时存在不唯一的非零解。

另一种方法是看化简的矩阵是否存在全是0的行,可以通过rref()函数实现。如果存在,就说明矩阵不满秩,det(A)=0。

由于Pi代表状态的分布,我们还要将结果调整一下,使其和为一。由于我们之前已经证明了Pi不是唯一的,因此可以放心调整。调整方法就是Pi/norm(Pi,1)。norm()是求矩阵的“范数”。默认是求LP2范数,就是向量到零点的距离,比如norm([1,2,3])=(1^2+2^2+3^2)^0.5。而norm(A,1)则是求LP1范数,就是矩阵A内所有元素绝对值之和。这样我们就求得Pi=[0.6951;0.2074;0.0975]。

最后验算一下确认无误(由于计算机是浮点计算,很难正好算出0,差不多就行)。

Matlab代码如下:

P=[0.9766,0.0234,0;0.0745,0.9216,0.0039;0.0083,0,0.9917];
I=eye(3);
PT=P.';
Reduce=rref(PT-I);
Det=det(PT-I);
Pi=null(PT-I);
PiT=Pi.';
Pi=Pi/norm(Pi,1);

ps null()函数还可以有个null(A,'r')的功能,貌似能给出一个由整数构成的解,但有的时候会导致返回不出结果......还是不要用了吧

pss最近也学会了用latex,开心!

Ax=0的非零解/马尔可夫链的平稳分布相关推荐

  1. n元齐次线性方程组Ax =0解

    n 元齐次线性方程组 Ax =0有非零解的充分必要条件是 R(A)< n 矩阵秩的定义: 矩阵A中如果存在一个r阶子式不等于0,而所有的r+1阶子式(如果存在的话)全等于0,则规定A的秩R(A) ...

  2. 求解Ax=0:主变量、自由变量、特殊解

    上一篇简单介绍了列空间(column space)和零空间(null space),这一次主要介绍如何求出零空间内的向量,即主要讨论Ax=0.假设有矩阵A=,略微观察一下其行和列可看出,列2是列1的倍 ...

  3. 【应用随机过程】04. 马尔可夫链的平稳分布

    文章目录 第四讲 马尔可夫链的平稳分布 一.平稳分布 Part 1:平稳分布 Part 2:不可约马尔可夫链的性质 Part 3:极限分布 二.状态空间的分解 Part 1:状态空间的分解 Part ...

  4. 机器学习笔记马尔可夫链蒙特卡洛方法(二)马尔可夫链与平稳分布

    机器学习笔记之马尔可夫链蒙特卡洛方法--马尔可夫链与平稳分布 引言 回顾:蒙特卡洛方法 马尔可夫链与平稳分布 马尔可夫链 平稳分布 细致平衡 关于平稳分布的补充 马尔可夫链的本质 平稳分布的收敛性证明 ...

  5. 【代数之美】线性方程组Ax=0的求解方法

    在3D视觉中,我们常常会遇到这样一个问题:求解线性方程组Ax=0Ax=0Ax=0,从矩阵映射的角度来说,所有解组成了矩阵AAA的零空间.一个典型的场景比如用八点法求解本质矩阵EEE,参见我前面的博文: ...

  6. 线性代数 为什么齐次线性方程有非零解的充要条件是系数行列式不等于零?

    因为齐次线性方程一定存在零解(齐次线性方程组为AX=0,其中A为矩阵),而系数行列式不等于零那么线性方程必然只有1个解组(0),所以对于齐次方程来说有非0解则系数行列式一定要等于零. 求解步骤 1.对 ...

  7. 超定方程的求解、最小二乘解、Ax=0、Ax=b的解,求解齐次方程组,求解非齐次方程组(推导十分详细)

    本篇主要介绍的是超定方程组的求解,如果你不想看繁琐的推导过程,你可以直接看红字部分的结论! 1. 齐次线性方程组 Ax = 0 对于方程Ax=0\bm A \bm x = 0Ax=0,在我们实际的使用 ...

  8. 漫步线性代数九——求Ax=0和Ax=b

    前面的文章关注的是方阵的逆矩阵,Ax=bAx=b有一个解的话它就是x=A−1bx=A^{-1}b,它可以通过消元法得到.一个长方形矩阵带来的新的可能性--UU可能没有所有的主元,本文我们就将UU 化为 ...

  9. 线性代数 --- 如何求解不可逆的mxn长方形矩阵Ax=0的通解Null(A)和Ax=b的通解

    Solve Ax=0 and Ax=b 我们先看一个未知数一个方程ax=b的解的情况,他的解可以有三种情况: (i)当a0时,对于任意的b都有解x=b/a,这时方程有唯一解.(这种情况叫相容且非奇异) ...

最新文章

  1. 如何保证缓存和数据库的双写的一致性
  2. Bootstrap3 栅格系统-媒体查询
  3. 基于静态URL的微信分享自定义缩略图及标题和摘要
  4. html 地址坐标图标,浏览器地址栏中显示自定义小图标
  5. LeetCode 10 正则表达式匹配
  6. C语言实现pid算法(附完整源码)
  7. JAVA国际化输出日期格式
  8. Sublime 资源汇总
  9. Contact Manager Web API 示例[1]CRUD 操作
  10. 合作 | 2018数博会AI全球赛项目征集!提供场景、数据集,总奖金池500万
  11. UWP 自然灾害App在刷新数据后卡死的解决方案
  12. DM7达梦数据库介绍和安装
  13. Python2.7利用xpath爬取韩寒博客(多线程版)
  14. windows winrar 指令_WinRAR的命令行模式用法介绍
  15. idea 报错Process finished with exit code 1
  16. 3、mysql表的操作
  17. kafka生产者报错:[org.apache.kafka.clients.NetworkClient:600] - Error while fetching metadata with corre
  18. Study13(从小白到大佬)
  19. 〖Python网络爬虫实战⑬〗- XPATH实战案例
  20. 智慧养老解决方案-居家养老管理系统-养老院解决方案-新导智能

热门文章

  1. OpenFlow Tutorial
  2. C语言中的%d、%u、%p、%f、%lu...
  3. 拉普拉斯算子——matlab
  4. GraphSense介绍
  5. Java加密技术(三)—— HMACSHA1 加密算法
  6. Java中Map接口及实现
  7. 前端Js获取本网IP和外网IP方法总汇
  8. 机器学习之特征向量维度与样本空间
  9. 在线API文档、技术文档工具ShowDoc
  10. Makefile文件是什么?(一)