9: Адекватність рішень
Прочитавши цю главу, ви повинні мати можливість:
- знати різницю між погано обумовленими та умовленими системами рівнянь,
- визначити і знайти норму матриці
- визначити та оцінити номер умови оборотної квадратної матриці
- співвіднести номер умови матриці коефіцієнтів з поганим або свердловинним кондиціонуванням системи одночасних лінійних рівнянь, тобто наскільки можна довіряти розв'язку одночасних лінійних рівнянь.
Що ви маєте на увазі під погано обумовленою та умовленою системою рівнянь?
Система рівнянь вважається добре обумовленою, якщо невелика зміна матриці коефіцієнтів або невелика зміна правого боку призводить до невеликої зміни вектора розв'язку.
Система рівнянь вважається погано обумовленою, якщо невелика зміна матриці коефіцієнтів або мала зміна правого боку призводить до великої зміни вектора розв'язку.
Чи добре обумовлена ця система рівнянь?
[1223.999][xy]=[47.999]
Рішення
Рішення вищевказаної множини рівнянь є
[xy]=[21]
Зробіть невелику зміну правого вектора рівнянь
[1223.999][xy]=[4.0017.998]
дає
[xy]=[−3.9994.000]
Зробіть невелику зміну в матриці коефіцієнтів рівнянь
[1.0012.0012.0013.998][xy]=[47.999]
дає
[xy]=[3.9940.001388]
Ця остання система рівняння «виглядає» погано обумовленою, оскільки невелика зміна матриці коефіцієнтів або правої сторони призвела до великої зміни вектора розв'язку.
Чи добре обумовлена ця система рівнянь?
[1223][xy]=[47]
Рішення
Рішення вищевказаних рівнянь є
[xy]=[21]
Зробіть невелику зміну правого вектора рівнянь.
[1223][xy]=[4.0017.001]
дає
[xy]=[1.9991.001]
Зробіть невелику зміну в матриці коефіцієнтів рівнянь.
[1.0012.0012.0013.001][xy]=[47]
дає
[xy]=[2.0030.997]
Ця система рівнянь «виглядає» добре обумовленою, оскільки невеликі зміни в матриці коефіцієнтів або правій частині призвели до невеликих змін вектора розв'язку.
Отже, що робити, якщо система рівнянь погано умовлена або добре умовлена?
Ну, якщо система рівнянь погано обумовлена, ми не можемо довіряти рішенню так сильно. Повторно переглядайте задачу швидкості, приклад 5.1 у главі 5. Значення в матриці коефіцієнтів[A] є квадратами часу тощо Наприклад, якщо замістьa11=25, вас використовується, виa11=24.99, хочете, щоб ця невелика зміна мала мала значення у векторі розв'язку. Якби це сталося, ви б довіряли рішенню?
Пізніше ми побачимо, скільки (кількісних термінів) ми можемо довіряти розв'язку в системі рівнянь. Кожна оборотна квадратна матриця має номер умови і в поєднанні з машиною epsilon, ми можемо кількісно оцінити, скільки значущих цифр можна довіряти в рішенні.
Щоб обчислити номер умови оборотної квадратної матриці, мені потрібно знати, що означає норма матриці. Як визначається норма матриці?
Так само, як і детермінант, норма матриці - це просте унікальне скалярне число. Однак норма завжди позитивна і визначається для всіх матриць — квадратних або прямокутних, а також оборотних або незворотних квадратних матриць.
Одне з популярних визначень норми - норма суми рядків (також називається рівномірно-матричною нормою). Дляm×n[A] матриці норма суми рядків[A] визначається як
‖A‖∞=max1≤i≤mn∑j=1|aij|
тобто знайти суму абсолютного значення елементів кожного рядка матриці[A]. Максимум зm таких значень - норма суми рядків матриці[A].
Знайти норму суми рядків наступної матриці [A].
A=[10−70−32.09965−15]
Рішення
‖A‖∞=max1≤i≤33∑j=1|aij|=max[(|10|+|−7|+|0|),(|−3|+|2.099|+|6|),(|5|+|−1|+|5|)]=max[(10+7+0),(3+2.099+6),(5+1+5)]=max[17, 11.099, 11]=17
Як норма пов'язана з кондиціонуванням матриці?
Почнемо відповідати на це питання на прикладі. Повертаємося до погано обумовленої системи рівнянь,
[1223.999][xy]=[47.999]
що дає рішення як
[xy]=[21]
Позначення наведеного вище набору рівнянь як
[A][X]=[C]
‖X‖∞=2
‖C‖∞=7.999
Здійснюючи невелику зміну в правій частині,
[1223.999][xy]=[4.0017.998]
дає
[xy]=[−3.9994.000]
Позначення вищевказаного набору рівнянь
[A][X′]=[C′]
правий бік вектор знаходить по
[ΔC]=[C′]−[C]
і зміна вектора розв'язку знаходить
[ΔX]=[X′]−[X]
потім
[ΔC]=[4.0017.998]−[47.999]=[0.001−0.001]
і
[ΔX]=[−3.9994.000]−[21]=[−5.9993.000]
потім
‖ΔC‖∞=0.001
‖ΔX‖∞=5.999
Відносна зміна норми вектора розчину дорівнює
‖ΔX‖∞‖X‖∞=5.9992
=2.9995
Відносна зміна норми вектора правого боку дорівнює
‖ΔC‖∞‖C‖∞=0.0017.999
=1.250×10−4
1.250×10−4Див. Мала відносна зміна норми правого вектора призводить до великої відносної зміни норми вектора розв'язку 2,9995.
По суті, співвідношення між відносною зміною норми вектора розв'язку і відносною зміною норми правого вектора дорівнює
‖ΔX‖∞/‖X‖∞‖ΔC‖∞/‖C‖∞=2.99951.250×10−4=23993
Давайте тепер повернемося до добре обумовленої системи рівнянь.
[1223] [xy]=[47]
дає
[xy]=[21]
Позначення системи рівнянь по
[A][X]=[C]
‖X‖∞=2
‖C‖∞=7
Внесення невеликої зміни в правій частині вектора
[1223][xy]=[4.0017.001]
дає
[xy]=[1.9991.001]
Позначення вищевказаного набору рівнянь
[A][X′]=[C′]
зміна вектора правого боку потім знаходить
[ΔC]=[C′]−[C]
і зміна вектора розв'язку
[ΔX]=[X′]−[X]
потім
[ΔC]=[4.0017.001]−[47]=[0.0010.001]
і
[ΔX]=[1.9991.001]−[21]=[−0.0010.001]
потім
‖ΔC‖∞=0.001
‖ΔX‖∞=0.001
Відносна зміна норми вектора розчину дорівнює
‖ΔX‖∞‖X‖∞=0.0012=5×10−4
Відносна зміна норми вектора правого боку дорівнює
‖ΔC‖∞‖C‖∞=0.0017=1.429×10−4
Див. Малу відносну зміну норми правого вектора1.429×10−4 результатів при малій відносній зміні вектора розв'язку норми5×10−4.
По суті, співвідношення між відносною зміною норми вектора розв'язку і відносною зміною норми правого вектора дорівнює
‖ΔX‖∞/‖X‖∞‖ΔC‖∞/‖C‖∞=5×10−41.429×10−4=3.5
Які деякі властивості норм?
- Для матриці[A],‖A‖≥0
- Для матриці[A] і скаляра k,‖kA‖=|k|‖A‖
- Для двох матриць[A] і[B] одного порядку,‖A+B‖≤‖A‖+‖B‖
- Для двох матриць[A] і[B] які можна помножити як[A] [B],‖AB‖≤‖A‖‖B‖
Чи існує загальний зв'язок, який існує між‖ΔX‖/‖X‖ і‖ΔC‖/‖C‖ або між‖ΔX‖/‖X‖ і‖ΔA‖/‖A‖? Якщо так, то це може допомогти нам визначити добре обумовлену і погано обумовлену систему рівнянь.
Якщо є такий зв'язок, чи допоможе це нам кількісно оцінити обумовлення матриці? Тобто, чи скаже це нам, скільки значущих цифр ми могли б довіряти у розв'язанні системи одночасних лінійних рівнянь?
Існує зв'язок, яка існує між
‖ΔX‖‖X‖and‖ΔC‖‖C‖
і між
‖ΔX‖‖X‖and‖ΔA‖‖A‖
Ці відносини
‖ΔX‖‖X‖≤‖A‖ ‖A−1‖‖ΔC‖‖C‖
і
‖ΔX‖‖X+ΔX‖≤‖A‖ ‖A−1‖‖ΔA‖‖A‖
Наведені вище дві нерівності показують, що відносна зміна норми правого вектора або матриці коефіцієнта може посилюватися на стільки ж, скільки‖A‖‖A−1‖.
Це число‖A‖‖A−1‖ називається умовою номер матриці і в поєднанні з машиною епсилон, ми можемо кількісно оцінити точність рішення[A] [X]=[C].
Доведіть для
[A] [X]=[C]
що
‖ΔX‖‖X+ΔX‖≤ ‖A‖ ‖A−1‖‖ΔA‖‖A‖
Доказ
Нехай
[A] [X]=[C](1)
Тоді якщо буде[A] змінено на[A′], то[X] зміниться на[X′], такий
що
[A′] [X′]=[C](2)
З рівнянь (1) і (2),
[A] [X]=[A′][X′]
Позначення зміни[X] матриць[A] і як[ΔA] і[ΔX], відповідно
[ΔA]=[A′]−[A]
[ΔX]=[X′]−[X]
потім
[A][X]= ([A]+[ΔA]) ([X]+[ΔX])
Розширення вищевказаного виразу
[A][X]= [A][X]+[A][ΔX]+[ΔA][X]+[ΔA][ΔX]
[0]=[A][ΔX]+[ΔA]([X]+[ΔX])
−[A][ΔX]=[ΔA]([X]+[ΔX])
[ΔX]=−[A]−1[ΔA]([X]+[ΔX])
Застосовуючи теорему норм, що норма множених матриць менше множення окремих норм матриць,
‖ΔX‖≤‖A−1‖‖ΔA‖‖X+ΔX‖
Множення обох сторін на‖A‖
‖A‖ ‖ΔX‖≤‖A‖‖A−1‖‖ΔA‖‖X+ΔX‖
‖ΔX‖‖X+ΔX‖≤‖A‖ ‖A−1‖ ‖ΔA‖‖A‖
Як використовувати наведені вище теореми, щоб знайти, скільки значущих цифр є правильними в моєму векторі рішення?
Відносна похибка в нормі вектора розв'язку дорівнює× відносній похибці≤ Cond (A) у нормі правого вектора.
Можлива відносна похибка в нормі вектора розв'язку дорівнює≤Cond(A)×∈mach
ЗвідсиCond(A)×∈mach слід дати нам кількість значущих цифр, m які є хоча б правильними в нашому рішенні, з'ясувавши найбільше значення m дляCond(A)×∈mach якого менше0.5×10−m.
Скільки значущих цифр можна довіряти в розв'язанні наступної системи рівнянь?
[1223.999] [xy]=[24]
Рішення
Для
[A]=[1223.999]
це може бути показано
[A]−1=[−399920002000−1000]
‖A‖∞=5.999
‖A−1‖∞=5999
Cond(A)=‖A‖‖A−1‖=5.999×5999.4=35990
Припускаючи одинарну точність з 23 бітами, що використовуються в мантиссі для дійсних чисел, машина epsilon є
∈mach=2−23=0.119209×10−6
Cond(A)×∈mach=35990×0.119209×10−6=0.4290×10−2
Для чого максимальне додатне значення m,Cond(A)×∈mach буде менше або дорівнює0.5×10−m
0.4290×10−2≤0.5×10−m
0.8580×10−2≤10−m
log(0.8580×10−2)≤log(10−m)
−2.067≤−m
m≤2.067
m≤2
Отже, дві значущі цифри є принаймні правильними в векторі розв'язку.
Скільки значущих цифр можна довіряти в розв'язанні наступної системи рівнянь?
[1223] [xy]=[47]
Рішення
Для
[A]=[1223]
це може бути показано
[A]−1=[−322−1]
Тоді
‖A‖∞=5,
‖A−1‖∞=5.
Cond (A)=‖A‖ ‖A−1‖=5×5=25
Припускаючи одинарну точність з 23 бітами, що використовуються в мантиссі для дійсних чисел, машина epsilon
∈mach=2−23=0.119209×10−6
Cond(A)×∈mach=25×0.119209×10−6=0.2980×10−5
Для чого максимальне додатне значення m,Cond(A)×∈mach буде менше або дорівнює0.5×10−m
0.2980×10−5≤0.5×10−m
m≤5
Отже, п'ять значущих цифр є принаймні правильними в векторі розв'язку.
Адекватність рішень вікторини
Норма суми рядків матриці
[A]=[6−731319−2123−294147−5161]є
(А)29
(Б)61
(С)98
(D)200
Адекватність розв'язку одночасних лінійних рівнянь[A][X]=[C] залежить від
(A) умова номер матриці коефіцієнта[A]
(B) машина епсилон
(C) номер умови для матриці[A] та машини epsilon
(D) норма матриці коефіцієнтів[A]
З огляду на набір рівнянь у матричній формі,[A][X]=[C],‖A‖=250,‖A−1‖=40andεmach=0.119×10−6, то кількість значущих цифр, яким можна хоча б довіряти розв'язку, дорівнює.
(А)1
(Б)2
(С)3
(D)4
Розв'язок множини одночасних лінійних рівнянь
[a11a12a13a21a22a23a31a32a33][x1x2x3]=[4494138]дається як
[x1x2x3]=[247]Розв'язок іншого набору одночасних лінійних рівнянь задається (зверніть увагу, що матриця коефіцієнтів така ж, як і вище)
[a11a12a13a21a22a23a31a32a33][x1x2x3]=[43.9993.98138.03]
дається як
[x1x2x3]=[214.01−208.0160]
Виходячи з норми суми рядків, номер умови матриці коефіцієнтів більше (вибираємо максимально можливе значення)
(А)1
(Б)138
(С)4500
(D)139320
Номер умови матриціn×n ідентичності на основі норми суми рядків дорівнює
(А)0
(Б)1
(С)n
(D)n2
Нехай[A]=[12+δ2−δ1]. Виходячи з норми суми рядків і враховуючиδ→0δ>0, що, умова номер матриці дорівнює
(А)3−δ3+δ
(Б)9−δ23−δ2
(С)(3+δ)23−δ2
(D)3−2δ−δ23−δ2
Адекватність рішень вправи
Адекватність розв'язку одночасних лінійних рівнянь залежить від
- Номер умови
- машина Епсілон
- Твір номера стану та машина epsilon
- Норма матриці.
- Відповідь
-
C
Якщо система рівнянь погано[A] [X]=[C] обумовлена, то
- det(A)=0
- Cond(A)=1
- Cond(A)великий.
- ‖A‖великий.
- Відповідь
-
C
ЯкщоCond(A)=104 і∈mach = 0,119× 10 -6, то в[A] [X]=[C], принаймні ці багато значущих цифр вірні у вашому рішенні,
- 0
- 1
- 2
- 3
- Відповідь
-
C
Зробіть невелику зміну в матриці коефіцієнтів[1223.999][xy]=[47.999]
і знайдіть
‖ΔX‖∞/‖X‖∞‖ΔA‖∞/‖A‖∞
Це велика чи мала кількість? Як це число пов'язане з номером умови матриці коефіцієнтів?
- Відповідь
-
Зміна[A] на
[1.0012.0012.0014.000]
Результати в розв'язці
[5999−2999]
‖ΔX‖∞‖X‖∞‖ΔA‖∞‖A‖∞=5999.720.0025.999
4=8.994×106 $
Зробіть невелику зміну в матриці коефіцієнтів
[1223][xy]=[4 7]
і знайдіть
‖ΔX‖∞/‖X‖∞‖ΔA‖∞/‖A‖∞. це велике чи маленьке число? Порівняйте свої результати з попередньою проблемою. Як це число пов'язане з номером умови матриці коефіцієнтів?
- Відповідь
-
Зміна[A] на
[1.0012.0012.0013.000]
Результати в розв'язці
[2.0030.9970]
‖ΔX‖∞‖X‖∞‖ΔA‖∞‖A‖∞=0.0032.0000.0025
=3.75
Довести
‖ΔX‖‖X‖ ‖A‖ ‖A−1‖ ‖ΔC‖‖C‖
- Відповідь
-
Використовуйте теорему, що якщо[A][B]=[C] тоді‖A‖‖B‖≥‖C‖
Для
[A]=[10−70−32.09965−15]
дає
[A]−1=[−0.1099−0.23330.2799−0.2999−0.33320.39990.049950.16666.664×10−5]
- Що таке умова номер[A]?
- Скільки значущих цифр ми можемо хоча б довіряти в рішенні[A] [X]=[C] if∈mach=0.1192×10−6?
- Не обчислюючи обернену матрицю[A], чи можете ви оцінити номер умови[A] використання теореми в задачі #6?
- Відповідь
-
А.‖A‖=17
‖A−1‖=1.033
Cond(A)=17.56Б. 5
Спробуйте різні значення правої сторони з знаками,C=[±1 ±1 ±1]T вибраними випадковим чином. Потім‖A−1‖≤‖X‖ отримане від розв'язання рівняння встановлюється[A] [X]=[C] як‖C‖=1.
Доведіть, щоCond(A)≥1.
- Відповідь
-
Ми знаємо, що
‖A B‖≤‖A‖‖B‖
то якщо
[B]=[A]−1,
‖A A−1‖≤‖A‖‖A−1‖
‖I‖≤‖A‖‖A−1‖
1≤‖A‖‖A−1‖
‖A‖‖A−1‖≥1
Cond(A)≥1