LU分解

2023-10-31

在高等工程数学一书中, LU分解(LU Decomposition)是矩阵分解中最普通的一种,也是最经典的一种,它可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积,有时是它们和一个置换矩阵的乘积。LU分解主要应用在其数值分析中,用来解线性方程、求反矩阵或计算行列式等。将所给的系数矩阵A转变成等价两个矩阵L和U的乘积 ,其中L和U分别是单位下三角矩阵和上三角矩阵。当A的所有顺序主子式都不为0时,矩阵A可以分解为A=LU(所有顺序主子式不为0,矩阵不一定不可以进行LU分解)。其中L是下三角矩阵,U是上三角矩阵。

LU分解在本质上是高斯消元法的一种表达形式。实质上是将A通过初等行变换变成一个上三角矩阵,其变换矩阵就是一个单位下三角矩阵。这正是所谓的杜尔里特算法(Doolittle algorithm):从下至上对矩阵A做初等行变换,将对角线左下方的元素变成零,然后再证明这些行变换的效果等同于左乘一系列单位下三角矩阵,这一系列单位下三角矩阵的乘积的逆就是L矩阵,它也是一个单位下三角矩阵。这类算法的复杂程度一般在(三分之二的n三次方) 左右。

Doolittle分解

对于非奇异矩阵(任n阶顺序主子式不全为0)的方阵A,都可以进行Doolittle分解,得到A=LU,其中L为单位下三角矩阵,U为上三角矩阵;这里的Doolittle分解实际就是Gauss变换;

Crout分解

对于非奇异矩阵(任n阶顺序主子式不全为0)的方阵A,都可以进行Crout分解,得到A=LU,其中L为下三角矩阵,U为单位上三角矩阵;

列主元三角分解

对于非奇异矩阵的方阵A,采用列主元三角分解,得到PA=LU,其中P为一个置换矩阵,L,U与Doolittle分解的规定相同;

全主元三角分解

对于非奇异矩阵的方阵A,采用全主元三角分解,得到PAQ=LU,其中P,Q为置换矩阵,L,U与Doolittle分解的规定相同;

直接三角分解

对于非奇异矩阵的方阵A,利用直接三角分解推导得到的公式(Doolittle分解公式或者Crout分解公式),可以进行递归操作,以便于计算机编程实现;

下面介绍一下其在MATLAB中的程序实现:

     %LU分解法求解Ax=b, 假定A矩阵可进行LU分解以及对角线元素均不为0
function [x] = Dool(A,b)
n=length(A);A(2:n,1)=A(2:n,1)/A(1,1);
for t=2:n-1                     %进行LU分解
    A(t,t:n)=A(t,t:n)-A(t,1:t-1)*A(1:t-1,t:n);
    A(t+1:n,t)=(A(t+1:n,t)-A(t+1:n,1:t-1)*A(1:t-1,t))/A(t,t);
end
A(n,n)=A(n,n)-A(n,1:n-1)*A(1:n-1,n);
L=tril(A,-1)+eye(n);U=triu(A);  %矩阵A分解出L和U
for t=2:n                       %解Lx=b
    b(t)=b(t)-L(t,1:t-1)*b(1:t-1);
end
b(n)=b(n)/U(n,n);               %解Ux=b
for t=1:n-1;
    k=n-t;b(k)=(b(k)-U(k,k+1:n)*b(k+1:n))/U(k,k);
end
x=b;                            %方程Ax=b的解即为x

