CR和CAB,等级揭示矩阵分解

线性变换的秩是线性代数的基本概念,矩阵分解是数值线性代数的基本概念。吉尔斯特朗的2020年线性代数展望试图在线性代数入门课程的早期引入这些概念。

CR矩阵分解提供了一个视图rref,行简化阶梯形,作为揭示矩阵分解的秩。我讨论了CR在一个一对的帖子10月。现在我想描述出租车分解,它使用rref为了以相同的方式处理行和列,两次。

吉尔和我正在写一篇关于这些想法的评论论文,LU和CR消除.这是当前草案的链接,LUCR_43.pdf

内容

出租车

这是一个快速的描述出租车

[C,W,B] = cab(A)返回C = A(:,cols), B = A(rows,:),和W = A(rows,cols)
一个= C *发票(W) * B
[C,W,B,cols,rows] = cab(A)也返回索引cols和rows。

所有的要素CWB是从输入矩阵中取出的一个本身;C是它的一些列,B它的一些行,和W交集的集合是CB.实际上,关口所有这些因数分解都是计算的。列指标来自行简化阶梯形,rref (A),和转置的行指标,rref(的)

排名

一个矩阵的线性无关列数等于线性无关行数这一事实并不平凡,需要证明。这个数字是排名矩阵的和是非奇异的大小W

W是r-by-r其中rank(A) = r = length(cols) = length(rows)。

如果你试着去找CWR与一个W那就太小了C *发票(W) * R将无法繁殖一个.如果W太大了,就会变成单数。

排一个

如果一个一位,一个= u * v '为列向量u和行向量v '.然后CuBv ',W第一个非零元素在吗uv.这里有一个例子,第一行故意为零。

=(0:3) *(6节)
A = 0 0 0 4 5 6 8 10 12 12 15 18
格式紧凑的[C W B] =出租车(A)
3 . C = 0 4 8 12 w = 0 5 b = 0

二阶

在这个例子中,即使是随意的检查也会显示出等级。请注意,一个是长方形的。

一个=重塑(桥、4、6)'
A = 12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
[C W B,关口,行]=出租车(A)
C = 1 2 5 6 9 10 13 14 17 18 21 22 W = 1 2 5 6 6 B = 1 2 3 4 5 6 7 8 cols = 1 2 rows = 1 2
排名=长度(峡路)
排名= 2

满秩

如果A是平方且非奇异的,则C = B = W = A。

例如,

一个=帕斯卡(3)
A = 1 1 1 1 2 3 1 3 6
[C W B] =出租车(A)
C = 1 1 1 1 2 3 1 3 6 w = 1 1 1 1 1 2 3 1 3 6 b = 1 1 1 1 1 2 3 1 3 6

富兰克林幻方

富兰克林半幻大约在1752年被认为是本杰明·富兰克林发明的。富兰克林写给他同事的一封信包含在下面引用的富兰克林的论文中。

富兰克林方阵的所有行和列都有必要的神奇和,但对角线没有,所以这个矩阵不是完全神奇的。然而,许多其他有趣的子矩阵是神奇的,包括弯曲的对角线和围绕中心对称排列的任何八个元素。

这个8 × 8矩阵的秩是多少?

一个=富兰克林(8)
4 = 52 61 13 20 29 36 45 14 62 51 46 35 30 19 53 60 5 12 21 28 37 44 11 6 59 54 43 38 27 22 55 58 7 10 23 26 39 42 9 8 57 56 41 40 25 24 50 63 2 15 18 31 34 47 16 1 64 49 48 33 32 17

很难把富兰克林平方看成是线性变换,但是出租车仍然可以计算它的秩。

[C W B] =出租车(A)
C = 52 61 4 14 3 62 53 60 5 11 6 59 55 58 7 9 8 57 63 2 16 1 64 W = 52 61 4 61 3 62 53 60 5 B = 52 4 13 20 29 36 45 14 3 62 51 46 35 30 19 53 60 5 12 21 28 37 44

所以秩只有3。

计算C *发票(W) * B引入了一些舍入误差。

