完成旋转和阿达玛矩阵

几年来,我们一直认为阿达玛矩阵在完全旋转的高斯消去中具有最大的元素增长。我们错了。

内容

完全旋转生长因子

我想继续我的讨论上一篇博文高斯消去过程中元素生长的。假设我们正在解一个线性方程组,其中包含阶为n的矩阵a。设$a_{i,j}^{(k)}$表示第$k步消去后矩阵中的元素。回想一下生长因子对于我们正在使用的旋转过程是数量$$ \rho_n = {\max_{i,j,k} |a_{i,j}^{(k)}| \over \max_{i,j} |a_{i,j}|} $$完全旋转旨在通过在约简的每一步中使用行和列交换来控制生长因子,将整个未约简矩阵中的最大元素带入主位置。在他1962年对高斯消去法舍入误差的分析中,J. H.威尔金森证明了完全旋转的生长因子满足$$ \rho_n \le g(n) $$生长函数$$ g(n) = (n \ 2 \ 3^{1/2} 4^{1/3} \cdots n^{1/2} /(n-1)})^{1/2}约1.8 \ n^{1/2} n^{1/4 \log{n}} $$威尔金森的分析清楚地表明,增长实际上永远不可能接近这么大。我们看到部分旋转的增长因子是$2^{n-1}$。对于完全旋转,它要小得多。为了更好地理解,将$g(n)$表示为MATLAB的一行程序
G = @(n)√(n*prod((2:n).^(1:(n-1))))) .
g = function_handle值:@ (n) sqrt (n * prod ((2: n)。^ (1. / (1:(n - 1)))))
检查$n = 100$
g (100)
Ans = 3.5703e+03
这里g(n)大约是35n。

阿达玛矩阵

雅克·阿达玛尔是法国数学家,生于1865年,卒于1963年。从数论到偏微分方程,他在许多领域都有贡献。以他命名的矩阵有+1和-1项,行和列相互正交。由阿达玛矩阵的行所张成的$n$维平行四边形在由元素以1为界的矩阵所张成的所有平行四边形中具有最大的可能体积。我们对MATLAB中的阿达玛矩阵感兴趣是因为它们是阿达玛变换的基础,阿达玛变换与傅里叶变换密切相关。它们也适用于纠错码和统计学中的方差估计。MATLAB已经有了阿达玛函数。这是8 × 8的阿达玛矩阵。
H = hadamard(8)
H = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
检查这些行是否互相垂直。
H的* H
ans = 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 8 0 0 0 0 0 0 0 0 8
在高斯消去过程中,行间的正交性导致了元素的增长。如果我们要求LU因式分解H在美国,实际上没有发生转向,但完全转向也会产生同样的结果,使关系向有利于现任总统的方向发展。
[L,U] = lu(H)
L = 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 U = 1 1 1 1 1 1 1 1 0 2 0 2 0 2 0 2 0 0 2 2 0 0 2 2 0 0 0 4 0 0 0 4 0 0 0 0 2 2 2 2 0 0 0 0 0 4 0 4 0 0 0 0 0 0 4 4 0 0 0 0 0 0 0 8
这是一个矩阵$n = 8,其中$$ \rho_n = n $

(n)等于n吗?

近30年来,每个人都认为阿达玛矩阵是极端情况,并且用实矩阵进行完全旋转的增长因子$\rho_n$等于$n$。在20世纪60年代和70年代的不同时期,我个人做了一些数值实验,寻找具有大枢轴增长的矩阵。当时我拥有的计算机将我的矩阵的顺序限制在几十个。我从未发现任何$\rho_n > n$的案例。加州雪佛龙研究所的伦纳德·托恩海姆(Leonard Tornheim)就是研究这个问题的人之一。他还做了很多数值实验。他发现了一个带有$\rho_3 > 3$的3乘3复矩阵。他还证明了对于实矩阵,$\rho_3 = 2 \ 1/4$。1968年,Colin Cryer提出了一个官方猜想:对于实矩阵,$\rho_n$等于$n$。1988年简·戴和布莱恩·彼得森的一篇论文对当时已知的完全旋转的元素增长进行了很好的调查。

尼克·古尔德的惊喜

然后,在1991年,来自牛津大学的尼克·古尔德(Nick Gould)宣布发现了一个实矩阵,它的完整旋转$\rho_n$大于$n$,这让我们所有人都感到惊讶。对于一个$n$ × $n$矩阵,其中$n$在13到16之间,Nick建立了一个大型、稀疏、非线性优化问题,涉及大约$n^3/3$变量,并用他和同事Andy Conn和Philippe Toint开发的LANCELOT包解决了这个问题。他的大部分论文都是关于一个13 × 13矩阵的,它的值为$$ \rho_{13} = 13.0205,这仅仅超过了$\rho_n = n$猜想。但他也发现一些稍大的矩阵做得更好。$$ \rho_{14} = 14.5949 $$ $$ \rho_{15} = 16.1078 $$ $$ \rho_{16} = 18.0596 $$ 16乘16是特别引人注目的,因为它不是一个阿达玛矩阵。所以,据我所知,这就是今天的问题所在。没人有兴趣做更大的实验。我不知道$\rho_{100}美元或$\rho_{1000}美元可能是什么。当然,我们真的不需要知道,因为我们在实践中没有使用完全旋转。

P ^ 8

这让我想起了一个我喜欢讲的故事。我不确定这是不是真的。彼德·布辛格是斯坦福大学数学和计算机科学专业的研究生那时我也在60年代初。他与Gene Golub合作编写了第一个使用Householder反射的QR矩阵分解的Algol程序。彼得离开了斯坦福,加入了贝尔实验室乔·特劳布的团队,该团队正在开发他们所谓的数学软件波特库。他们从其他人那里导入程序,在贝尔实验室的机器上运行程序,彻底测试软件,决定哪些代码是最好的,并生成一个统一的库。彼得负责矩阵计算。他检查了所有进口的线性方程解算器,包括我的。他认为没有一个是令人满意的,因为这个旋转增长问题。所以他自己写了一个程序来做部分旋转,并监测增长。 If the growth was too large, the program switched to complete pivoting. At the time, Bell Labs was trying to patent software, so Peter named his new subroutine "P^8". This stood for "Peter's Pseudo Perfect Partial Pivot Picker, Patent Pending". In my opinion, that is one of the great all time subroutine names. The experience inspired Peter to go to law school at night and change jobs. He switched to the Bell Labs patent department. I've lost contact with Peter, so I can't ask him if he really did name the routine P^8. If he didn't, he should have.

车绕轴旋转

我在上一篇文章中提到过Les Foster,他发现了部分旋转的指数增长的例子,他提出了他所谓的“鲁克旋转”。沿着列向下搜索最大的元素,就像部分旋转一样,但也要沿着那一行搜索最后一个元素。这是部分旋转和完全旋转之间的中间部分。Les能够证明一些关于枢轴生长的结果。但该算法不能很好地推广到块形式。

92号骑士团的阿达玛。

我见证了阿达玛矩阵历史上的一个里程碑。正交条件意味着阿达玛矩阵的阶$n$必须是1、2或4的倍数。但问题仍然存在,对于每一个$k$是否存在一个阶为$n = 4k$的阿达玛矩阵?这是数论中的一个悬而未决的问题。创建某种大小的阿达玛矩阵是相当容易的。递归是一种生成2次幂的阿达玛矩阵的好方法。
H = 1;N = 2,4,8,...H = [H H H -h];结束
如果一个而且B是阿达玛矩阵,那么也是
克隆亚麻(A, B)
到1961年,通过这些和其他类似的构造,人们已经知道如何构造除$n = 92$之外的所有阶为4的倍数的阿达玛矩阵。1961年,我在加州理工学院喷气推进实验室(JPL)做暑期工。我的办公室在一辆临时拖车里,我的拖车伙伴是伦恩·鲍默特。莱恩自豪地向我展示了他刚刚制作的彩色图片,他打算用它来做封面科学美国人.这是一个92乘92的矩阵,由23乘23块交替的亮、暗单元格组成,分别代表+1和-1。这张图没上封面科学美国人,但我保存了很长一段时间。Len在喷气推进实验室的机器上做了一个计算,填充了小于100的$n$的最后一个值。他与同事南加州大学教授索尔·戈罗姆(Sol Golomb)和加州理工学院教授小马歇尔·霍尔(Marshall Hall, Jr.)的论文发表在著名的美国医学科学院公报上。原来我在加州理工学院上过一门关于差分集的课程,这门课涉及到生成矩阵的数学。这是一个MATLAB图Baumert92.你可以得到这个函数这个链接
H = Baumert92;pcolor92 (H);
我们来看看是否得到了预期的枢轴增长。
[L,U] = lu(H);unn = U(end,end)
Unn = 92.0000

参考文献

关于Trefethen和Bau的书的参考本应该包含在我之前关于部分旋转的文章中。第22讲在实践中解释了部分旋转的稳定性。Lloyd N. Trefethen和David Bau, III,数值线性代数< http://bookstore.siam.org/ot50>, SIAM, 1997, 362页。Peter Businger, "监测高斯消去的数值稳定性"< http://link.springer.com/article/10.1007/BF02165006>,数字数学16,4,1971,360-361。简·戴和布莱恩·彼得森,《高斯消去中的增长》< http://www.jstor.org/stable/2322755《美国数学月刊》,95,6,1988,489-513。Nick Gould,“完全旋转高斯消去中的生长”,< http://www.numerical.rl.ac.uk/people/nimg/pubs/Goul91_simax.pdf中国机械工程学报(自然科学版),1998,18(4):366 - 366。莱斯利福斯特,“生长因子和效率的高斯消去与车旋转”,< http://www.math.sjsu.edu/福斯特/ gerpwithcor.pdf《计算与应用数学学报》,1997,37(4):357 - 357。莱斯利·福斯特,“LURP:基于车旋转的高斯消去”,matlabcentral / fileexchange / 37721 -车-旋转, MATLAB中央文件交换,2012。莱昂纳德·鲍默特、s·w·戈罗姆和马歇尔·霍尔,《发现92阶阿达玛矩阵》,< http://dx.doi.org/10.1090%2fs0002 - 9904 - 1962 - 10761 - 7>,美国数学学会公报68(1962),237-238。

发布与MATLAB®R2018a

|

评论

如欲留言,请点击在这里登录您的MathWorks帐户或创建一个新帐户。