克利夫角:克利夫Moler的数学和计算

科学计算,数学和更多

多项式和矩阵的Pejorative歧管,第1部分

在1972年一份未发表的技术报告《保护汇流抑制病态状态》中,Velvel Kahan创造了这个描述性术语贬义的廖.如果你不在日常对话中使用它,贬义的意思是“表达蔑视或不赞成”。

Velvel的报告涉及具有多个根的多项式,通常被认为是蔑视的,因为它们是如此糟糕的条件。但是Velvel的关键观察是,虽然多根根对任意扰动敏感,但它们对保护多重性的扰动不敏感。相同的观察可以应用于矩阵逆和特征值。

内容

歧管

在这个例子中,贬损流形$\mathcal{M}$是所有六次多项式的集合,这些多项式在x = 3处的倍数为0或3。当然,这些都是严格的限制,$\mathcal{M}$是所有多项式集合的一个很小的子集。但是如果我们保持在$\mathcal{M}$的范围内,生活就不会那么残酷了。

两个多项式

首先是一对有多重根的多项式。所有的多项式在x = 3处都有一个3的根还有其他的根。这个在x = 1处有二重根在x = 2处有单根。

x = sym('X');p1 = (- 3) ^ 3 * (x - 2) * (x - 1) ^ 2;

$$ p1 = {\ left(x-1 \右)} ^ 2 \,\ left(x-2 \右)\,{\ left(x-3 \ revent)} ^ 3 $$

下一个在x = 2处有二重根在x = 1处有单根。

p2 =(x-3)^ 3 *(x-2)^ 2 *(x-1);

$ $ p2 =左(x - 1 \) \ \{\左(x - 2 \右)}^ 2 \{\左(- 3 \右)}^ 3 $ $

总结一下,我们有两个多项式,p1p2.它们都有六次,在x = 3处有三重根。此外,pk在x =下有一个双根K.

确认

让我们看看系数。

p1 =展开(p1);

$ $ p1 = x ^ 6-13 \, x ^ 5 + 68 \, x ^ 4 - 182 \, x ^ 3 + 261 \, x ^ 2 - 189 \ x + 54 $ $

p2 =扩大(p2);

$$ p2 = x ^ 6-14 \,x ^ 5 + 80 \,x ^ 4-238 \,x ^ 3 + 387 \,x ^ 2-324 \,x + 108 $$

我们可以精确地解出它们并验证它们是否有期望的根。

Z1 =解(p1)' z2 =解(p2)'
Z1 = [1, 2, 2, 3, 3] Z1 = [1, 2, 2, 3, 3] Z1 = [1, 2, 2, 3, 3] Z1 = [1, 2, 2, 3, 3]

凸组合

现在让我们采取凸线性组合。我正在使用1/3和2/3,但只要他们的总和,我可以使用任何其他权重。任何此类凸线性组合仍处于$ \ mathcal {m} $。

P3 = 1/3*p1 + 2/3*p2;

$ $ p3 = x ^ 6 - \压裂{41 \,x ^ 5} {3} + 76 \, x ^ 4 - \压裂{658 \,x ^ 3} {3} + 345 \, x ^ 2 - 279 \ x + 90 $ $

它在x = 3处仍然有三重根。在x = 1和x = 2处的根是简单的在x = 5/3处的根是1和2的凸线性组合具有相同的系数,5/3 = 1/3*1 + 2/3*2。

z =解决(p3) '
Z = [1,5 / 3,2,3,3,3]

看看这三个多项式的图,你就能明白3的三重根是如何比1的蓝色二重根或2的绿色二重根更敏感,而蓝色二重根和任何一个单根都更敏感。

plot_polys(p1,p2,p3)

浮点阴霾

现在是一个小的繁荣。采用凸线性组合,具有不合理的重量和使用VPA.,可变精度浮点算术。我们处于浮点阴霾,厚度为10 ^ { - 32} $周围$ \ mathcal {m} $。

数字(32)W = 2 /(1 + SQRT(VPA(5)))Q = W * P1 +(1-W)* P2;z = w * 1 +(1-w)* 2
w = 0.61803398820498948482045894848204589484820458948482045894848204589484820458948482045868348204589484820498683436564 z = 1.3819660112501051517954131656344

这是系数。

disp(多项式系数(q)”)
74.626164607505678196952310944256 - 240.5654115187641954923807736064 309.1277174175132491222205886993 - 203.3900966300058885005413727552 72.5835921350061821544957987612 -13.381966011250105151795413165634 1.0

找到根源。

