假设您具有满秩的NxM矩阵A,其中M> N.如果我们用C_i表示列(尺寸为Nx1),那么我们可以将矩阵写为

A = [C_1, C_2, ..., C_M]

如何获得原始矩阵A的第一个线性独立列,以便您可以构造一个新的NxN矩阵B,它是一个具有非零行列式的可逆矩阵.

B = [C_i1, C_i2, ..., C_iN]

如何在matlab或python numpy中找到索引{i1,i2,…,iN}?这可以使用奇异值分解来完成吗?代码片段将非常受欢迎.

编辑:

为了使其更具体,请考虑以下python代码

from numpy import *

from numpy.linalg.linalg import det

M = [[3, 0, 0, 0, 0],

[0, 0, 1, 0, 0],

[0, 0, 0, 0, 1],

[0, 2, 0, 0, 0]]

M = array(M)

I = [0,1,2,4]

assert(abs(det(M[:,I])) > 1e-8)

因此,给定矩阵M,需要找到一组N个线性独立列向量的索引.

解决方法:

在MATLAB中轻松,轻松.使用QR,特别是枢轴QR.

M = [3 0 0 0 0;

0 0 1 0 0;

0 0 0 0 1;

0 2 0 0 0]

[Q,R,E] = qr(M)

Q =

1 0 0 0

0 0 1 0

0 0 0 1

0 1 0 0

R =

3 0 0 0 0

0 2 0 0 0

0 0 1 0 0

0 0 0 1 0

E =

1 0 0 0 0

0 1 0 0 0

0 0 1 0 0

0 0 0 0 1

0 0 0 1 0

E的前4列表示要使用的M列,即列[1,2,3,5].如果你想要M的列,只需形成产品M * E.

M*E

ans =

3 0 0 0 0

0 0 1 0 0

0 0 0 1 0

0 2 0 0 0

顺便说一下,使用det确定矩阵是否是单数是绝对的,肯定的,绝对最差的方法.

请改用排名.

从本质上讲,你几乎不应该在MATLAB中使用det,除非你理解为什么它是如此糟糕的事情,并且你选择使用它尽管如此.

标签:python,matlab,numpy,linear-algebra,svd

来源: https://codeday.me/bug/20190526/1158231.html

matlab矩阵非方阵求逆,python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...相关推荐

  1. python怎么矩阵的秩_python – 从numpy或matlab中的满秩非矩形矩阵中获取可逆方阵...

    在MATLAB中轻松,轻松.使用QR,特别是枢轴QR. M = [3 0 0 0 0; 0 0 1 0 0; 0 0 0 0 1; 0 2 0 0 0] [Q,R,E] = qr(M) Q = 1 0 ...

  2. 【SIMULINK】simulink实现信号矩阵整合、求逆、转置、分解、向量矩阵相乘(非matlab)

    [SIMULINK]simulink实现信号矩阵整合.求逆.转置.分解.乘(非matlab) simulink实现信号矩阵,并实现分解 simulink实现信号矩阵求逆 simulink实现信号矩阵转 ...

  3. 3D数学之矩阵的各种求逆

    经过三天的准备终于把矩阵的各种求逆方法以及代码完成了.心里有点小激动,come on,来吧,点燃你的心中的那团火,跟着游戏音乐的律动一起跟我走入神秘的3D世界. 下面介绍三种方法: 1.用伴随矩阵求逆 ...

  4. opencv求矩阵的逆_OpenCV 矩阵操作 加减乘除 求逆 行列式值 | 学步园

    GEMM 通用矩阵乘法 void cvGEMM( const CvArr* src1, const CvArr* src2, double alpha, const CvArr* src3, doub ...

  5. 怎么用计算机求逆矩阵,计算机是怎么求解线性方程的(矩阵乘和求逆)

    上回我们说到,高斯老哥用消元法解线性方程,大致步骤呢就是给系数矩阵消元,运气好点呢直接整出上三角系数矩阵,得到方程组的唯一解,运气不行呢,消着消着发现整不出上三角,这时就得再讨论方程是有多解还是无解. ...

  6. 矩阵乘法如何去逆矩阵_矩阵乘法和求逆

    矩阵乘法如何去逆矩阵 数据科学与机器学习的线性代数 (LINEAR ALGEBRA FOR DATA SCIENCE AND MACHINE LEARNING) We are going to tre ...

  7. c语言10 u0010求余怎么求,矩阵LU分解求逆详细分析与C语言实现.docx

    题目要求 给定一个多维矩阵,实现该矩阵的求逆运算. 1.理论分析 矩阵的一种有效而广泛应用的分解方法是矩阵的LU三角分解,将 一个n阶矩阵A分解为一个下三角矩阵L和一个上三角矩阵U的乘积.所 以首先对 ...

  8. matlab节点导纳阵求逆,关于利用矩阵稀疏技术求解节点导纳矩阵的MATLAB编程

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 求大神帮忙看看这个程序,解释一下! %形成节点导纳矩阵 %考虑参考节点 %考虑互感支路 function [d_g,d_b,u_g,u_b]=calyy( ...

  9. 115.n阶方阵求逆

    #include <stdio.h> #include <stdlib.h> #include <math.h> #define MAX 255void Matri ...

最新文章

  1. OpenWrt编程篇
  2. [项目更新] 集成RabbitMQ队列与EventBus总线
  3. db h2 数据类型_H2数据库函数及数据类型概述
  4. elipse与数据库Mysql连接,并实现创建数据表的功能
  5. 鸿蒙电视rom,鸿蒙系统刷机包
  6. 如何查看teamviewer计算机id,TeamViewer如何设置固定ID密码?查看方法说明
  7. 未来生活进行时: 畅想未来新兴技术40年——百大趋势性技术汇总(上)
  8. Android图片轮播控件
  9. Java反射机制详解上篇
  10. 使用工具清理Windows的winsxs目录
  11. FNN 网络介绍与源码浅析
  12. PyTorch学习(十一)encoded,decoded
  13. 最简单Unity 连招入门--只有20行代码
  14. 【IoT】项目管理:如何做好端到端的项目管理?
  15. 侯捷C++系统工程师
  16. 测试百科:白盒测试用例的设计(图文并茂,非常详细)
  17. OLA/SOLA/WSOLA语音重叠相加算法分析
  18. 行为树 Behavior Tree 原理 一
  19. html滚动字幕如何调色,如何通过制作滚动字幕的软件实现这种片尾的向上滚动字幕效果...
  20. Vim/Cscope使用

热门文章

  1. Windows XP将显示桌面放到任务栏
  2. h5+js 移动端监听点击、移动、松开,获取鼠标位置
  3. 微视linux swapper进程
  4. 计算机受控文件夹管理,自定义受控文件夹访问
  5. iphone国际化(转)
  6. arcsde for mysql_ArcSDE 10 PostgreSQL 数据库要求
  7. STL、PLY、OBJ格式分析
  8. 这个好法子,能控制妈妈暴脾气,改掉孩子坏毛病!
  9. 大数据理论与实践5 分布式计算框架MapReduce和Spark
  10. java-对象引用和对象本身