Линейная алгебра (numpy.linalg)
Функции линейной алгебры NumPy полагаются на библиотеки BLAS и LAPACK для предоставления эффективных низкоуровневых реализаций стандартных алгоритмов линейной алгебры. Эти библиотеки могут предоставляться самим NumPy с использованием C-версий подмножества их эталонных реализаций, но, по возможности, предпочтительны высокооптимизированные библиотеки, которые используют возможности специализированных процессоров. Примерами таких библиотек являются OpenBLAS, MKL (TM) и ATLAS. Поскольку эти библиотеки многопоточны и зависят от процессора, могут потребоваться переменные окружения и внешние пакеты, такие как threadpoolctl, для управления количеством потоков или указания архитектуры процессора.
Матричные и векторные произведения
| Скалярное произведение двух массивов. |
| Вычисление скалярного произведения двух или более массивов в одном вызове функции, с автоматическим выбором самого быстрого порядка вычисления. |
| Возвращает скалярное произведение двух векторов. |
| Внутреннее произведение двух массивов. |
| Вычисление внешнего произведения двух векторов. |
| Матричное произведение двух массивов. |
| Вычисление тензорного скалярного произведения по заданным осям. |
| Вычисляет соглашение об индексации Эйнштейна для операндов. |
| Определяет порядок сокращения с наименьшей стоимостью для выражения einsum, рассматривая создание промежуточных массивов. |
| Возводит квадратную матрицу в (целую) степень |
| Произведение Кронекера двух массивов. |
Разложения
Разложение Холецкого. | |
| Вычисление QR-факторизации матрицы. |
| Сингулярное разложение. |
Собственные значения матрицы
| Вычисление собственных значений и собственных векторов квадратного массива. |
| Возвращает собственные значения и собственные векторы комплексной эрмитовой (сопряженно-симметричной) или вещественной симметричной матрицы. |
Вычисление собственных значений произвольной матрицы. | |
| Вычисление собственных значений комплексной эрмитовой или вещественной симметричной матрицы. |
Нормы и другие числовые характеристики
| Норма матрицы или вектора. |
| Вычисление числа обусловленности матрицы. |
| Вычисление определителя массива. |
| Возвращает ранг матрицы, используя метод SVD. |
Вычисление знака и (натурального) логарифма определителя массива. | |
| Возвращает сумму по диагоналям массива. |
Решение уравнений и обращение матриц
| Решает линейное матричное уравнение или систему линейных скалярных уравнений. |
| Решает тензорное уравнение |
| Возвращает решение метода наименьших квадратов для линейного матричного уравнения. |
| Вычисляет (мультипликативное) обращение матрицы. |
| Вычисляет псевдообращение (по методу Мура-Пенроуза) матрицы. |
| Вычисляет «обращение» N-мерного массива. |
Исключения
Объект общего исключения Python, наследуемый от исключений linalg. |
Линейная алгебра для нескольких матриц одновременно
Новое в версии 1.8.0.
Несколько функций линейной алгебры, перечисленных выше, могут вычислять результаты для нескольких матриц сразу, если они объединены в один массив.
Это указано в документации посредством спецификаций входных параметров, таких как a : (..., M, M) array_like. Это означает, что если, например, задан входной массив a.shape == (N, M, M), он интерпретируется как «стек» из N матриц, каждая из которых имеет размер M×M. Аналогичная спецификация применяется к значениям возврата, например, определитель имеет det : (...) и в этом случае вернёт массив формы det(a).shape == (N,). Это обобщается на операции линейной алгебры над многомерными массивами: последние 1 или 2 измерения многомерного массива интерпретируются как векторы или матрицы соответственно для каждой операции.
© 2005–2020 NumPy Developers
Licensed under the 3-clause BSD License.
https://numpy.org/doc/1.18/reference/routines.linalg.html