我们可以使用np.linalg中的inv和pinv函数来求解矩阵的逆/伪逆。

np.linalg.inv

对于可逆方阵M,我们使用下面这行代码求逆:

np.linalg.inv(J(theta))

示例:

import numpy as np
M = [[0.866,-0.5,0],[0.5,0.866,0],[0,0,1]
]print(f"The inverse of M is \n{np.linalg.inv(M)}")

当然也可以为了可读性在import的时候直接从numpy.linalg模块中import这个inv函数:

from numpy.linalg import inv,pinv

这样我们就可以简化代码:

print(f"The inverse of M is \n{inv(M)}")

两种写法的结果显然是一样的:

np.linalg.pinv

而对于非方阵或者不可逆的仿真,我们无法直接求得逆矩阵,这个时候就需要求他的伪逆了。伪逆的计算法则如下:

linalg模块中提供了pinv函数可以直接调用求解:

from numpy.linalg import inv,pinv# import numpy as np
M = [[0.866,-0.5,0],[0.5,0.866,0],[0,0,0]
]print(f"The original of M is \n{(M)}")
print(f"The inverse of M is \n{pinv(M)}")

numpy求矩阵的逆和伪逆相关推荐

  1. OpenCV求逆(伪逆)矩阵函数

    转自 double invert(InputArray src, OutputArraydst, int flags=DECOMP_LU); 功能:用以求取一个矩阵的逆或者伪逆. src: 输入,浮点 ...

  2. 矩阵的逆、伪逆、左右逆,最小二乘,投影矩阵

    主要内容: 矩阵的逆.伪逆.左右逆 矩阵的左逆与最小二乘 左右逆与投影矩阵 一.矩阵的逆.伪逆.左右逆 1.矩阵的逆 定义: 设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: A ...

  3. (数学概念)矩阵的逆、伪逆、左右逆,最小二乘,投影矩阵

    主要内容: 矩阵的逆.伪逆.左右逆 矩阵的左逆与最小二乘 左右逆与投影矩阵 一.矩阵的逆.伪逆.左右逆 1.矩阵的逆 定义: 设A是数域上的一个n阶方阵,若在相同数域上存在另一个n阶矩阵B,使得: A ...

  4. 奇异矩阵,非奇异矩阵,矩阵的逆和伪逆

    奇异矩阵/非奇异矩阵 首先看矩阵是不是方阵,只有是方阵了,才有这两个概念. 方阵A的行列式等于零,记为|A|=0,A是奇异矩阵 方阵A的行列式不等于零,记为|A|~=0,A是非奇异矩阵 一些性质: 如 ...

  5. 线性代数笔记34——左右逆和伪逆

    原文 | https://mp.weixin.qq.com/s/PRQQvSfmipxPBeF80aEQ1A 一个矩阵有逆矩阵的前提是该矩阵是一个满秩的方阵.然而很多时候遇到的都是长方矩阵,长方矩阵是 ...

  6. 线性代数系列(八)--基变换、左逆、右逆和伪逆

    正文 这里关于基变换和伪逆做的都是简单的介绍,关于他们的更深入的理论介绍和更深入的应用介绍还需参考其他资料,然后补充. 基变换 基变换是图像压缩.信号压缩等应用的理论基础,通俗来讲就是对于给定的数据矩 ...

  7. numpy求矩阵的特征值与特征向量(np.linalg.eig函数详解)

    numpy求矩阵的特征值与特征向量(np.linalg.eig) 语法 np.linalg.eig(a) 功能 Compute the eigenvalues and right eigenvecto ...

  8. matlab:inv,pinv逆与伪逆

    对于方阵A,如果为非奇异方阵,则存在逆矩阵inv(A) 对于奇异矩阵或者非方阵,并不存在逆矩阵,但可以使用pinv(A)求其伪逆 inv: inv(A)*B 实际上可以写成A\B B*inv(A) 实 ...

  9. 线性代数学习笔记10-4:左右逆、伪逆/M-P广义逆(从四个子空间和SVD角度理解)

    下面讨论m×nm\times nm×n的秩为rrr的矩阵 对于不同情况,讨论逆矩阵 两侧逆矩阵 2-sided inverse 这也是一般所说的"逆矩阵"的含义 方阵A\bolds ...

最新文章

  1. 【深入理解JVM】JVM字节码指令集
  2. cfdiv2/c/找规律
  3. 刘志明 | 知识图谱及金融相关
  4. MySQL事件与定时器,mysql下存储过程与定时器
  5. 【工程项目经验】Centos 编译32位程序
  6. bigdata learning unit two--Spark environment setting
  7. 谷歌Linux基金会等联合推出开源软件签名服务 sigstore,提振软件供应链安全
  8. C++基础——有关FILE的那些函数
  9. U盘安装Debian 6 amd64版本
  10. 将不确定变成确定~Uri文本文件不用浏览器自动打开,而是下载到本地
  11. snmp的oid查询方法
  12. app国际化多语言strings.xml 与 Excel 互相转换的工具,支持iOS和Android
  13. PHP 类似time控件功能,最新火车头免费伪原创插件,多功能秒杀市面上所有同类工具...
  14. 【java】解决安装时时显示this version of the jdk is already installed……
  15. 最强代码审查工具报告
  16. 关于python的ppt_用Python玩转PPT
  17. vscode怎么设置动态背景
  18. 努比亚手机计算机颜色怎么设置,努比亚手机需要掌握的小技巧,提升您的玩机体验...
  19. java 3D 第二章 java 3D基本概念
  20. Fragment 可见性监听方案 - 完美兼容多种 case

热门文章

  1. 看狄仁杰如何让武则天戒色的
  2. JavaScript事件驱动模型
  3. 中英文姓名正则表达式
  4. slf4j没有在linux中生成日志,slf4j日志记录问题 - 未生成日志文件
  5. vim之快速查找功能
  6. Cursor的使用和下载
  7. ng6的ng-template的一个用法
  8. python学习路线图(初级阶段,中级阶段,高级阶段)
  9. Linux学习06--进程
  10. 我的世界服务器物品不丢弃,《我的世界》怎样处理没用的物品,这六个销毁物品方法了解一下!...