Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Вычислительная математика лекции

.pdf
Скачиваний:
507
Добавлен:
21.03.2016
Размер:
4.05 Mб
Скачать

n 1

Pn 1(x) i i (x)

i 0

Обычно m>n. В такой постановке задача сводится к попытке решения системы линейных алгебраических уравнений Aα=f, A Rm×n,

α Rn, f Rm .

0 (x0 ) A

0 (xm 1 )

n 1 (x0 )

n 1 (xm 1)

 

 

0

 

f

 

 

 

 

 

 

 

, =

 

 

 

, f=

 

 

n 1

 

 

 

 

 

f

0

m 1

.

n 1

 

i (x j ) i f j , j=0,1,...,m-1

(1)

i 0

Указанная система может иметь решение и при том решение единственное, если при m>n вектор f лежит в пространстве столбцов матрицы А и матрица является матрицей полного ранга, т. е. r=min(m,n)=n.

Для квадратной матрицы выполнение последнего условия означает её невырожденность. Когда r<n, но f лежит в пространстве столбцов,

решение не единственно. Если вектор f не принадлежит пространству столбцов, система несовместна, решение в традиционном смысле отсутствует. Однако существует так называемое нормальное решение,

которое минимизирует остаточные суммы квадратов (сумму квадратных отклонений предсказанных значений от наблюдаемых). Иными словами минимизирует следующую целевую функцию

m 1

 

f j

i i (x j

2

2

F (x)

)

|| A f ||2

j 0

 

 

 

 

 

Таким образом, следует минимизировать норму невязки ||Aα-f||2 или длину вектора Aα-f. Длина этого вектора есть расстояние от точки f до пространства столбцов. Минимальной длиной обладает перпендикуляр,

опущенный из точки f на пространство столбцов. Таким образом, вектор невязки, удовлетворяющий условиям среднеквадратичного приближения,

должен быть ортогонален к этому пространству.

201

f

f-Aα

Aα

Столбец2

Столбец1

На рисунке изображен случай n=2, m=3. Предполагается, что столбцы матрицы А линейно независимы, т. е. А матрица полного ранга.

0 (x0 )

 

1 (x0 )

столбец1

 

 

(x )

 

, столбец2=

 

(x )

 

 

 

0

1

 

 

 

1

1

 

 

 

0

(x )

 

 

(x )

 

 

2

 

 

 

1

2

 

Проекция p вектора f на пространство столбцов это вектор, лежащий в пространстве столбцов. Решение системы Aα=p существует,

единственно и дает искомый вектор α, удовлетворяющий критерию наименьших квадратов.

Ортогональность вектора невязки к пространству столбцов состоит в следующем. Каждый вектор в пространстве столбцов матрицы А является линейной комбинацией столбцов с некоторыми коэффициентами y0,…yn-1, т. е. это вектор вида Ay=A(0)y0+…+A(i)yi+…+A(n-1)yn-1, где A(i) - i – ый столбец матрицы А, yi - i – ый компонент вектора y. Вектор Ay и вектор невязки должны быть взаимно перпендикулярны при любом y: (Ay,Aα-f)=(Ay)T(Aα-f)=0, или yT(ATAα-ATf)=0.

Так как y произволен, то вектор в скобках должен быть нулевым.

Решение по методу наименьших квадратов для несовместной системы

Aα=f удовлетворяет соотношению

ATAα = ATf.

Оно известно под названием нормальных уравнений.

Проекция точки f на пространство столбцов имеет вид

202

p= 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ΣVTTUT = 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)= ϭmaxmin. Это число не совпадает с ранее введенным, но обладает теми же свойствами и величиной того же порядка.

В частности для квадратной матрицы определенное таким образом число обусловленности в точности равно cond 2(A).

17.3. Метод наименьших квадратов с использованием сингулярного разложения.

Будем решать задачу наименьших квадратов для табличной

функции, сформулированную в начале раздела. Замена табличной функции

205

= VTα, f = UTf, имеем

линейной комбинацией базовых функций приводит, как правило, к

несовместной системе линейных алгебраических уравнений Аα = 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 kk , k = 0,1, …, n-1.

Значение минимума длины вектора невязки определяются второй группой компонентов и для m = n (в предположении ϭk равно нулю.

206

n-1 может

Пусть некоторая часть ϭ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 kk , 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

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

n 1 m,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

n

 

 

n 1

 

m

 

Тогда для исходной матрицы А=UΣVT её псевдообратная матрица задается формулой A+=VΣ+UT. Легко проверить, что, рассчитанная указанным образом A+ , удовлетворяет определению псевдообратных.

Как и ранее для уменьшения числа обусловленности и повышения надежности результата можно ввести эффективную псевдообратную матрицу A . С этой целью следует положить

1

, если

0, если

Непосредственной проверкой можно убедиться, что A

удовлетворяет условиям (2), (3), (4). Первое условие удовлетворяется с точностью ε: ||AA+A-A|| ε.

Пример.

1

1 x

 

 

4

 

Решается линейная система Ax=b :

1

 

 

 

.

1

1 x2

 

6

 

Матрица А вырождена, система несовместна.

Попытаемся найти нормальное решение, т. е. его аппроксимацию методом наименьших квадратов.

Воспользовавшись процедурой svd, вычислим сингулярное разложение матрицы А=UΣVT.

 

 

1

 

 

1

 

 

 

 

 

 

 

 

1

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

2

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

2

2

2

 

 

 

 

 

 

 

 

U

 

 

 

 

 

; V=

 

 

 

 

.

 

 

 

 

; =

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

0

0

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

2

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имеем

210