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

Определитель и ранг матрицы

Определитель, или детерминант — одна из важнейших характеристик квадратных матриц. Определитель матрицы размера n × n равен ориентированному n-мерному объёму параллелепипеда, натянутого на её векторы-строки (или столбцы).

Для матрицы n × n определитель выражается в виде многочлена степени N от элементов матрицы который представляет собой сумму произведений элементов матрицы со всевозможными комбинациями различающихся номеров строк и столбцов, причём в каждом из произведений элемент из любой строки и любого столбца ровно один. Каждому произведению приписывается знак плюс или минус в зависимости от чётности перестановки номеров.

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

Пусть задана любая матрица А с m строк и n столбцов. Рангом системы строк (столбцов) матрицы А называется максимальное число линейно независимых строк(столбцов). Несколько строк (столбцов) называются линейно-независимыми, если ни одна из них не выражается линейно через другие. Ранг системы строк всегда равен рангу системы столбцов и это число называется рангом матрицы.

Ранг матрицы — наивысший из порядков миноров этой матрицы, отличных от нуля. Ранг матрицы равен наибольшему числу линейно независимых строк (или столбцов) матрицы.

Обычно ранг матрицы A обозначается rang A (rg A) или rank A. Оба обозначения пришли к нам из иностранных языков, потому и употребляться могут оба. Последний вариант свойственен для английского языка, в то время как первый — для немецкого, французского и ряда других языков.

Для нахождения определителя (детерминанта) и ранга матриц в MATLAB имеются следующие функции:

det(X) — возвращает определитель квадратной матрицы X. Если X содержит только целые элементы, то результат — тоже целое число. Использование det(X)=0 как теста на вырожденность матрицы действительно только для матрицы малого порядка с целыми элементами.

Пример:

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

А =

2 3 6

1 8 4

3 6 7

» det(A)

ans =

-29

Детерминант матрицы вычисляется на основе треугольного разложения методом исключения Гаусса:

[L.U>lu(A): s=det(L): d=s*prod(diag(U)).

Ранг матрицы определяется количеством сингулярных чисел, превышающих порог

tol=max(size(A))*nprm(A)*eps.

При этом используется следующий алгоритм:

s=svd(A);tol=max(size(A))*npnri(A)*eps:r=sum(s>tol):

Для вычисления ранга используется функция rank:

rank (А) — возвращает количество сингулярных чисел, которые являются большими, чем заданный по умолчанию допуск;

rank(A,tol) — возвращает количество сингулярных чисел, которые превышают tol.

Пример:

» rank(hilb(10))

ans =

10

Определение нормы вектора

Норма вектора — скаляр, дающий представление о величине элементов вектора. Нужно различать норму матрицы и норму вектора. Функция norm определяет, является ли ее аргументом (входным аргументом в терминологии MATLAB) вектор или матрица, и измеряет несколько различных типов норм векторов:

norm(X)=norm(X,2) — вторая норма возвращает наибольшее сингулярное число X, max(svd(X));

norm(X,p) , где р — целое положительное число, — возвращает корень степени р из суммы абсолютных значений элементов вектора, возведенных в степень р. При р = 1 это может совпадать либо с первой нормой, либо с нормой неопределенности матриц;

norm(X, 'inf') возвращает максимальное из абсолютных значений элементов вектора; О norm(X, '-Inf') возвращает минимальное из абсолютных значений элементов вектора.

Пример:

A

A =

2 3 6

1 8 4

3 6 7

>> norm(A)

ans =

14.4652

>> norm(A,2)

ans =

14.4652