Найти в Дзене
Программист о Data Science

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

Оба понятия активно используются в анализе избыточности матрицы и проверки на линейную зависимость векторов матрицы. Рассмотрим каким именно образом. Но прежде чем начать, напомню насколько важно подписываться на канал и всячески давать обратную связь, если вы хотите поддержать автора. Определитель матрицы Важный параметр матрицы, который мы в дальнейшем будем частенько использовать - это её определитель или по-другому детерминант. Обозначается как detA или |A|. Определяется детерминант только для квадратных матриц - матриц у которых количество строк равно количеству столбцов. Для остальных размерностей детерминант не определён. Посчитать определитель для общего случая матрицы n x n не так-то просто. Формула достаточно сложная, я её пока пропущу. Для матрицы 2 на 2 формула упрощается до следующего вида: Геометрический смысл определителя Если продлить вектора на системе координат до параллелограмма (или параллелепипеда, если векторов больше двух), то определитель матрицы координат эти
Оглавление
Надо, Федя. Надо.
Надо, Федя. Надо.

Оба понятия активно используются в анализе избыточности матрицы и проверки на линейную зависимость векторов матрицы. Рассмотрим каким именно образом.

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

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

Важный параметр матрицы, который мы в дальнейшем будем частенько использовать - это её определитель или по-другому детерминант. Обозначается как detA или |A|. Определяется детерминант только для квадратных матриц - матриц у которых количество строк равно количеству столбцов. Для остальных размерностей детерминант не определён.

Посчитать определитель для общего случая матрицы n x n не так-то просто. Формула достаточно сложная, я её пока пропущу. Для матрицы 2 на 2 формула упрощается до следующего вида:

Сконцентрируемся на возможностях NumPy и на том, как можно интерпретировать определитель.
Сконцентрируемся на возможностях NumPy и на том, как можно интерпретировать определитель.
Теперь разберемся о чём нам этот результат говорит
Теперь разберемся о чём нам этот результат говорит

Геометрический смысл определителя

Если продлить вектора на системе координат до параллелограмма (или параллелепипеда, если векторов больше двух), то определитель матрицы координат этих векторов будет равен площади этого параллелограмма или объёму если это объёмный параллелепипед.

Здесь красные и чёрные прямые линии, выходящие из начала координат - исходные вектора. Дублируем вектора как показано выше, чтобы сформировать тот самый параллелограмм.
Здесь красные и чёрные прямые линии, выходящие из начала координат - исходные вектора. Дублируем вектора как показано выше, чтобы сформировать тот самый параллелограмм.

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

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

Таким образом определитель равен нулю если вектора-строки или столбцы матрицы - линейно зависимы.

Ранг матрицы

Ранг матрицы соответствует максимальному количеству линейно-независимых векторов-строк или векторов-столбцов матрицы. При этом ранг матрицы по столбцам всегда совпадает с рангом матрицы по строкам (в линейной алгебре есть целая теорема доказывающая это, поверим на слово пока). То есть ранг матрицы определяет количество информации, содержащееся в матрице. Если ранг матрицы 3 x 3 равен 1, то матрицу можно свести к одному вектору и мы вообще не потеряем информацию, так как все остальные вектора матрицы выводятся из оставшегося вектора. Обозначается ранг матрицы A как rgA.

Вычисление ранга матрицы опять же - достаточно сложный и как правило итеративный процесс. Ограничимся функцией из пакета линейной алгебры библиотеки NumPy:

Видно, что матрица избыточна и может быть упрощена без потери информации.
Видно, что матрица избыточна и может быть упрощена без потери информации.