z =解决(q)
z = 1.0000000000000000000000000000003 1.3819660112501051517954131656331 - 2.0000000000000000000000000000026 3.0000000000990590107064189257617 - 2.9999999999504704946467905371184 2.9999999999504704946467905371184 - 0.000000000085787619734391393745538952850968 + 0.000000000085787619734391393745538952850968我

这些简单的根已经完全准确地存活下来。但是在x = 3处的三重根已经被扰动分解成三个复数,在一个以x = 3为圆心的圆上,半径大约是工作精度的立方根。

圆(双(z (4:6) 3))

精度的立方根从何而来?我们正在努力解这个方程

$$ {\ left(x-3 \右)} ^ 3 \,\ sigma(x)= 0 $$

其中$\sigma(x)$在$x = 3$附近不是零。使用精度为$\epsilon$的浮点运算,我们解决类似这样的问题

$ ${\左(- 3 \右)}^ 3 \ \σ(x) = \ε$ $

解决方案是

左($ $ x = 3 + \ \压裂{\ε}{\σ(x)} \右)^ {1/3}$ $

通过立方体根占用三个不同的复杂值。

双精度

让我们简单地离开符号工具箱。利用传统的MATLAB函数,将凸组合的系数转换为双精度

q = pliplr(双(p3))';DISP(“q = ')流(“% 25.15 f \ n”, q)格式z =根(q)
q = 1.000000000000000 -13.666666666666666 76.000000000000000 -219.333333333333343 345.000000000000000 -279.000000000000000 90.000000000000000 z = 3.000044739105571 + 0.000077484446947我3.000044739105571 - 0.000077484446947 2.999910521787618 + 0.000000000000000 2.000000000002179 1.666666666665676 + 0.000000000000000 + 0.000000000000000我1.000000000000047 + 0.000000000000000我

这和32位的情况是一样的VPA..在x = 1, 5/3,和2处的单根计算到几乎完全的双精度精度,而三根有大致的精度EPS ^(1/3),大约是五位数。

圆(z (1:3) 3)

从多方面冒险

从多项式中的常数项减去一个小的量。这将我们移出$\mathcal{M}$。

P = p1 - sym(1.e-4)
P = x^6 - 13*x^5 + 68*x^4 - 182*x^3 + 261*x^2 - 189*x + 539999/10000

我们可以试着找到正确的根,但是修正后的多项式不能对有理数进行因式分解。

解决(p)
ans =根(z z ^ ^ 6 - 13 * 5 + 68 * z z ^ ^ 4 - 182 * 3 + 261 * z ^ 2 - 189 * z + 539999/10000, z, 1)根(z z ^ ^ 6 - 13 * 5 + 68 * z z ^ ^ 4 - 182 * 3 + 261 * z ^ 2 - 189 * z + 539999/10000, z, 2)根(z z ^ ^ 6 - 13 * 5 + 68 * z z ^ ^ 4 - 182 * 3 + 261 * z ^ 2 - 189 * z + 539999/10000, z, 3)根(z z ^ ^ 6 - 13 * 5 + 68 * z z ^ ^ 4 - 182 * 3 + 261 * z ^ 2 - 189 * z + 539999/10000, z,4)根(z^6 - 13*z^5 + 68*z^4 - 182*z^3 + 261*z^2 - 189*z + 539999/10000, z, 6)

所以用数字地找到根部VPA..这一次,所有的根,甚至是简单的根,都受到了影响。

数字(20)z = VPA(求解(P))
Z = 0.99647902944714147447474474747014147444412814744494814814744941-0.02025814444941-0.0202581444941 + 0.02589807394814444941 + 0.02589807394814744941 + 0.020258984073977814744941 + 0.028984073i 3.028691998657939186579391324

我们建造p1在X = 1处具有双根,在x = 2处具有简单的根,并且在x = 3处的三根root。它们的多重测定占地面系影响了多少。

E = abs(double(z - z1'))
e = 0.003520030642308 0.02999039990 0.0290 0.029599900039990 0.02959903999 0.0295203999 0.0295203999 0.0295203906352 0.06352 0.06352 0.0286982906352 0.028691998657939

未完待续

我正在制作一个双击。这下一篇文章是关于矩阵特征值。

关闭

参考文献

中港曾,多项式的故事,PowerPoint演示文稿。< http://homepages.neiu.edu/ ~ zzeng / neiu.ppt>,2003年。

W. Kahan,汇率汇率抑制病情。技术报告6,加利福尼亚大学计算机科学,1972年伯克利大学。




发布与MATLAB®R2019B

|

评论

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