至此,关于LU分解的介绍基本完毕,请大家继续关注!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LU分解 的相关文章

  • python下快速使用echart

    所需文件如图 echarts min js 可以在echarts官网 下载 中找到 app py from flask import Flask render template app Flask name app route def ec
  • GD32+EEPROM(IO)

    一 测试环境 1 芯片 GD32F10x 2 EEPROM BL24CM1A 3 SCL引脚 推完输出 硬件没上拉 4 SDA引脚 浮空输入 硬件没上拉 二 功能 1 使用IO模拟的方式 实现读写EEPROM 三 问题描述 1 很久没有调试
  • 零基础自学Python数据分析之安装、使用等

    这两年Python之火 不再赘述 当然 一些教培机构的吹捧赞美之词可能略高了 实在不敢苟同 但 本人前面也写过Python的功能之强大 用法之多之广以及抑制不住的赞美之情溢于言辞之间 前两天听到一个调侃 说有一个哥们以前是做数据分析的 每天
  • idea右键建包无package(无class等之类的同样适用)

    Intelidea创建好项目之后 右键新建Java class的时候发现没有改选项 只有以下几个选项 把src目录设为源码目录 首先打开Project Structure 如果有test测试文件夹就选中然后点Test按钮 最后点击OK完成
  • Taro和uniapp的区别?

    最近这段时间 因为工作需要 学习认识了taro 因为以前也用过uniapp 因此也对这两款跨端开发框架做了一些对比 总结如下 1 体积不同 Taro使用esbuild打包 虽然打包速度提升 但是打包后体积还是大 uniapp使用vite打包
  • MongoDB(Roboit3T)中导出集合数据

    C MongoDB bin mongoexport d MES LOCAL c Employee o C Employee json 这里导出的是MES LOCAL数据库下的 Employee文档 一 先从数据库中导出文档 平板中的数据 导
  • awk与shell之间的变量传递方法

    http renyongjie668 blog 163 com blog static 16005312011829102025222 在linux下awk是个好东东 处理一些文本文件会非常方便 而在Linux下嘛 经常会和shell打交道
  • GB2312编码规则与代码实现

    GB2312编码范围 A1A1 FEFE 其中汉字编码范围 B0A1 F7FE 汉字编码 第一字节0xB0 0xF7 对应区号 16 87 第二个字节0xA1 0xFE 对应位号 01 94 GB2312编码是第一个汉字编码国家标准 是由中
  • BaseAdapter几个重载方法介绍isEnabled,getViewTypeCount ,getItemViewType

    http blog csdn net nullreference article details 7912588 public boolean isEnabled int position 如果列表的一项item是separator 充当分
  • Redisson Map踩坑姿势

    使用Java的Redisson客户端时 踩了一些坑 分享再次 供大家参考 因此引发的一次故障及排查过程参见 记一次线上 内存泄露 故障 RMapCache的坑 RMapCache的坑要从Redisson中Map结构的元素淘汰机制说起 详见
  • (python)牛客网(华为机试一)——入门

    本博客为博主解题的部分记录 由于均为自己写的 所以答案并非最优解 有很多地方可以优化 其他题解合集 python 牛客网 华为机试二 简单 python 牛客网 华为机试三 中等 python 牛客网 华为机试四 较难 题目 HJ17 取近
  • c++模板与泛型编程

    函数模板 template