测试= C *发票(W) * B;显示器(“测试”
测试= 52.00 61.00 4.00 13.00 20.00 29.00 36.00 45.00 14.00 3.00 62.00 51.00 46.00 35.00 30.00 19.00 53.00 60.00 5.00 12.00 21.00 28.00 37.00 44.00 11.00 6.00 59.00 54.00 43.00 38.00 27.00 22.00 55.00 58.00 7.00 10.00 23.00 26.00 39.00 42.00 9.00 8.00 57.00 56.00 41.00 40.00 25.00 24.00 50.00 63.00 2.00 15.00 18.00 31.00 34.00 47.00 16.00 1.0064.00 49.00 48.00 33.00 32.00 17.00

舍入测试精确地再现了富兰克林的幻方。

反斜杠和正斜杠

用(C/W)*B或C*(W\B)计算C*inv(W)*B通常更准确。如果A有整数元素,你可以尝试round(C/W*B)或round(C*(W\B))。

这个5 × 5矩阵是故意构造的,这样它的秩不足就不明显了。

一个=画廊(5)
A = -9 11 -21 63 -252 70 -69 141 -421 1684 -575 575 -1149 3451 -13801 3891 -3891 7782 -23345 93365 1024 -1024 2048 -6144 24572
[C W B] =出租车(A)
C = 9 11 -21 63 70 -69 141 -421 -575 575 -1149 3451 3891 -3891 7782 -23345 1024 -1024 2048 -6144 W = 9 11 -21 63 70 -69 141 -421 -575 575 -1149 3451 3891 -3891 7782 -23345 B = 9 11 -21 63 -252 70 -69 141 -421 1684 -575 575 -1149 3451 -13801 3891 -3891 7782 -23345 93365
排名=大小(W, 1)
排名= 4

在这个例子中,W是温和的坏脾气的。

kappa =电导率(W)
k = 2.4301 e + 04

有三种重建方式一个

invw = C *发票(W) * B;返回= (C/W) * B;forex = C * (W\B);

反演的相对误差受条件的影响W,而反斜杠和正斜杠几乎要精确五个数量级,

格式erelerr = [norm(A-invw) norm(A-fore) norm(A-back)]/norm(A)
Relerr = 2.1266e-13 4.7760e-18 3.7217e-17

将这三个数中的任何一个舍入为整数都会产生一个完全正确。

=轮(C *发票(W) * B)
A = -9 11 -21 63 -252 70 -69 141 -421 1684 -575 575 -1149 3451 -13801 3891 -3891 7782 -23345 93365 1024 -1024 2048 -6144 24572

Gauss-Jordan

计算的算法rref是高斯-约当消去法,它在数值分析界的名声不太好。在听我描述了这个算法的恶名之后,吉尔在序言中写道我们的调查高斯-乔丹是“昂贵的和数字上的危险”。

“昂贵”的部分很容易解释。的计算rref在主元的上面和下面的列中都引入零,而高斯消去法只在主元下面引入零。更少的工作。我们可以用一个融合的乘加指令(FMA)来衡量计算复杂度,该指令将两个浮点值相乘,然后在一次操作中将第三个值加到结果上。对于一个大的n × n系统,高斯约当约需要(1/2)n^3的FMAs,而高斯消去约需要更少的(1/3)n^3的FMAs。

然而,我们并不打算这样做CR出租车用于大型矩阵。就我们的目的而言,即使使用两次高斯-约当也不贵。

高斯-乔丹名声中“数字上的危险”部分更加微妙。它来自于解一个线性方程组A * x =通过计算rref对于增广矩阵,[b].另一方面,高斯消去法可以找到三角因子lU然后计算x通过替换回来。我们可以说高斯消去法是部分消元,而高斯约当是完整的消除。Jim Wilkinson和Gwen Peters在1975年的论文中对这两种方法进行了比较。高斯消去法几乎总是计算附近系统的解,但对于增广矩阵上的高斯约当却不能这样说。

然而,我们没有使用任何一种形式的消去来实际计算出租车因素;rref只是选择指数。的矩阵CWB出租车(A)余子式的一个.它们当然是准确的。有两个潜在的数字困难——W可能是条件不良,也可能是尺寸不对。

条件

如果一个是严重的?然后W必须继承这种条件。下面是一个例子。开始

n = 12;U = eye(n,n) - triu(ones(n,n),1)
U = 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 00 0 0 1

U是严重的。电导率(U, 1)电导率(U,正)都等于n * 2 ^ (n - 1)

一个= U ' * U
= 1 1 1 1 1 1 1 1 1 1 1 1 1 2 0 0 0 0 0 0 0 0 0 0 1 0 3 1 1 1 1 1 1 1 1 1 1 0 1 4 2 2 2 2 2 2 2 2 1 0 1 2 5 3 3 3 3 3 3 3 1 6 0 1 2 3 4 4 4 4 4 7 4 1 0 1 2 3 4 5 5 5 5 5 1 0 1 2 3 4 5 6 8 6 6 6 1 0 1 2 3 4 5 6 7 9 7 7 10 1 0 1 2 3 4 5 6 7 8 8 1 0 1 2 3 4 5 6 7 8 9 11 1 0 1 2 3 4 5 6 7 8 9 12

一个对称、正定、满秩。的行列式一个等于1。我找不到一个简洁的公式气孔导度(A),但我知道它长得像4 ^ n

一个是满秩的,是吗一个= C *发票(W) * B分解必须= *发票(A) *

[C W B] =出租车(A);test = [isequal(C,A) isequal(W,A) isequal(B,A)]
Test = 1×3 logical array 1 1 1

W是严重的。发票(W)有大量的元素。

Winv =发票(W)
Winv =列1到6 1398102 699051 349526 174764 87384 43696 699051 349526 174763 87382 43692 21848 349526 174763 87382 43691 21846 10924 174764 87382 43691 21846 10923 5462 87384 43692 21846 10923 5462 2731 43696 21848 10924 5462 2731 1366 21856 10928 5464 2732 1366 683 10944 5472 2736 1368 684 342 5504 2752 1376 688 344 172 2816 1408 70448 352 176 88 1536 768 384 192 96 1024 512 256 128 64 32列7到12 21856 10944 5504 2816 1536 1024 10928 5472 2752 1408 768 512 5464 2736 1376 704 384 256 2732 1368 688 352 192 128 1366 684 344 176 96 64 683 342 172 88 48 32 44 342 171 86 24 171 86 43 22 12 8 86 43 22 11 6 4 44 22日11 6 3 2 24 12 6 3 2 1 16 8 4 2 1 1
logWinv =地板(log2 (Winv))
logWinv = 20 19 18 17 16 15 14 13 12 11 10 10 19 18 17 16 15 14 13 12 11 10 9 9 18 17 16 15 14 13 12 11 10 9 8 8 17 16 15 14 13 12 11 10 9 8 7 7 16 15 14 13 12 11 10 9 8 7 6 6 15 14 13 12 11 10 9 8 7 6 5 5 14 13 12 11 10 9 8 7 6 5 4 4 13 12 11 10 9 8 7 6 5 4 3 3 12 11 10 9 8 7 6 5 4 3 2 2 11 10 9 8 7 10 6 5 4 3 2 1 1 9 8 7 6 5 4 3 2 1 1 0 10 9 8 76 5 4 3 2 1 0 0

沿着…的对角线logWinv(n, n)(1,1)

Winv (1,1) > 4 ^ (n - 2)
逻辑1

一个接近一个低秩的矩阵?答案是肯定的,但低阶近似来自SVD。

出租车和圣言

圣言会是揭示因子分解的最终秩,但它实际上并没有试图计算秩。

[U, V] =圣言(A)

计算一组完整的奇异值和向量,就好像矩阵有满秩一样。奇异值,s =诊断接头(s),按递减顺序索引,

S(1) >=…>= s(r) >= s(r+1)…

您可以将奇异值与公差进行比较,以获得近似的秩和因子分解。

有效等级的选择是由Eckart-Young-Mirsky定理:如果基于“增大化现实”技术近似是通过选择秩得到的吗r

基于“增大化现实”技术= U (:, 1: r) * S (1: r, 1: r) * V (:, 1: r) '

误差的范数是被省略的第一项所限制的,

范数(A - Ar,2) <= s(r+1)

如果奇异值迅速减少,则仅用少量项就可实现精确的低秩近似。

另一方面,出租车从矩阵本身的列和行中选择基。没有埃克特-杨定理CR出租车分解。

我们打算CR出租车用于课堂上的小矩阵,通常是整数项。我们将用SVD和随机矩阵分解来处理大问题。

参考文献

本杰明·富兰克林,本杰明·富兰克林的论文(1750-53年,第44卷,给彼得·柯林森)(美国哲学学会和耶鲁大学)第392页。https://franklinpapers.org/framedVolumes.jsp?vol=4&page=392a

“带旋转的高斯-约当消去法的稳定性”,ACM通讯18, 1975,第20-24页。https://dl.acm.org/doi/10.1145/360569.360653,也在http://www.stat.uchicago.edu/~lekheng/courses/302/gauss-jordan2.pdf

附言

本·富兰克林也可以为今天的帖子提供图片。

一个=富兰克林(8);(~, ~, B) =出租车(A);情节(B)




发布与MATLAB®R2021a

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。