Вычислительная математика лекции
.pdfp= Aα=A(ATA)-1ATf. Матрица (ATA)-1 существует тогда и только тогда, когда матрица А является матрицей полного ранга.
Тот же самый результат можно получить аналитически следующим образом.
Нужно минимизировать квадрат длины вектора невязки
(r,r)=(Aα-f,Aα-f)→min. (r,r)=(Aα-f,Aα-f)=(Aα,Aα)-2(Aα,f)+(f,f)=(ATAα,α)-2(α,ATf)+(f,f).
Матрица ATA симметрическая размера n. Из условия минимума:
(r, r) 2AT A 2AT f 0
следует соотношение ATAα = ATf, называемое системой нормальных уравнений.
Если столбцы матрицы А линейно независимы, то матрица
ATA Rn×n обратима и единственное решение определяется формулой
α =(ATA)-1ATf.
Линейная зависимость столбцов матрицы А возникает, если базисные функции не обладают свойством независимости.
В этом случае критерий наименьших квадратов необязательно определяет единственный набор коэффициентов. Действительно, линейная зависимость базисных функций в заданных точках означает существование коэффициентов γi, среди которых есть ненулевые, таких, что
n 1
i i (xj ) 0, j=0,1,...,m 1, или, что тоже самое, A =0.
i 0
Тогда, как следует из (1), коэффициентам αi можно прибавить любое кратное коэффициентов γi, не изменяя длину вектора невязки. Важной и часто забываемой задачей при выравнивании данных методом наименьших квадратов с произвольными базисными функциями является обнаружение такой зависимости и принятие надлежащих мер.
Таким образом, задача наименьших квадратов все еще остается не до конца решенной. Как быть, если матрица ATA окажется необратимой?
203
Дополнительно нужно учитывать, что при n>5 матрица ATA становится настолько плохо обусловленной, что её обращение становится практически невозможным, даже если условия независимости базисных функций соблюдаются.
Универсальным способом решения задачи наименьших квадратов является использование сингулярного разложения.
17.2. Сингулярное разложение матрицы.
Рассматривается матрица A Rm×n.
О п р е д е л е н и е.Сингулярным разложением матрицы А с вещественными элементами называется ее представление в виде
A = UΣVT
UUT = Em , VVT = En ,
где U ортогональная матрица размера m×m; V ортогональная матрица размера n×n; Σ – диагональная матрица размера m×n с
элементами ϭkj = 0 при k ≠ j и ϭkk = ϭk ≥ 0. Em и En единичные матрицы m×m и n×n соответственно. Величины ϭk называются сингулярными числами, а столбцы матриц U и V – левыми и правыми сингулярными векторами.
Рассмотрим две симметрические матрицы AAT и ATA размера m×m
и n×n соответственно:
ATA = (UΣVT)TUΣVT = VΣTUTUΣVT = V(ΣTΣ)VT;
AAT= UΣVT( UΣVT)T = UΣVTVΣTUT = U(ΣΣT)UT.
Пусть для определенности m>n. Матрица ATA подобна матрице ΣTΣ
и имеет собственные числа, равные квадратам сингулярных чисел матрицы А ( ΣTΣ это диагональная матрица n×n с квадратами сингулярных чисел на диагонали). Аналогично первые n собственных чисел матрицы AAT также равны квадратам сингулярных чисел, а остальные m – n собственных значений равны нулю ( ΣΣT это диагональная матрица m×m с квадратами сингулярных чисел в первых n строках на диагонали и нулевыми
204
диагональными элементами в остальных m-n строках). Таким образом,
сингулярные числа есть квадратные корни из положительных собственных чисел матриц ATA или AAT.
Сингулярное разложение удобно использовать для вычисления ранга произвольной матрицы А.
Под рангом понимается число линейно независимых столбцов или строк матрицы. Если матрица диагональная, то ясно, что её ранг равен числу ненулевых диагональных элементов. Если независимая система векторов умножается на ортогональную матрицу, то полученная система попрежнему независима. Другими словами, ранг матрицы А совпадает с рангом матрицы Σ, т. е. с числом ненулевых сингулярных чисел. Можно показать, что rankA= rankAAT = rankATA.
Поскольку ранг матрицы всегда целое число, он обязательно будет разрывной функцией элементов матрицы. Произвольно малые изменения
(например , ошибки округления) в матрице неполного ранга могут сделать все её сингулярные числа ненулевыми и, следовательно, породить матрицу, формально имеющую полный ранг.
На практике используется понятие эффективного ранга – количество сингулярных чисел, удовлетворяющих условию ϭk > ε, где ε погрешность исходных данных.
Через сингулярные числа можно выразить число обусловленности матрицы полного ранга cond(A)= ϭmax/ϭmin. Это число не совпадает с ранее введенным, но обладает теми же свойствами и величиной того же порядка.
В частности для квадратной матрицы определенное таким образом число обусловленности в точности равно cond 2(A).
17.3. Метод наименьших квадратов с использованием сингулярного разложения.
Будем решать задачу наименьших квадратов для табличной
функции, сформулированную в начале раздела. Замена табличной функции
205
линейной комбинацией базовых функций приводит, как правило, к
несовместной системе линейных алгебраических уравнений Аα = f, где
A Rm×n, α Rn, f Rm . Часто m>n.
Обозначим вектор невязки r = Аα – f. Решение задачи среднеквадратичного приближения заключается в минимизации длины вектора невязки (r,r) → min.
После замены матрицы А ее сингулярным разложением система линейных алгебраических уравнений принимает вид
ΣVTα = UTf.
Обозначив
Σ = f.
Полученная система эквивалентна исходной.
Новый вектор невязки имеет вид = Σ - f. Так как замена переменных выполнялась с ортогональными матрицами, длины прежнего и нового векторов невязки совпадают.
Пусть m > n. Компоненты вектора невязки = Σ - f разбиваются на две группы
k= kϭk -f k, k=0,1,…,n-1; k =0 - f k , k =n, …, m-1.
Здесь ϭk сингулярные числа. Для удобства предполагается
ϭ0 ≥ ϭ1 ≥ … ≥ ϭn-1 ≥ 0.
При m = n вторая подсистема отсутствует. Задача среднеквадратичного приближения превращается в задачу интерполяции.
Минимум длины вектора невязки достигается, если в первой группе положить (в предположении ϭk ≠
k = f k/ϭk , k = 0,1, …, n-1.
Значение минимума длины вектора невязки определяются второй группой компонентов и для m = n (в предположении ϭk ≠ равно нулю.
206
Пусть некоторая часть ϭk , например, ϭn-1 = 0. Это означает, что матрица А матрица неполного ранга. Тогда последний из компонентов первой группы переходит во вторую, увеличивая значение минимума длины вектора невязки. Этот минимум не зависит от выбора n-1. Переходя
n 2
к исходному вектору коэффициентов α имеем α = V = vk k vn 1 n 1 .
k 0
Здесь vn-1 последний столбец матрицы V, k k=0, n 2 однозначно определенные элементы из первой подгруппы, а коэффициент задаваться произвольно. Часто полагают n-1 = 0, тем самым выделяя вектор коэффициентов α с минимальной длиной.
Если матрица А плохо обусловлена, то чувствительность решения к погрешностям исходных данных становится высокой. Для повышения надежности решения вводится параметр ε, характеризующий точность исходных данных. Сингулярные числа, меньшие ε, полагают равными нулю и соответствующие компоненты первой подгруппы переносятся во вторую.
Рассмотрим случай m < n (число столбцов матрицы Σ больше числа строк и ее последние n – m столбцов всегда нулевые ).
Если все ϭk сингулярные числа ненулевые, то вторая подгруппа компонентов отсутствует, а первая принимает вид
k= kϭk - f k, k=0,1,…,m-1.
Первые m значений k выбираются из условия k = f k/ϭk , k = 0,1, …, m-1,
обеспечивая нулевое значение длины вектора невязки. Остальные k
могут выбираться произвольно. Наиболее популярен нулевой выбор их значений.
Если некоторые ϭk = 0, то последние компоненты из первой подгруппы переходят во вторую, образуя ненулевую длину вектора
207
невязки, а количество свободно задаваемых k увеличивается на число нулевых ϭk .
18. Псевдообратная матрица.
– обобщение обратных матриц в линейной алгебре. Псевдообратная матрица к матрице А обозначается А+.
Псевдообращение можно понимать как наилучшую аппроксимацию (по методу наименьших квадратов) решения соответствующей систеиы линейных уравнений. Псевдообращение определено для любых матриц над действительными и комплексными числами. Псевдообратная матрица может быть вычислена с использованием сингулярного разложения. В
дальнейшем ограничимся рассмотрением вещественных матриц.
Пусть A Rm×n , тогда решение системы Ax=b можно записать x=A+b.
Определение. А+ называется псевдообратной матрицей для матрицы А,
если она удовлетворяет следующим критериям:
1.АА+А=А;
2.А+АА+=А+;
3.(АА+)Т=АА+ (это означает, что АА+- симметрическая матрица);
4.(А+А)Т=А+А (А+А – тоже симметрическая матрица).
Свойства:
•Псевдообращение обратимо более того эта операция обратима самой себе: (А+)+=А.
•Псевдообращение коммутирует с транспонированием
(АТ)+=(А+)Т.
• Псевдообратное произведение матрицы на скаляр α равно соответствующему произведению матрицы А+ на обратное число α-1:
(αА)+=α-1А+, для α≠0.
• Если псевдообратная матрица для АТА уже известна, она может быть использована для вычисления А+:
А+=(АТА)+АТ.
208
• Аналогично, если матрица (ААТ) уже известна: А+=АТ (ААТ)+.
Особые случаи.
• Если столбцы матрицы А линейно независимы, тогда матрица АТА
обратима. В таком случае псевдообратная матрица задается формулой А+=(АТА)-1АТ.
Отсюда следует, что А+ - левая обратная для А: А+А=Е.
• Если строки матрицы А линейно независимы, тогда матрица ААТ обратима. В таком случае псевдообратная матрица задается формулой
А+=АТ(ААТ)-1.
Отсюда следует, что А+ - правая обратная для А: АА+=Е.
• Если столбцы и строки матрицы А линейно независимы (что верно для квадратных невырожденных матриц), псевдобращение равно обращению: А+=А-1.
• Псевдообращение можно применять к скалярам ивекторам.
Псевдообращение к скаляру х – ноль, если х=0, и обратный к х=х-1 в
противном случае.
• Псевдообратный для нулевого вектора – транспонированный нулевой вектор. Псевдообратный для иного вектора транспонированный вектор, деленный на квадрат своей длины: х+=хТ/(хТх).
Для доказательства достаточно проверить, что эти величины удовлетворяют определению псевдообратных.
Вычисление
Можно показать, что А+ существует и единственна и для её построения применяется сингулярное разложение. С этой целью для
|
|
|
1 |
, если 0 |
заданного числа σ рассчитывают |
|
|
|
|
|
||||
|
|
|
||
|
|
|
0, если 0 |
|
|
|
|
Для матрицы Σ размера m×n введём матрицу Σ+ размера n×m:
209