随机推荐

  • git clone弹出登录验证框 登录无效 -Windows环境

    git篇 git clone弹出登录验证框 登录无效 Windows环境 在这里插入图片描述 使用git clone下载代码的时候 弹出github登录界面 确认账户密码正确的情况下 依旧重复弹出 原因是Github 禁用了TLS v1 0
  • 他98年的,我玩不过他...

    现在的小年轻真的卷得过分了 前段时间我们公司来了个98年的 工作没两年 跳槽到我们公司起薪18K 都快接近我了 后来才知道人家是个卷王 从早干到晚就差搬张床到工位睡觉了 最近和他聊了一次天 原来这位小老弟家里条件不太好 一大家子指望他一个人
  • LeetCode 之 剑指 Offer 24. 反转链表(Java)

    文章目录 LeetCode 之 剑指 Offer 24 反转链表 Java 一 题目 二 解题思路 三 代码 LeetCode 之 剑指 Offer 24 反转链表 Java 一 题目 剑指 Offer 24 反转链表 定义一个函数 输入一
  • 大数据处理框架MapReduce

    大数据处理框架MapReduce是一种用于处理大规模数据集的编程模型和计算框架 它能够将大规模数据集分解为多个小的数据块 并在分布式计算环境中进行并行处理 MapReduce采用了一种简单而有效的数据处理模式 由两个主要的阶段组成 Map阶
  • Sublime Text 3 装了Anaconda 写Python代码出现框框的解决办法

    Sublime Text 3代码提示插件Anaconda下载 http damnwidget github io anaconda carousel features 安装后写代码出现白框 光标移到白框行 下方状态栏里可以看到错误信息 可见
  • 80.带权的无向图

    带权的无向图 include
  • 如何用GPT轻松搞定一篇毕业论文。

    大家好 我是五竹 心血来潮整理了一份手册 ChatGPT学习指南 并且将为小白们持续更新和GPT相关的资源和教程 专注于打造一部最好的GPT入门指南 欢迎大家转发 收藏 点赞支持 谨防失联 下面 我将如何使用GPT写论文的步骤分享给大家 1
  • 怎么把半角引号替换成全角_巧妙批量互换全角与半角双引号

    工作中时常会遇到使用英文标点符号的文章 如图 2 38所示 为了规范文件编排 通常需要将所有的英文标点符号转换为中文标点符号 即达到如图 2 39所示的效果 使用查找和替换功能可以快速完成这一工作 下面以替换半角双引号为例进行介绍 图2 3
  • 3D游戏设计——UI系统

    HW9 1 血条 Health Bar 的预制设计 具体要求如下 分别使用 IMGUI 和 UGUI 实现 使用 UGUI 血条是游戏对象的一个子元素 任何时候需要面对主摄像机 分析两种实现的优缺点 给出预制的使用方法 IMGUI 使用一个
  • Python如何使用Any和All?代码示例和解析

    Any和All是python中提供的两个内置插件 用于连续的And Or Any 如果任何一项为True 则返回true 如果为空或全部为假 则返回False 可以将任何内容视为对提供的可迭代对象进行的一系列OR操作 它将执行短路 即一旦知
  • 单向链表(c/c++)

    链表是一种常见的数据结构 其中运用到了结构体指针 链表可以实现动态存储分配 换而言之 链表是一个功能强大的数组 可以在某个节点定义多种数据类型 可以实现任意的添加 删除 插入节点等 废话结束 前置知识 地址 结构体 malloc函数与循环选
  • Linux图形化界面安装

    点击创建新的虚拟机 选择自定义模式然后点击下一步 红色框内是根据自身电脑选择的 一般为默认的就行 然后点击下一步 选择一个镜像文件 选择安装到的路径还有虚拟机的名称 默认就行 也是默认 电脑配置好的话可以适当增加 根据需求选择不同的网络类型
  • 我与世界杯足球那些事——世界杯征文

    征文活动链接 https bbs csdn net topics 609601920 目录 第一次了解世界杯 第一次观看世界杯 世界杯主题曲 我最热爱的球员 今年世界杯 预测冠军 第一次了解世界杯 提起世界杯 我可能了解的比较晚一些 是在2
  • 【win11+Visual Studio 2019 配置 PCL 1.12.1 的经验总结分享】

    点云pc库的下载与安装参考另外一篇文章 链接 https blog csdn net weixin 47869094 article details 131270772 spm 1001 2014 3001 5501 各种教程里面这都很好
  • mysql-connector-java与mysql版本的对应

    记录下mysql connector java与mysql版本的对应关系 已方便以后参考 这是最新版本对应 时间 2017年5月23日 官网文档地址 https dev mysql com doc connector j 5 1 en co
  • kafka-__consumer_offsets

    consumer offsets zookeeper不适合大批量的频繁写入操作 Kafka 1 0 2将consumer的位移信息保存在Kafka内部的topic中 即 consumer offsets主题 并 且默认提供了kafka co
  • RACI 职责分配矩阵 模型使用详解及案例分析

    一 RACI产生背景 RACI是项目管理中的人力资源管理方法 一个项目团 队的成员往往来自于不同背景的各个部门 这些成员受部门经理和项目经理的双重管辖 由于这些人往往是临时组织起来的 并且项目的各个阶段扮演不同的角色 而项目的任务又很紧迫
  • Spring详解(二)------IOC控制反转

    我相信提到 Spring 很多人会脱口而出IOC 控制反转 DI 依赖注入 AOP等等概念 这些概念也是面试官经常问到的知识点 那么这篇博客我们就来详细的讲解 IOC控制反转 ps 本篇博客源码下载链接 百度网盘 链接不存在 密码 oquc
  • 全国计算机等级考试题库二级C操作题100套(第100套)

    第100套 给定程序中 函数fun的功能是 在形参s所指字符串中寻找与参数c相同的字符 并在其后插入一个与之相同的字符 若找不到相同的字符则函数不做任何处理 例如 s所指字符串为 baacda c中的字符为 a 执行后s所指字符串为 baa
  • LU分解

    在高等工程数学一书中 LU分解 LU Decomposition 是矩阵分解中最普通的一种 也是最经典的一种 它可以将一个矩阵分解为一个单位下三角矩阵和一个上三角矩阵的乘积 有时是它们和一个置换矩阵的乘积 LU分解主要应用在其数值分析中 用