线性代数-Python-05:矩阵的逆+LU分解

文章目录

  • 1 矩阵的逆
    • 1.1 求解矩阵的逆
  • 2 初等矩阵
    • 2.1 初等矩阵和可逆性
  • 3 矩阵的LU分解
    • 3.1 LU分解的实现

1 矩阵的逆

在这里插入图片描述
在这里插入图片描述

1.1 求解矩阵的逆

def inv(A):

    if A.row_num() != A.col_num():
        return None

    n = A.row_num()
    
    """矩阵A+单位矩阵"""
    ls = LinearSystem(A, Matrix.identity(n))
    
    """对线性系统进行高斯消元,如果没有解,返回none"""
    if not ls.gauss_jordan_elimination():
        return None
        
	"""高斯消元有解的话,把线性系统的右部分取出,重新构成矩阵,得到矩阵的逆"""
    invA = [[row[i] for i in range(n, 2*n)] for row in ls.Ab]
    
    return Matrix(invA)

在这里插入图片描述

2 初等矩阵

在这里插入图片描述
在这里插入图片描述

2.1 初等矩阵和可逆性

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3 矩阵的LU分解

在这里插入图片描述

3.1 LU分解的实现

from .Matrix import Matrix
from .Vector import Vector
from ._globals import is_zero


def lu(matrix):

    assert matrix.row_num() == matrix.col_num(), "matrix must be a square matrix"

    n = matrix.row_num() 
    
	"""A是原矩阵的副本"""
    A = [matrix.row_vector(i) for i in range(n)]
    
	"""初始化L,使对角线元素为1"""
    L = [[1.0 if i == j else 0.0 for i in range(n)] for j in range(n)]

    for i in range(n):
        """看A[i][i]位置是否可以是主元"""
        if is_zero(A[i][i]):
            return None, None
        else: """将主元以下的j位置变为0"""
            for j in range(i + 1, n):
                p = A[j][i] / A[i][i] """求加减的系数"""
                A[j] = A[j] - p * A[i] """将第j行的位置经过加减运算变成0"""
                L[j][i] = p """将L矩阵相应位置变成相应变换的值"""

    return Matrix(L), Matrix([A[i].underlying_list() for i in range(n)])

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/131382.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

11.10论文写作与格式

