惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Help Net Security
Help Net Security
G
Google Developers Blog
雷峰网
雷峰网
WordPress大学
WordPress大学
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Engineering at Meta
Engineering at Meta
Security Latest
Security Latest
T
Threat Research - Cisco Blogs
AWS News Blog
AWS News Blog
F
Full Disclosure
C
Cybersecurity and Infrastructure Security Agency CISA
T
The Exploit Database - CXSecurity.com
J
Java Code Geeks
U
Unit 42
C
Cyber Attacks, Cyber Crime and Cyber Security
V
V2EX
C
Cisco Blogs
博客园 - 司徒正美
Project Zero
Project Zero
L
LINUX DO - 热门话题
阮一峰的网络日志
阮一峰的网络日志
Blog — PlanetScale
Blog — PlanetScale
Scott Helme
Scott Helme
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog
S
Securelist
小众软件
小众软件
aimingoo的专栏
aimingoo的专栏
S
Schneier on Security
G
GRAHAM CLULEY
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
MongoDB | Blog
MongoDB | Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
T
Threatpost
Recorded Future
Recorded Future
C
CXSECURITY Database RSS Feed - CXSecurity.com
宝玉的分享
宝玉的分享
N
News and Events Feed by Topic
人人都是产品经理
人人都是产品经理
The Register - Security
The Register - Security
S
Security Archives - TechRepublic
博客园 - Franky
N
News | PayPal Newsroom
Simon Willison's Weblog
Simon Willison's Weblog
S
SegmentFault 最新的问题
W
WeLiveSecurity
A
Arctic Wolf
B
Blog

博客园 - Tony Ma

偏最小二乘回归(PLSR)- 1 概览 偏最小二乘回归(PLSR)- 2 标准算法(NIPALS) [转]无处不在的线性分解 [转]在数学的海洋中飘荡 [转]概率漫谈 [转]机器学习和计算机视觉相关的数学(2) [转]机器学习和计算机视觉相关的数学(1) [转] Learning中的代数结构的建立 矩阵分析-正交-0 引言 矩阵分析-线性系统-4 病态系统(ill-conditioned Systems)与条件数(condtion number) 矩阵分析-线性系统-3 LU分解 矩阵分析-线性系统-5 最小二乘问题(The Least Squares Problem) 矩阵分析-基础-常见矩阵 矩阵分析-线性系统-1 定义、方程组解的表现形式和性质 图像处理-线性滤波-3 高斯滤波器 图像处理-线性滤波-2 图像微分(1、2阶导数和拉普拉斯算子) 图像处理-线性滤波-1 基础(相关算子、卷积算子、边缘效应) The Research Life! By John Lafferty 数字信号处理 - Chap8 小波 (3)信号编码和多分辨率分析
矩阵分析-线性系统-2 高斯消元法、高斯-若尔当消元法
Tony Ma · 2011-07-31 · via 博客园 - Tony Ma

1. 高斯消元法

高斯消元法(Gaussian elimination是求解线性方阵组的一种算法,它也可用来求矩阵的秩,以及求可逆方阵逆矩阵。它通过逐步消除未知数来将原始线性系统转化为另一个更简单的等价的系统。它的实质是通过初等行变化(Elementary row operations),将线性方程组的增广矩阵转化为行阶梯矩阵(row echelon form)。总结起来,如下步骤所示

以下面方程组为例,它的执行步骤为

                          image

1)构造增广矩阵,即系数矩阵A增加上常数向量b(A|b)

                          image

2)通过以交换行、某行乘以非负常数和两行相加这三种初等变化将原系统转化为更简单的三角形式(triangular form)

     注:这里的初等变化可以通过系数矩阵A乘上初等矩阵E来实现

                         image

3)从而得到简化的三角方阵组,注意它更容易解

                         image

4)这时可以使用向后替换算法(Algorithm for Back Substitution)求解得

    z=-4/-4=1,  y=4-2z=4-2=2,  x= (1-y-z)/2=(1-2-1)/2=-1

总结上面过程,高斯消元法其实就是下面非常简单的过程

                            原线性方程组       ——>       高斯消元法     ——> 下三角或上三角形式的线性方程组           ——>  前向替换算法求解(对于上三角形式,采用后向替换算法)

image         
\begin{matrix}
l_{1,1} x_1 &   &             &            &             & = &    b_1 \\
l_{2,1} x_1 & + & l_{2,2} x_2 &            &             & = &    b_2 \\
     \vdots &   &      \vdots &     \ddots &             &   & \vdots \\
l_{m,1} x_1 & + & l_{m,2} x_2 & + \dotsb + & l_{m,m} x_m & = &   b_m  \\
\end{matrix}
                 image        

 

2.高斯-若尔当消元法(Gauss-Jordan Elimination

相对于高斯消元法,高斯-若尔当消元法最后的得到线性方程组更容易求解,它得到的是简化行列式。其转化后的增高矩阵形式如下,因此它可以直接求出方程的解,而无需使用替换算法。但是,此算法的效率较低。

                             image

例子如下:

image          解为image

3.实际应用中的高斯消元法

前面介绍了最基本的高斯消元法,现在看看应用于实际问题的实用算法。

3.1 误差

因为实际应用中,我们总是利用计算机来分析线性系统,而计算机中以有限的数来近似无限的实数,因此产生舍入误差(roundoff error),进而对解线性系统产生很多影响。

一个t位(即精度为t)以image为基的浮点数的表达形式为:imageimage。对于一个实数x,其浮点近似值image为最接近x的浮点数,必要时进行近似image

例1:对2位以10为基的浮点算法,image

例2:同样考虑imageimage

以下面系统为例,看看在高斯消元中采用浮点算法会产生什么效果。

                                                                           image

当以精确解法时,通过将第一行乘以m=89/47,并从第二行中减去得到image,进而利用后向替换算法得x=1,y=-1。

当以3位以10为基的浮点算法时,乘子变为image,因为image,因此第一步高斯消元后得

image。此时,因为不能将第2行第1列位置变为0,所以不能将其三角化。从而,我们只能接受将这个位置值赋为0,而不管其实际浮点值。因此,3位浮点高斯消元的结果为image,后向算法计算结果为image

3.2 部分主元消元(Partial Pivoting)

尽管无法消除近似误差的影响,可以采用一些技术来尽量减小这类机器误差。部分主元消元法在高斯消元的每一步,都选择列上最大值为轴(通过行变换将其移动)。

3.