Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычисление нормы и чисел обусловленности матриц...docx
Скачиваний:
46
Добавлен:
13.08.2019
Размер:
100.25 Кб
Скачать

Вычисление нормы и чисел обусловленности матрицы

1 норма матрицы представляет из себя максимальное из чисел, полученных при сложении всех элементов каждого столбца, взятых по модулю. Не путайте со сложением матриц!

Р ассмотрим на примере: пусть дана матрица размера 3х2. В первом столбце стоят элементы: 8, 3, 8. Все элементы положительные. Найдем их сумму: 8+3+8=19. В втором столбце стоят элементы: 8, -2, -8. Два элемента - отрицательные, поэтому при сложении этих чисел, необходимо подставлять модуль этих чисел (т.е. без знаков "минус"). Найдем их сумму: 8+2+8=18. Максимальное из этих двух чисел - это 19. Значит первая норма матрицы равна 19.

2 норма матрицы представляет из себя квадратный корень из суммы квадратов всех элементов матрицы. А это значит мы возводим в квадрат все элементы матрицы, затем складываем полученные значения и из результата извлекаем квадратный корень.

В нашем случае, 2 норма матрицы получилась равна квадратному корню из 269. На схеме, я приближенно извлекла квадратный корень из 269 и в результате получила приблизительно около 16,401. Хотя более правильно не извлекать корень.

3 норма матрицы представляет из себя максимальное из чисел, полученных при сложении всех элементов каждой строки, взятых по модулю.

В нашем примере: в первой строке стоят элементы: 8, 8. Все элементы положительные. Найдем их сумму: 8+8=16. В второй строке стоят элементы: 3, -2. Один из элементов отрицательный, поэтому при сложении этих чисел, необходимо подставлять модуль этого числа. Найдем их сумму: 3+2=5. В третьей строке стоят элементы 8, и -8. Один из элементов отрицательный, поэтому при сложении этих чисел, необходимо подставлять модуль этого числа. Найдем их сумму: 8+8=16. Максимальное из этих трех чисел - это 16. Значит третья норма матрицы равна 16.

Число обусловленности квадратной матрицы A определяется, как

k(A) = ||A||·||A -1||

Число обусловленности имеет следующее значение: если машинная точность, с которой совершаются все операции с вещественными числами, равна ε, то при решении системы линейных уравнений Ax = b результат будет получен с относительной погрешностью порядка ε·k(A). Хотя число обусловленности матрицы зависит от выбора нормы, если матрица хорошо обусловлена, то её число обусловленности будет мало при любом выборе нормы, а если она плохо обусловлена, то её число обусловленности будет велико при любом выборе нормы. Таким образом, обычно норму выбирают исходя из соображений удобства. На практике наиболее широко используют 1-норму, 2-норму и ∞-норму, задающиеся формулами:

В Matlab используется следующие функции поиска нормы:

Пусть А —матрица. Тогда n=norm(A) эквивалентно п=погп(А,2) и возвращает вторую норму, т. е. самое большое сингулярное число А. Функция n=norm(A, 1) возвращает первую норму, т. е. самую большую из сумм абсолютных значений элементов матрицы по столбцам. Норма неопределенности n=norm(A, inf) возвращает самую большую из сумм абсолютных значений элементов матрицы по рядам. Норма Фробениуса (Frobenius) norm(A, 'fro') = sqrt(sum(diag(A'A))).

Пример:

» A=[2,3,1;1,9,4;2,6,7]

A =

2 3 1

1 9 4

2 6 7

» norm(A,1)

ans =

18

Числа обусловленности матрицы определяют чувствительность решения системы линейных уравнений к погрешностям исходных данных. Следующие функции позволяют найти числа обусловленности матриц.

cond(X) — возвращает число обусловленности, основанное на второй норме, то есть отношение самого большого сингулярного числа X к самому малому. Значение cond(X), близкое к 1, указывает на хорошо обусловленную матрицу;

с = cond(X,p) — возвращает число обусловленности матрицы, основанное на р-норме: norm(X,p)*norm(inv(X),p), где р определяет способ расчета:

р=1 — число обусловленности матрицы, основанное на первой норме;

р=2 — число обусловленности матрицы, основанное на второй норме;

p= 'fro' — число обусловленности матрицы, основанное на норме Фробе-ниуса (Frobenius);

р='inf' — число обусловленности матрицы, основанное на норме неопределенности.

с = cond(X) — возвращает число обусловленности матрицы, основанное на второй норме.

Пример:

» d=cond(hilb(4))

d =

1.5514е+004

condeig(A) — возвращает вектор чисел обусловленности для собственных значений А. Эти числа обусловленности — обратные величины косинусов углов между левыми и правыми собственными векторами;

[V.D.s] = condeig(A) — эквивалентно [V,D] = eig(A): s = condeig(A);.

Большие числа обусловленности означают, что матрица А близка к матрице с кратными собственными значениями.

Пример:

» d=condeig(rand(4))

d =

1.0766

1.2298

1.5862

1.7540

rcond(A) — возвращает обратную величину обусловленности матрицы А по первой норме, используя оценивающий обусловленность метод LAPACK. Если А — хорошо обусловленная матрица, то rcond(A) около 1.00, если плохо обусловленная, то около 0.00. По сравнению с cond функция rcond реализует более эффективный в плане затрат машинного времени, но менее достоверный метод оценки обусловленности матрицы.

Пример:

» s=rcond(hilb(4))

s =

4.6461е-005