格式 文章题目:(三号、黑体、加粗,居中) 摘要:这两个大字要(黑体、小四、加粗,左对齐);内容为(宋体、小四) 关键词:三个字为(黑体、小四、加粗&#xff0c…

短视频矩阵seo系统源码搭建----技术定制化开发

一、需要遵循一下技术开发步骤: 1. 确定需求和功能:明确系统的主要目标和需要实现的功能,包括关键词研究、短视频制作、外链建设、数据分析、账号设置优化等方面。 2. 设计系统架构:根据需求和功能确定系统的架构,包…

如何通过命令查看某一文件的内容改动和提交记录

1. 查看最近10条的提交记录 一行显示 git log --oneline -102.查看某一个文件的提交记录 git log --oneline -10 文件路径3.查看某个文件的修改内容 查看某次提交的修改 内容 git show bcd9299 查看某次提交某个文件的修改内容git show bcd9299 文件路径4.对比两次提交内容的…

基于HF transformers的AI建模和训练实战

我们经常使用 scikit-learn 对监督学习和无监督学习任务的数据进行建模。 我们熟悉面向对象的设计,例如启动类并从类中调用子函数。 然而,当我个人使用 PyTorch 时,我发现与 scikit-learn 类似但又不一样的设计模式。 在线工具推荐&#xff…

亚马逊是如何风控虚假交易操控评论的?稳定的测评系统的重要性。

稳定的亚马逊测评系统重不重要? 亚马逊平台对测评行为的打击力度十分严格,堪称所有电商平台中最严格的一个。许多人可能会好奇,采用的是真人测评,由真实的客户群体购买产品后进行评价,这种模式难道也会存在风险吗&…

3.1 IDA Pro编写IDC脚本入门

IDA Pro内置的IDC脚本语言是一种灵活的、C语言风格的脚本语言,旨在帮助逆向工程师更轻松地进行反汇编和静态分析。IDC脚本语言支持变量、表达式、循环、分支、函数等C语言中的常见语法结构,并且还提供了许多特定于反汇编和静态分析的函数和操作符。由于其…

单片机启动流程

存储器 ​ 一个单片机中存在rom和ram,Soc也有rom和ram(ddrx),部分Soc还包含MMU(Memory Manage Unit 内存管理单元)— (用于系统内存管理,比如说虚拟内存空间,内存区间的…

【CCF-C解刊】4区逆袭到1区TOP,这本期刊实力强劲,34天录用,7天见刊!

计算机类 • 好刊解读 今天小编带来Elsevier旗下计算机领域好刊的解读,这本期刊从4区逆袭成为中科院1区(TOP),如此实力强劲的期刊,究竟如何? 如有相关领域作者有意向投稿,可作为重点关注&…

Flutter笔记 - 关于 fit 属性以及相关知识的总结

Flutter笔记 关于 fit 属性以及相关知识的总结 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550263/article/details/13434451…

vue+iView实现下载zip文件导出多个excel表格

1&#xff0c;需求&#xff1a;在vue项目中&#xff0c;实现分月份导出多个Excel表格。 点击导出&#xff0c;下载zip文件&#xff0c;解压出多张表数据。 2&#xff0c;关键代码&#xff1a; <Button class"export button-style button-space" click"ex…

2011年09月21日 Go生态洞察:Go图像处理包

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

无梯度强化学习:使用遗传算法进化代理

一、说明 我想提高我的强化学习技能。由于对这个领域一无所知&#xff0c;我参加了一门课程&#xff0c;接触到了 Q 学习及其“深度”等效项&#xff08;深度 Q 学习&#xff09;。在那里我接触到了 OpenAI 的Gym&#xff0c;他们有多种环境可供代理玩耍和学习。 课程仅限于 De…

便利与健康共赢:社区便民奶柜行业的广阔前景

随着生活节奏的加快&#xff0c;人们对便利性的需求不断增加&#xff0c;社区便民奶柜将迎来广阔的市场前景。首先&#xff0c;现代人的生活节奏快速增长&#xff0c;对便利性的需求也日益迫切&#xff0c;这为社区便民奶柜提供了广阔的市场空间。其次&#xff0c;随着健康意识…

python-jupyter实现OpenAi语音对话聊天

1.安装jupyter 这里使用的是jupyter工具&#xff0c;安装时需要再cmd执行如下命令&#xff0c;由于直接执行pip install jupyter会很慢&#xff0c;咱们直接使用国内源 pip install --user jupyter -i http://pypi.tuna.tsinghua.edu.cn/simple/ --trusted-host pypi.tuna.t…

k8s系列-kuboard 该操作平台的使用操作

文章目录 一、相关平台&#xff0c;以及账号和密码镜像打包服务器仓库地址K8s平台数据库mysql 二、平台概述1.集群导入2.集群管理3.名称空间4.访问控制授权5.集群用户操作审计 三、kuboard平台操作手册一、部署服务操作1.名称空间部署2.工作负载部署 一、相关平台&#xff0c;以…

Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】

一、传统磁盘管理的弊端 传统的磁盘管理&#xff1a;使用MBR先对硬盘分区&#xff0c;然后对分区进行文件系统的格式化最后再将该分区挂载上去。 传统的磁盘管理当分区没有空间使用进行扩展时&#xff0c;操作比较麻烦。分区使用空间已经满了&#xff0c;不再够用了&#xff…

个人app编程的好处及条件

1.概要 2.个人app编程目标 开发手机软件&#xff0c;类似微信、qq等软件应用&#xff0c;解决人们日常生活问题 例如&#xff1a; 1&#xff09;你可以&#xff0c;自己开发一个网站&#xff0c;管理自己的日常生活照片&#xff0c;防止哪一天手机掉了或丢了&#xff0c;照片…

lenovo联想小新 Air-14 2019 AMD平台API版(81NJ)原装出厂Windows10系统

下载链接&#xff1a;https://pan.baidu.com/s/1HCC66EH4UOcgofRx5_v1oA?pwdlgqw 提取码&#xff1a;lgqw 原厂系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、联想电脑管家等预装程序 所需要工具&#xff1a;16G或以上的U盘 文件格式&#xf…

Python开源项目RestoreFormer(++)——人脸重建(Face Restoration),模糊清晰、划痕修复及黑白上色的实践

有关 python anaconda 及运行环境的安装与设置请参阅&#xff1a; Python开源项目CodeFormer——人脸重建&#xff08;Face Restoration&#xff09;&#xff0c;模糊清晰、划痕修复及黑白上色的实践https://blog.csdn.net/beijinghorn/article/details/134334021 1 RESTOREF…

评国青、优青、杰青,到底需要什么级别的文章?五篇代表作如何选?

一到年底就听同事们讨论到底申报“杰青”、“优青”还是“国青”&#xff0c;那么&#xff0c;“杰青”到底是什么呢&#xff1f;它和“优青”、“国青”又有什么区别呢&#xff1f; 杰青&#xff0c;全称“国家杰出青年基金获得者”&#xff0c;是国家自然科学基金里人才资助…