numpy.linalg — Процедури лінійної алгебри

The numpy.linalg submodule provides a small selection of linear-algebra routines that operate on numpy.ndarray objects. Functions that operate on matrices require two-dimensional arrays; passing arrays of a different dimensionality raises a ValueError.

Функції

numpy.linalg.cholesky(A: ndarray) ndarray

Обчислити розклад Холецького позитивно визначеної симетричної квадратної матриці.

Параметри:

A – позитивно визначена, симетрична, двовимірна квадратна матриця.

Повертає:

нижньотрикутна numpy.ndarray L така, що A = L @ L.T.

Викликає:

ValueError – якщо A не є квадратною, не симетричною або не позитивно визначеною.

numpy.linalg.det(m: ndarray) float

Обчислити визначник квадратної матриці.

Параметри:

m – двовимірна квадратна матриця.

Повертає:

визначник матриці m як float Python. Повернуте значення завжди є числом з плаваючою комою, навіть якщо вхідний масив є цілочисельним.

Викликає:

ValueError – якщо m не є квадратною.

Обчислення виконується методом Гаусса з частковим вибором провідного елемента.

numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]

Обчислити власні значення та власні вектори дійсної симетричної квадратної матриці.

Параметри:

m – двовимірна, дійсна, симетрична квадратна матриця.

Повертає:

2-кортеж (eigenvalues, eigenvectors). eigenvalues — одновимірний масив довжини N; eigenvectors — масив розміру N-на-N, стовпці якого є відповідними власними векторами.

Викликає:

ValueError – якщо m не є квадратною, не симетричною або якщо ітерація обертань Якобі не збіглася.

numpy.linalg.inv(m: ndarray) ndarray

Обчислити обернену матрицю до квадратної матриці.

Параметри:

m – двовимірна квадратна матриця.

Повертає:

обернена до m матриця у вигляді numpy.ndarray з типом float.

Викликає:

ValueError – якщо m не є квадратною або є виродженою.

Обернення виконується методом Гаусса-Жордана.

numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray

Обчислити 2-норму вектора або матриці.

Параметри:
  • x – об’єкт numpy.ndarray, tuple, list або range.

  • axis – необов’язкова вісь, вздовж якої обчислюється норма. Якщо None (за замовчуванням), норма обчислюється по розгорнутому вхідному масиву і повертається одне значення float. В іншому разі норма зменшується вздовж зазначеної осі і повертається numpy.ndarray.

Повертає:

або float Python (якщо axis дорівнює None або якщо x є ітерованим об’єктом, але не ndarray), або numpy.ndarray із видаленою відповідною віссю.

2-норма обчислюється як sqrt(sum(x*x)) з використанням чисельно стабільного ковзного середнього, тому операція не потребує додаткової пам’яті, пропорційної розміру вхідних даних.

numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]

Розкласти матрицю у добуток ортонормованої матриці та верхньотрикутної матриці.

Параметри:
  • m – двовимірна матриця форми (M, N).

  • mode – або 'reduced' (за замовчуванням), або 'complete'. У режимі 'complete' матриця Q має форму (M, M), а R — форму (M, N). У режимі 'reduced' матриці Q та R усічені до перших min(M, N) стовпців та рядків відповідно.

Повертає:

2-кортеж (Q, R) об’єктів numpy.ndarray таких, що m == Q @ R, де Q є ортонормованою, а R — верхньотрикутною.

Викликає:
  • TypeError – якщо m не є об’єктом numpy.ndarray.

  • ValueError – якщо m не є двовимірною або mode не є одним із допустимих значень.

Розклад реалізовано за допомогою послідовних обертань Гівенса.