理顺 QR 分解算法

这篇具有很好参考价值的文章主要介绍了理顺 QR 分解算法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

咱们网站的这个公式编辑器,估计是后台生成图片后贴回来的,固定分辨率而且分辨率不高。
 还不如先离线 latex 生成 pdf 后再截图上来

1. Why QR

When A and b are known, to solver the minimization of , where .

The reduction of A to various canonical form via orthogonal transformations should use Householder reflections and Givens rotations.

2. preview on orthogonal matrix

2.1 Orthogonal matrix

is  orthogonal matrix, if:

2.2 rotation matrix is orthogonal matrix

If

is orthogonal and   is a rotation matrix.

If , then is obtained by rotating counterclockwise through an angle .

2.3 reflection matrix is orthogonal matrix

is orthogonal and is a reflection matrix.

If , then is obtained by reflecting the vector across the line defined by

That means and are axial symmetry by S,

x is the preimage, y is the image, S is the mirror surface.

looks like :

理顺 QR 分解算法,线性代数,算法,矩阵计算

%input x, ta = theta

%x = [-sqrt(2)/2.0, sqrt(2)/2.0]
x = [1; 1;]
ta = pi/5

S = [cos(ta/2.0), sin(ta/2.0)]
Q = [cos(ta), sin(ta); sin(ta), -cos(ta);]

y = Q*x

figure;
%1. draw axis
xmin = -2
xmax = 2
ymin = -2
ymax = 2

axisx = xmin:xmax;
axisy = zeros(size(axisx));
plot(axisx, axisy, 'k--', 'LineWidth', 0.7); % Plot x=0 axis
hold on;
plot(axisy, xmin:xmax, 'k--', 'LineWidth', 0.7); % Plot y=0 axis
hold on;

%2. draw surface of mirror
sx = -2*S(1):0.5:2*S(1)
sy = (S(2)/S(1))*sx
plot(sx, sy)
text(sx,sy, 'S')
hold on;

%3. draw preimage
plot(x(1), x(2), 'ro')

text(x(1)+0.1, x(2)+0.1, 'x')
hold on;

%4. draw image
plot(y(1), y(2), 'bo')
text(y(1)+0.1, y(2)+0.1, 'y')

%5. axis label
xlabel("X")
ylabel('Y')
v=[xmin, xmax, ymin, ymax]
axis(v)
%axis on

3. Householder transformation

3.1 Householder matrix

In section 2, the reflection is introduced from the mirror surface. But, in this section, it is introduced from normal direction.

Let

then is

a    

or   

or 

which are synonyms.

And is the .

When

is the image from by reflecting with the hyuperplane and the mirror surface is cross the point.

If

let   (this is the normal direction)

then ;

约化定理

Let ,

then st.

and:

理顺 QR 分解算法,线性代数,算法,矩阵计算         (1)

约化定理毕;

约化定理example:

Let then , and

to calculate :

then 

理顺 QR 分解算法,线性代数,算法,矩阵计算

Here is the matlab code:

reduce_01.m:

x=[3;5;1;1;]
sigmaa =sign(x(1))*norm(x)
u = x+sigmaa*eye(4)(:,1)
betaa = 0.5*(norm(u))^2
H = eye(4) - (1.0/betaa)*u*u'
%debug
%h=betaa*H

y = H*x

理顺 QR 分解算法,线性代数,算法,矩阵计算

3.2 QR decompose

Theorems 3:

and then is orthogonal matrix, st. , and   is a upper triangular matrix.

Theorems 4:

and then and  ,  is orthogonal matrix, and   is a upper triangular matrix, st. .

and if , then the decomposition is unique.

Let‘s more concrete, do an example:

Ex3,

decompose , with

PF:

1-st column:

By formulas (1), calculate st.

理顺 QR 分解算法,线性代数,算法,矩阵计算

理顺 QR 分解算法,线性代数,算法,矩阵计算

理顺 QR 分解算法,线性代数,算法,矩阵计算

matlab codes:

A=[
 2,-2, 3;
 1, 1, 1;
 1, 3,-1;
]
x=A(:,1)
sigma=sign(x(1))*sqrt(x'*x)
miu=x+sigma*eye(3)(:,1)
beta=sigma*(sigma + x(1))
H=eye(3) -(1.0/beta)*miu*miu'
H*A

理顺 QR 分解算法,线性代数,算法,矩阵计算

2nd-column:

find , st.

with the formulas again:

理顺 QR 分解算法,线性代数,算法,矩阵计算

now

理顺 QR 分解算法,线性代数,算法,矩阵计算 

理顺 QR 分解算法,线性代数,算法,矩阵计算

理顺 QR 分解算法,线性代数,算法,矩阵计算 

 

 

for ,let


 

and

so

matlab codes:

A=[
 2,-2, 3;
 1, 1, 1;
 1, 3,-1;
]
x=A(:,1)
sigma=sign(x(1))*sqrt(x'*x)
miu=x+sigma*eye(3)(:,1)
beta=sigma*(sigma + x(1))
H1=eye(3) -(1.0/beta)*miu*miu'


A1=H1*A
x = A1(2:3,2)
sigma = sign(x(1))*sqrt(x'*x)
miu = x+sigma*eye(2)(:,1)
beta=sigma*(sigma+x(1))	
H2_=eye(2) - (1.0/beta)*miu*miu'

H2=zeros(3,3)
H2(2:3,2:3)=H2_
H2(1,1) = 1

A2 = H2*A1
R=-eye(3)*A2

Q=(-eye(3)*H2*H1)'

理顺 QR 分解算法,线性代数,算法,矩阵计算

 

未完待续 ... ...文章来源地址https://www.toymoban.com/news/detail-824342.html

到了这里,关于理顺 QR 分解算法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MIT - 线性代数-LU_LDU分解|单位矩阵

    U为消元结果(行变换),L为行变换矩阵的逆矩阵 D为主元(Pivot)A的主对角线元素,在这里为2、3,U为对D做列变换使其得到LU中的U 为什么要写成A=LU而不是E21A=U呢?因为A=LU中L只包含行变换信息,E21A=U还有额外的数字 2×2 2 3×3 3×2=6 4×4 4×3×2=24 结论:单位矩阵的逆=转置矩阵(

    2024年01月23日
    浏览(47)
  • 线性代数 --- LU分解(Gauss消元法的矩阵表示)

                     首先, LU分解实际上就是用矩阵的形式来记录的高斯消元的过程 。其中,对矩阵A进行高斯消元后的结果为矩阵U,是LU分解后的两个三角矩阵中其中之一。U是一个上三角矩阵,U就是上三角矩阵upper triangle的首字母的大写。         高斯消元的每一步都

    2024年02月02日
    浏览(52)
  • 【线性代数/机器学习】矩阵的奇异值与奇异值分解(SVD)

    我们知道,对于一个 n × n ntimes n n × n 的矩阵 A A A ,如果 A A A 有 n n n 个线性无关的特征向量,则 A A A 可以相似对角化,即存在可逆矩阵 P P P 使得 A = P Λ P − 1 A=PLambda P^{-1} A = P Λ P − 1 ,其中 Λ Lambda Λ 是 A A A 的特征值组成的对角阵。 P P P 的列实际上就是 A A A 的特征向

    2024年02月10日
    浏览(40)
  • 04 MIT线性代数-矩阵的LU分解 Factorization into A=LU

    目的: 从矩阵的角度理解高斯消元法, 完成 LU 分解得到 A = LU U 为上三角阵(Upper triangular matrix),  L 为下三角阵(Lower triangular matrix), 通过分解得到对角阵 D (diagonal matrix) 设定一组消元矩阵,其中 E31 为单位阵 I ,其它两个消元矩阵如下: row3 -5 newrow2 = row3 -5( row2 -2 row1 )= row3 -

    2024年02月07日
    浏览(40)
  • 线性代数 --- 计算斐波那契数列第n项的快速算法(矩阵的n次幂)

    The n-th term of Fibonacci Numbers:         斐波那契数列的是一个古老而又经典的数学数列,距今已经有800多年了。关于斐波那契数列的计算方法不难,只是当我们希望快速求出其数列中的第100,乃至第1000项时,有没有又准又快的方法,一直是一个值得探讨和研究的问题。笔者

    2024年04月27日
    浏览(45)
  • 线性代数Python计算:矩阵对角化

    线性变换 T T T 的矩阵 A ∈ P n × n boldsymbol{A}in P^{ntimes n} A ∈ P n × n 的对角化,即寻求对角阵 Λ boldsymbol{Lambda} Λ ,使得 A boldsymbol{A} A ~ Λ boldsymbol{Lambda} Λ ,需分几步走: (1)解方程 det ⁡ ( λ I − A ) = 0 det(lambdaboldsymbol{I}-boldsymbol{A})=0 det ( λ I − A ) = 0 ,得根 λ 1 , λ

    2024年02月08日
    浏览(45)
  • 【JS 线性代数算法之向量与矩阵】

    线性代数是数学的一个分支,用于研究线性方程组及其解的性质、向量空间及其变换的性质等。在计算机科学领域中,线性代数常用于图形学、机器学习、计算机视觉等领域。本文将详细介绍 JS 中常用的线性代数算法,并提供代码示例。 向量是有大小和方向的量,通常用一

    2024年02月13日
    浏览(54)
  • 【动手学深度学习】课程笔记 05-07 线性代数、矩阵计算和自动求导

    向量相关 矩阵相关 简单来说,范数是用来衡量矩阵(张量)大小的值,范数的值有不同的规定。 仅记录一些我比较陌生的知识。 张量的克隆 张量的降维 首先定义一个张量x,指定其元素的数据类型为32位的float: 接着调用求和函数,因为会对张量中的一些维度进行求和,求

    2024年02月03日
    浏览(46)
  • 线性代数的学习和整理1:用EXCEL进行基础的矩阵计算

    目录 1 写在最开始的话 EXCEL里计算线性代数的起点 心得 内容 2 EXCEL里矩形的加法 2.1  矩阵加法的性质 3 EXCEL里矩阵的减法 4 矩阵标量乘法/ 也称 数乘 4.1 矩阵的标量乘法的性质 5 矩阵点乘, 得到:点积/内积 ,使用mmult() 5.1 矩阵点乘规则 5.2  矩阵的乘法不符合交换性,不能交

    2024年03月20日
    浏览(51)
  • [Eigen中文文档] 线性代数与分解

    文档总目录 英文原文(Linear algebra and decomposition) 本节说明如何求解线性系统,计算各种分解,如 LU 、 QR 、 SVD 、 特征分解 …… 求解基本线性系统 问题 :有一个方程组,写成矩阵方程如下: A x = b Ax = b A x = b 其中 A A A 和 b b b 是矩阵(作为一种特殊情况, b b b 也可以是一个

    2024年02月07日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包