import numpy as np
import math
A=np.array([[1,2,3],[2,5,2],[3,1,5]])  # np.mat创建矩阵,np.arry创建数组
b=np.array([14,18,20])
n=len(A)
def LU_mat(A):   #分解矩阵A的函数,得到L和U:L=np.eye(len(A))U=np.zeros(np.shape(A))for k in range(n):U[0,0]=A[0,0]if k==0:for j in range(1,n):U[0,j]=A[0,j]L[j,0]=A[j,0]/U[0,0] else:for j in range(k,n):m=0for r in range(k):m+=L[k,r]*U[r,j]U[k,j]=A[k,j]-mfor i in range(k+1,n):m=0for r in range(k):m+=L[i,r]*U[r,k]L[i,k]=(A[i,k]-m)/U[k,k]print("L={}".format(L),"U={}".format(U))return L,Udef LU_fun(A,b):  #定义一个LU分解函数,自变量是A,bm1,m2=A.shape  # m,n分别代表矩阵A的行数和列数if A[0,0]==0:print("no answer")     if m1<m2:print("这是一个解空间")else:L,U=LU_mat(A)y=bfor k in range(1,n):m=0for r in range(k):m+=L[k,r]*y[r]y[k]-=mprint("y={}".format(y))x=yx[n-1]=y[n-1]/U[n-1,n-1]for i in range(n-2,-1,-1):m=0for k in range(i+1,n):m+=U[i,k]*x[k]x[i]=(x[i]-m)/U[i,i]print("x={}".format(x))return xLU_fun(A,b)

运行结果

L=[[ 1.  0.  0.][ 2.  1.  0.][ 3. -5.  1.]]
U=[[  1.   2.   3.][  0.   1.  -4.][  0.   0. -24.]]
y=[ 14 -10 -72]
x=[1 2 3]

数值分析——LU分解求解线性方程组的Python实现相关推荐

  1. python QR分解求解线性方程组和矩阵本征值和本征向量

    下面的代码提供了两个函数 solve_linear_equ, 利用QR分解求解线性方程组,输入是一个二维的非奇异的系数方阵和一个常数array,输出是该线性方程组的解 eigen, 输入是一个实方阵( ...

  2. LU分解求线性方程组的解

    LU分解是矩阵分解的一种,可以将一个矩阵分解为一个上三角矩阵和一个下三角矩阵的乘积. LU分解可以用来求逆矩阵,解线性方程组等.本文将介绍LU分解求线性方程组的解. 1.定义 如果A是一个方阵,A的L ...

  3. 计算方法LU分解c语言程序解线性方程组,LU分解求线性方程组的解

    LU分解是矩阵分解的一种,可以将一个矩阵分解为一个上三角矩阵和一个下三角矩阵的乘积. LU分解可以用来求逆矩阵,解线性方程组等.本文将介绍LU分解求线性方程组的解. 1.定义 如果A是一个方阵,A的L ...

  4. 数值分析——追赶法求解线性方程组的python实现

    import numpy as np #分解矩阵A至L和U def LU_mat(A):L=np.zeros(np.shape(A))U=np.eye(len(A))L[0,0]=A[0,0]U[0, ...

  5. matlab lu分解求线性方程组_计算方法(二)直接三角分解法解线性方程组

    封面是WH2里春希在编辑部的上司麻理前辈,有一说一,这条线的第一次H有点恶趣味,不是很喜欢. 一:概述 矩阵分解我学过的挺多种,比如极分解,谱分解,满秩分解,正交三角分解还有这里的直接三角分解大部分我 ...

  6. 《数值分析(原书第2版)》—— 2.2 LU分解

    本节书摘来自华章出版社<数值分析(原书第2版)>一 书中的第2章,第2.2节,作者:(美)Timothy Sauer,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  7. 《数值分析(原书第2版)》—— 2.4 PA=LU分解

    本节书摘来自华章出版社<数值分析(原书第2版)>一 书中的第2章,第2.4节,作者:(美)Timothy Sauer,更多章节内容可以访问云栖社区"华章计算机"公众号查 ...

  8. 求解线性方程组(SVD,QR,Gauss,LU)

    曲线拟合过程中,需要求解线性方程组,下面谈谈线性方程组的求解方法: 1)svd求解 对于齐次线性方程 A*X =0; 当A的行数大于列数时,就需要求解最小二乘解,在||X||=1的约束下,其最小二乘解 ...

  9. 数值分析上机题matlab线性方程组,数值分析上机实验报告 - 线性方程组部分实验题1...

    s=A(i,(i+1):n)*x((i+1):n,1); else s=0; end x(i,1)=(b(i)-s)/A(i,i);end %Cholosky分解方法***************** ...

最新文章

  1. android studio dump java heap_Android Studio 3.0 Memory Profiler使用
  2. python建站与java建站有何不同_详解模板建站和定制建站的不同之处
  3. Linux环境编程--linux中的perror、exit、_exit、wait 和 waitpid
  4. access导出MySQL表格_将ACCESS 的数据库中的表的文件 导出了EXCEL格式
  5. OpenStack遇到的坑
  6. 如何用MathType插入公式编号
  7. 如何自己动手建立最简单的动态网站
  8. MATLAB从入门到精通-matlab图像处理标记点追踪识别程序
  9. python批量json文件转xml文件脚本(附代码)
  10. flink的web ui出现Server Response:Unable to load requested file /jars
  11. java概念题_JAVA 概念笔试题
  12. 数据库系统的体系结构知识笔记
  13. Js实现异步刷新(原创)
  14. 【WH】MVC数据分页扩展类
  15. qca9533 openwrt 启动信息
  16. vue3+vite2警告提示The above dynamic import cannot be analyzed by vite问题,vite中import动态引入
  17. 数独问题(java)
  18. 南京大学计算机视觉博士生导师,孙正兴——著名计算机专家孙正兴——南京大学教授...
  19. MemoryStream
  20. Spark与Iceberg整合查询操作-查询快照,表历史,data files Manifests 查询快照,时间戳数据...

热门文章

  1. opa847方波放大电路_采用电压反馈放大器OPA846、OPA847.ppt
  2. togaf 的4A架构
  3. 线性代数学习笔记——第六十九讲——正交向量组与标准正交基
  4. python定向爬取wallhaven壁纸
  5. 部门来了个卷王之王,真的让人奔溃
  6. C++ primer Plus(第六版)第十三章 类继承 章节编程练习答案
  7. Java NIO 非阻塞服务器端
  8. 基于遗传算法的二进制图像重建附Matlab代码
  9. c语言英雄打怪兽掉箭题目,荒野乱斗:“打怪兽”有诀窍,英雄选择尤其重要...
  10. 卡尔曼滤波和粒子滤波