numpy.linalg.inv
Функция linalg.inv() вычисляет обратную матрицу.
Для квадратной матрицы \(A\), обратной является такая матрица \(A^<-1>\), для которой выполняется условие:
В случае если входная матрица a не является квадратной или вычисление обратной матрицы невозможно, то вызывается исключение LinAlgError.
Параметры: a — массив NumPy или подобнй массиву объект. Это может быть толко «квадратный» двумерный массив, т.е. квадратная матрица. Если это многомерный массив, то две его последние оси должны быть равны, в этом случае он рассматривается как массив матриц и обратная матрица вычисляется отдельно для каждой из них. Возвращает: результат — массив NumPy Обратная матрица или массив обратных матриц.
Примеры
Мы можем проверить правильность результата, опираясь на основное свойство обратной матрицы, т.е. np.dot(a, ainv) = np.dot(ainv, a) = np.eye(a.shape[0])
Понятие обратной матрицы может быть обобщено и для матриц над полем комплексных чисел:
Линейная алгебра на Python. [Урок 5]. Обратная матрица и ранг матрицы
Обратной матрицей A -1 матрицы A называют матрицу, удовлетворяющую следующему равенству:
где – E это единичная матрица.
Для того, чтобы у квадратной матрицы A была обратная матрица необходимо и достаточно чтобы определитель |A| был не равен нулю. Введем понятие союзной матрицы . Союзная матрица A* строится на базе исходной A путем замены всех элементов матрицы A на их алгебраические дополнения.
Союзная ей матрица A*:

Транспонируя матрицу A*, мы получим так называемую присоединенную матрицу A* T :

Теперь, зная как вычислять определитель и присоединенную матрицу, мы можем определить матрицу A -1 , обратную матрице A:
Пример вычисления обратной матрицы. Пусть дана исходная матрица A, следующего вида:

Для начала найдем определитель матрицы A:

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

Союзная матрица будет иметь следующий вид:

Присоединенная матрица получается из союзной путем транспонирования:

Находим обратную матрицу:

➤ Пример на Python
Решим задачу определения обратной матрицы на Python. Для получения обратной матрицы будем использовать функцию inv():
Рассмотрим свойства обратной матрицы.
Свойство 1 . Обратная матрица обратной матрицы есть исходная матрица:

➤Пример на Python
Свойство 2 . Обратная матрица транспонированной матрицы равна транспонированной матрице от обратной матрицы:

➤ Пример на Python
Свойство 3 . Обратная матрица произведения матриц равна произведению обратных матриц:

➤ Пример на Python
Ранг матрицы
Ранг матрицы является еще одной важной численной характеристикой. Рангом называют максимальное число линейно независимых строк (столбцов) матрицы. Линейная независимость означает, что строки (столбцы) не могут быть линейно выражены через другие строки (столбцы). Ранг матрицы можно найти через ее миноры, он равен наибольшему порядку минора, который не равен нулю. Существование ранга у матрицы не зависит от того квадратная она или нет.
Вычислим ранг матрицы с помощью Python. Создадим единичную матрицу:
Ранг такой матрицы равен количеству ее столбцов (или строк), в нашем случае ранг будет равен четырем, для его вычисления на Python воспользуемся функцией matrix_rank():
Если мы приравняем элемент в нижнем правом углу к нулю, то ранг станет равен трем:
P.S.
Вводные уроки по “Линейной алгебре на Python” вы можете найти соответствующей странице нашего сайта . Все уроки по этой теме собраны в книге “Линейная алгебра на Python”.
Если вам интересна тема анализа данных, то мы рекомендуем ознакомиться с библиотекой Pandas. Для начала вы можете познакомиться с вводными уроками. Все уроки по библиотеке Pandas собраны в книге “Pandas. Работа с данными”. 
Линейная алгебра на Python. [Урок 5]. Обратная матрица и ранг матрицы : 1 комментарий
i want that help me
1) написать программу вычисляющую обратную матрицу
Работа с Matrix в Python
Для работы с Matrix Python нам необходимо импортировать модуль numpy. Матрица используется для операций с матрицей, которая может использоваться для научных целей, обработки изображений и т.д.
Как создать матрицу?
Согласно Википедии, матрица – это прямоугольный массив чисел, символов или выражений, упорядоченный по строкам и столбцам. Итак, в следующем коде мы будем инициализировать различные типы матриц.
Обычно матрица создается с помощью функции numpy.matix(). Мы можем использовать numpy.shape, чтобы узнать размер матрицы. Смотрите следующий пример кода матрицы.
Вы получите результат, как на следующем изображении.

Добавление матрицы
Код для сложения матриц достаточно сложен для написания вручную. Благодаря модулю numpy мы можем просто использовать оператор + для добавления матрицы. Итак, в следующем примере кода мы увидим, как писать код сложения вручную, а также с помощью оператора +.
Умножение и транспонирование матриц, обратная матрица
В предыдущем разделе мы обсудили преимущество Python Matrix в том, что он просто упрощает для нас задачу. Таким образом, мы можем просто умножить две матрицы, получить инверсию и транспонирование матрицы.
Как мы видели ранее, оператор + добавляет две матрицы, здесь мы можем просто использовать оператор * для умножения матриц. При этом количество столбцов в первой матрице должно быть равно количеству строк во второй матрице.
Мы можем получить инверсию матрицы, используя функцию getI() и использовать getT() для транспонирования матрицы. Давайте посмотрим на пример:
Поскольку мы использовали случайные значения. Таким образом, элементы матрицы будут разными. Вывод вышеуказанного кода приведен ниже:


