РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
241 of 541 menu

Функция linalg.pinv

Функция linalg.pinv вычисляет псевдообратную матрицу Мура-Пенроуза для заданной матрицы. Псевдообратная матрица является обобщением понятия обратной матрицы для случаев, когда матрица не является квадратной или вырожденной. Первым параметром функция принимает матрицу в виде массива NumPy. Вторым параметром можно задать порог отсечения сингулярных значений, а третьим - параметр rcond для управления точностью вычислений.

Синтаксис

np.linalg.pinv(a, rcond=1e-15, hermitian=False)

Пример

Давайте вычислим псевдообратную матрицу для прямоугольной матрицы размером 2x3:

import numpy as np arr = np.array([[1, 2, 3], [4, 5, 6]]) res = np.linalg.pinv(arr) print(res)

Результат выполнения кода:

[[-0.94444444 0.44444444] [-0.11111111 0.11111111] [ 0.72222222 -0.22222222]]

Пример

Вычислим псевдообратную матрицу для квадратной вырожденной матрицы:

import numpy as np arr = np.array([[1, 2], [2, 4]]) res = np.linalg.pinv(arr) print(res)

Результат выполнения кода:

[[0.04 0.08] [0.08 0.16]]

Пример

Используем параметр rcond для управления порогом отсечения сингулярных значений:

import numpy as np arr = np.array([[1, 0], [0, 0], [0, 0]]) res = np.linalg.pinv(arr, rcond=0.1) print(res)

Результат выполнения кода:

[[1. 0. 0.] [0. 0. 0.]]

Пример

Используем параметр hermitian для ускорения вычислений для эрмитовых матриц:

import numpy as np arr = np.array([[2, 1], [1, 2]]) res = np.linalg.pinv(arr, hermitian=True) print(res)

Результат выполнения кода:

[[ 0.66666667 -0.33333333] [-0.33333333 0.66666667]]

Смотрите также

  • функцию inv,
    которая вычисляет обратную матрицу для квадратных невырожденных матриц
  • функцию svd,
    которая выполняет сингулярное разложение матрицы
  • функцию matrix_rank,
    которая вычисляет ранг матрицы
  • функцию lstsq,
    которая решает задачу наименьших квадратов
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить