- Singular Value Decomposition
- Eigen Values
- Linear Equations
- Sylvester Equations
- Least Squares
- Orthogonal Factorizations
- Factorizations
- Factored Calculations
- Reductions
- Matrix Norm
- Matrix Balance
- Dynamic Mode Decomposition
- Singular Spectrum Analysis
- L1 Trend Filter
- BLAS Level 2
- BLAS Level 3
Методы OpenBLAS
OpenBLAS — это высокопроизводительная библиотека линейной алгебры с открытым исходным кодом, реализующая BLAS (Basic Linear Algebra Subprograms) и некоторые функции LAPACK. OpenBLAS нацелен на повышение производительности вычислений, особенно в операциях с матрицами и векторными вычислениями, которые важны в научных и инженерных задачах, таких как машинное обучение, численные методы и симуляции.
Основные особенности OpenBLAS:
- Поддержка многопоточности: OpenBLAS может эффективно использовать несколько процессорных ядер для параллельных вычислений, что значительно ускоряет выполнение операций на многопроцессорных системах.
- Оптимизация под архитектуры процессоров: OpenBLAS включает оптимизированные сборки для различных процессоров, таких как Intel, AMD, ARM и других. Библиотека автоматически определяет характеристики процессора и выбирает наиболее подходящие реализации функций.
- Поддержка широкого спектра операций BLAS: OpenBLAS реализует основные функции BLAS, такие как операции с векторами (например, векторное сложение и скалярное произведение), матрицами (умножение) и векторно-матричные операции.
- Совместимость с LAPACK: Библиотека поддерживает ряд функций LAPACK (Linear Algebra PACKage), которые нужны для более сложных операций линейной алгебры, таких как решения систем линейных уравнений, вычисление собственных значений матриц и другие.
- Высокая производительность: По сравнению с другими библиотеками BLAS, OpenBLAS часто показывает лучшие результаты благодаря ручной оптимизации под конкретные процессорные архитектуры.
Большинство LAPACK-функций библиотеки OpenBLAS используют целочисленный параметр info для возврата статуса завершения функции или подпрограммы: успешно ли она отработала, были ли обнаружены ошибки во входных параметрах или возникли численные проблемы.
Во всех случаях значение info, равное 0, означает, что LAPACK-функция выполнена успешно. При любом другом значении выставляется ошибка ERR_MATRIX_OPENBLAS (5707) или ERR_MATRIX_OPENBLAS_PARAMETER (5708).
У многих LAPACK-функций есть режим запроса необходимого размера рабочей памяти для выполнения функции с заданными параметрами. В этом режиме функция не производит вычислений, а только проверяет корректность входных параметров. В случае успеха она возвращает требуемый размер рабочей памяти; в противном случае в параметре info возвращается номер ошибочного параметра. При этом выставляется ошибка ERR_MATRIX_OPENBLAS_PARAMETER.
Чтобы узнать, какой код info был возвращён при неуспешном выполнении LAPACK-функции, следует использовать функцию MQLInfoInteger(MQL_LAST_OPENBLAS_ERROR).
Некоторые методы, например ReflectBidiagonalToQP, FactorizationQR, FactorizationRQ2 и другие, последовательно вызывают несколько LAPACK-функций. Чтобы узнать, в какой именно функции произошла ошибка, следует использовать функцию MQLInfoString(MQL_LAST_OPENBLAS_FUNCTION).
Применение
OpenBLAS широко используется в приложениях, связанных с численными вычислениями, таких как:
- Обучение нейронных сетей и другие задачи машинного обучения.
- Научные вычисления, например, моделирование физических процессов.
- Обработка больших объемов данных и их анализ.
Библиотека интегрирована во многие популярные научные программные пакеты, такие как NumPy, SciPy и TensorFlow, которые зависят от высокопроизводительных операций линейной алгебры для эффективной работы.
OpenBLAS — отличный выбор для тех, кто ищет решение с открытым исходным кодом для высокопроизводительных вычислений, особенно при работе с большими матрицами и векторами.
Функция |
Действие |
|---|---|
SVD-разложение методом "разделяй и властвуй". Считается самым быстрым среди SVD-алгоритмов (LAPACK-функция GESDD). |
|
SVD-разложение QR-алгоритмом. Классический алгоритм SVD (LAPACK-функция GESVD). |
|
SVD-разложение QR-алгоритмом с выбором ведущего элемента (LAPACK-функция GESVDQ). |
|
SVD-разложение методом бисекции (LAPACK-функция GESVDX). |
|
SVD-разложение высокоуровневым методом Якоби (LAPACK-функция GEJSV). |
|
SVD-разложение низкоуровневым методом Якоби (LAPACK-функция GESVJ). В некоторых случаях вычисляет малые сингулярные значения и соответствующие сингулярные векторы значительно точнее других SVD-подпрограмм. |
|
SVD-разложение бидиагональной матрицы методом "разделяй и властвуй" (LAPACK-функция BDSDC). |
|
SVD-разложение бидиагональных матриц методом бисекции (LAPACK-функция BDSVDX). |
|
Вычисляет SVD-разложение общей матрицы, предварительно приведенной к бидиагональному виду методом ReduceToBidiagonal. LAPACK-функция BDSQR. |
|
Вычисление собственных значений и собственных векторов обычной квадратной матрицы классическим алгоритмом (LAPACK-функция GEEV). |
|
Вычисление собственных значений и собственных векторов обычной квадратной матрицы в режиме эксперта (Expert mode), то есть с возможностью влиять на алгоритм расчёта и возможностью получить сопутствующие расчётные данные (LAPACK-функция GEEVX). |
|
Вычисление собственных значений, верхнетреугольной матрицы в форме Шура и матрицы векторов Шура (LAPACK-функция GEES). Смотри Разложение Шура. |
|
Вычисление обобщённых собственных значений и собственных векторов для пары обычных квадратных матриц (LAPACK-функция GGEV). |
|
Вычисление обобщённых собственных значений и собственных векторов для пары обычных квадратных матриц в режиме эксперта (Expert mode), то есть с возможностью влиять на алгоритм расчёта и возможностью получить сопутствующие расчётные данные (LAPACK-функция GGEVX). Обе матрицы должны быть одинакового размера. |
|
Вычисление для пары обычных квадратных матриц обобщённых собственных значений, обобщённых собственных векторов, обобщённых форм Шура и левых и правых векторов Шура (LAPACK-функция GGES). |
|
Вычисление обобщенных собственных значений и собственных векторов для пары обычных квадратных матриц при помощи блочного алгоритма (LAPACK-функция GGEV3). Обе матрицы должны быть одинакового размера. Параметры метода точно такие же, как и у EigenSolver2. |
|
Вычисление для пары обычных квадратных матриц обобщённых собственных значений, обобщённых собственных векторов, обобщённых форм Шура и левых и правых векторов Шура при помощи блочного алгоритма (LAPACK-функция GGES3). |
|
Вычисляет собственные значения матрицы Хессенберга H и матриц T и Z из разложения Шура H = Z T Z**T, где T — верхняя квазитреугольная матрица (форма Шура), а Z — ортогональная матрица векторов Шура. LAPACK function HSEQR. См. также Разложение Шура. |
|
Вычисляет собственные векторы верхней квазитреугольной или комплексной верхнетреугольной матрицы, полученной с помощью функций EigenHessenbergSchurQ или EigenSolverSchur. A = Q * T * Q**H, где T — верхняя квазитреугольная матрица (форма Шура), а Q — ортогональная матрица векторов Шура. LAPACK function TREVC. |
|
Вычисляет собственные векторы верхней квазитреугольной или комплексной верхнетреугольной матрицы, полученной с помощью функций EigenHessenbergSchurQ или EigenSolverSchur. A = Q * T * Q**H, где T — верхняя квазитреугольная матрица (форма Шура), а Q — ортогональная матрица векторов Шура. LAPACK-функция TREVC3. Это блочная версия метода TREVC (уровень 3 OpenBLAS). Работает быстрее, но может быть менее точной. |
|
Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи алгоритма "divide and conquere" (LAPACK-функции SYEVD, HEEVD). |
|
Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи классического алгоритма QR (LAPACK-функции SYEV, HEEV). |
|
Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи алгоритма Multiple Relatively Robust Representations, MRRR (LAPACK-функции SYEVR, HEEVR). |
|
Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи алгоритма bisection (LAPACK-функции SYEVX, HEEVX). |
|
Вычисление всех собственных значений и, при необходимости, собственных векторов вещественной симметричной или эрмитовой (комплексно-сопряжённой) матрицы с использованием двухэтапного алгоритма приведения к тридиагональному виду. Если требуется вычисление собственных векторов, применяется алгоритм divide and conquer («разделяй и властвуй») (функции LAPACK SYEVD_2STAGE, HEEVD_2STAGE). |
|
Вычисление всех собственных значений и, при необходимости, собственных векторов вещественной симметричной или эрмитовой (комплексно-сопряжённой) матрицы с использованием двухэтапного алгоритма приведения к тридиагональному виду (функции LAPACK SYEV_2STAGE, HEEV_2STAGE). |
|
Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи двухэтапного алгоритма: сначала приведение к тридиагональному виду, затем применение алгоритма множественных относительно надежных представлений (Multiple Relatively Robust Representations, MRRR) (функции LAPACK SYEVR_2STAGE, HEEVR_2STAGE). |
|
Вычисление собственных значений и собственных векторов симметричной или эрмитовой (комплексно-сопряжённой) матрицы при помощи двухэтапного алгоритма: сначала приведение к тридиагональному виду, затем применение метода бисекции (функции LAPACK SYEVX_2STAGE, HEEVX_2STAGE). |
|
Вычисление всех собственных значений и, при необходимости, собственных векторов обобщенной симметрично определенной собственной задачи вида A*x=(lambda)*B*x, A*Bx=(lambda)*x или B*A*x=(lambda)*x.(функции LAPACK SYGVD, HEGVD). |
|
Вычисление всех собственных значений и, при необходимости, собственных векторов обобщенной симметрично определенной собственной задачи вида A*x=(lambda)*B*x, A*Bx=(lambda)*x или B*A*x=(lambda)*x. (функции LAPACK SYGV, HEGV). |
|
Вычисление всех собственных значений и, при необходимости, собственных векторов обобщенной симметрично определенной собственной задачи вида A*x=(lambda)*B*x, A*Bx=(lambda)*x или B*A*x=(lambda)*x. (функции LAPACK SYGVX, HEGVX). |
|
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием алгоритма "divide and conquer" (LAPACK-функция STEVD). |
|
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием QR-алгоритма (LAPACK-функция STEV). |
|
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы при помощи алгоритма Multiple Relatively Robust Representations, MRRR (LAPACK-функция STEVR). |
|
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием алгоритма бисекции (LAPACK-функция STEVX). |
|
Вычисление всех собственных значений симметричной трехдиагональной матрицы с использованием варианта QR-алгоритма без квадратного корня (LAPACK-функция STERF). |
|
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием алгоритма "разделяй и властвуй" (LAPACK-функция STEDC). |
|
Вычисление собственных значений и собственных векторов симметричной трехдиагональной матрицы с использованием QR-алгоритма (LAPACK-функция STEQR). |
|
Вычисление собственных значений и собственных векторов симметричной положительно определенной трехдиагональной матрицы с использованием QR-алгоритма (LAPACK-функция PTEQR). |
|
Вычисляет систему линейных уравнений с квадратной матрицей коэффициентов A и несколькими правыми частями. Имеет вид A*X = B, где A — общая квадратная матрица размера n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функция LAPACK GESV. |
|
Вычисляет систему линейных уравнений с квадратно-треугольной матрицей коэффициентов A и несколькими правыми частями. Имеет вид A*X = B, где A — общая квадратная матрица размера n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функция LAPACK TRTRS. |
|
Выполняет вычисление обратной матрицы для верхнетреугольной или нижнетреугольной матрицы A. LAPACK-функция TRTRI. |
|
Оценивает величину, обратную числу обусловленности общей верхнетреугольной или нижнетреугольной матрицы A в норме 1 или в бесконечной норме. LAPACK-функция TRCON. |
|
Вычисляет систему линейных уравнений с симметричной или эрмитово сопряженной матрицей A и несколькими правыми частями. Имеет вид A*X = B, где A — симметричная или эрмитово сопряженная матрица размером n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функции из библиотеки LAPACK: SYSV и HESV. |
|
Вычисляет систему линейных уравнений с комплексной симметричной (не эрмитово сопряженной!) матрицей A и несколькими правыми частями. Имеет вид A*X = B, где A — комплексная симметричная матрица размера n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функция LAPACK SYSV. |
|
Вычисляет систему линейных уравнений с симметричной или эрмитово сопряженной положительно определенной матрицей A и несколькими правыми частями. Система вида A*X = B, где A — симметричная или эрмитово сопряженная положительно определенная матрица размером n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функция LAPACK POSV. |
|
Вычисляет систему линейных уравнений с общей (несимметричной) трехдиагональной матрицей коэффициентов A и несколькими правыми частями. Имеет вид A*X = B, где A — общая трехдиагональная матрица размера n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функция LAPACK GTSV. |
|
Вычисляет систему линейных уравнений с симметричной трехдиагональной положительно определенной матрицей A и несколькими правыми частями. Имеет вид A*X = B, где A — симметричная трехдиагональная матрица размера n на n, столбцы матрицы B представляют собой отдельные правые части, а столбцы матрицы X содержат соответствующие решения. Функция LAPACK PTSV. |
|
Решает уравнение Сильвестра для вещественных или комплексных квадратных матриц: A*X + X*B = scale*C где A — общая матрица размера m на m, а B — общая матрица размера n на n. Используются LAPACK-функции GEES и TRSYL. |
|
Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц: op(A)*X + X*op(B) = scale*C или op(A)*X - X*op(B) = scale*C где op(A) = A, A**T или A**H, а A и B — верхнетреугольные матрицы. LAPACK-функция TRSYL. |
|
Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц: op(A)*X + X*op(B) = scale*C или op(A)*X - X*op(B) = scale*C где op(A) = A, A**T или A**H, а A и B — верхнетреугольные матрицы. LAPACK-функция TRSYL3. |
|
Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц: A*X + X*B = C где A и B — верхнетреугольные матрицы. A имеет размер m на m, а B — n на n. LAPACK-функция TRSYL. |
|
Решает уравнение Сильвестра для вещественных квазитреугольных или комплексных треугольных матриц: A*X + X*B = C где A и B — верхнетреугольные матрицы. A имеет размер m на m, а B — n на n. LAPACK-функция TRSYL3. |
|
Решает переопределенные или недоопределенные вещественные / комплексные системы линейных уравнений, содержащие матрицу A размером m на n или ее транспонированную / сопряженно-транспонированную версию, с использованием QR- или LQ- разложения матрицы A. Предполагается, что A — это матрица полного ранга. LAPACK-функция GELS. |
|
Вычисляет решение задачи наименьших квадратов с минимальной нормой для вещественной или комплексной системы minimize 2-norm(| b - A*x |) с использованием сингулярного разложения (SVD) матрицы A. Матрица A имеет размер m на n и может быть вырожденной по рангу. Алгоритм разделяй и властвуй (divide and conquer) предъявляет минимальные требования к точности арифметики с плавающей запятой. Функция LAPACK GELSD. |
|
Вычисляет решение задачи наименьших квадратов с минимальной нормой для вещественной или комплексной системы minimize 2-norm(| b - A*x |) с использованием сингулярного разложения (SVD) матрицы A. Матрица A имеет размер m на n и может быть вырожденной по рангу. LAPACK function GELSS. |
|
Решает переопределенные или недоопределенные вещественные / комплексные системы линейных уравнений, содержащие матрицу A размером m на n или ее транспонированную / сопряженно-транспонированную версию, с использованием QR- или LQ- разложения матрицы A с компактным WY-представлением матрицы Q. Предполагается, что A — это матрица полного ранга. LAPACK-функция GELST. |
|
Вычисляет решение задачи наименьших квадратов с минимальной нормой для вещественной или комплексной системы minimize 2-norm(| b - A*x |) с использованием полного ортогонального разложения матрицы A. Матрица A имеет размер m на n и может быть вырожденной по рангу. LAPACK-функция GELSY. |
|
Решает переопределенные или недоопределенные вещественные или комплексные системы линейных уравнений, включающие матрицу A размером m на n или ее транспонированную / сопряженно-транспонированную версию, используя высокое узкое QR-разложение (tall skinny QR) или короткое широкое LQ-разложение (short wide LQ) матрицы A. Предполагается, что A — это матрица полного ранга. LAPACK-функция GETSLS. |
|
Solves a general Gauss-Markov linear model problem: minimize || y ||_2 subject to d = A*x + B*y, using a generalized QR factorization of matrices A and B. LAPACK function GGGLM. |
|
Вычисляет QR-разложение общей матрицы размера m на n: A = Q * R. LAPACK-функция GEQRF. |
|
Вычисляет QR-разложение общей матрицы размера m на n: A = Q * R, где R — верхнетреугольная матрица с неотрицательными элементами на диагонали. LATPACK-функция GEQRFP. |
|
Вычисляет QR-разложение общей матрицы размера m на n с перестановкой столбцов: A * P = Q * R. LAPACK-функция GEQP3. |
|
Вычисляет блочное QR-разложение высокой узкой матрицы размера m на n (m>n): A = Q * R. Функция LAPACK LATSQR. |
|
Выполняет LQ-разложение общей матрицы размером m на n: A = L * Q. Функция LAPACK GELQF. |
|
Вычисляет блочное LQ-разложение низкой широкой матрицы размера m на n (m<n): A = L * Q. Функция LAPACK LASWLQ. |
|
Выполняет QL-разложение общей матрицы размером m на n: A = Q * L. Функция LAPACK GEQLF. |
|
Выполняет RQ-разложение общей матрицы размером m на n: A = R * Q. Функция LAPACK GERQF. |
|
Приводит действительную или комплексную верхнетрапециевидную матрицу A размера M на N (M<=N) к верхнетреугольному виду с помощью ортогональных преобразований. Функция LAPACK TZRZF. |
|
Вычисляет обобщенное QR-разложение двух матриц: A размера n на m и B размера n на p: A = Q * R, B = Q * T * Z. Функция LAPACK GGQRF. |
|
Вычисляет обобщенное RQ-разложение матрицы A размера m на n и матрицы B размера p на n: A = R * Q, B = Z * T * Q. Функция LAPACK GGRQF. |
|
Вычисляет LU-разложение общей матрицы A размером m на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U. LAPACK-функция GETRF. |
|
Вычисляет LU-разложение общей матрицы A размером n на n с использованием полного выбора ведущего элемента (с перестановкой строк и столбцов). Разложение имеет вид: A = P * L * U * Q, где P — матрица перестановок строк, L — нижнетреугольная матрица с единицами по диагонали, U — верхнетреугольная матрица, а Q — матрица перестановок столбцов. LAPACK-функция GETC2. |
|
Вычисляет LU-разложение общей (несимметричной) трехдиагональной матрицы A размером n на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U. LAPACK-функция GTTRF. |
|
Вычисляет разложение для вещественной симметричной или комплексной эрмитовой матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана. LAPACK-функции SYTRF и HETRF. |
|
Вычисляет разложение вещественной комплексной симметричной (не эрмитово сопряженной!) матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана. Функция LAPACK SYTRF. |
|
Вычисляет разложение симметричной положительно определенной (для вещественных данных) или эрмитовой положительно определенной (для комплексных данных) трехдиагональной матрицы A. LAPACK-функция PTTRF. |
|
Вычисляет разложение для вещественной симметричной или комплексной эрмитовой положительно-определенной матрицы A. LAPACK-функция POTRF. |
|
Вычисляет разложение Холецкого с полным выбором ведущего элемента (complete pivoting) для вещественной симметричной (или комплексной эрмитовой) положительно полуопределенной матрицы A размером n на n. Функция LAPACK PSTRF. |
|
Вычисляет LU-разложение общей матрицы A размером m на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U, где P — матрица перестановок, L — нижнетреугольная матрица с единицами на диагонали (или нижняя трапециевидная матрица, если m > n), а U — верхнетреугольная матрица (или верхняя трапециевидная матрица, если m < n). LAPACK function GETRF. |
|
Вычисляет LU-разложение общей матрицы A размером n на n с использованием полного выбора ведущего элемента (с перестановкой строк и столбцов). Разложение имеет вид A = P * L * U * Q, где P — матрица перестановок строк, L — нижнетреугольная матрица с единицами по диагонали, U — верхнетреугольная матрица, а Q — матрица перестановок столбцов. LAPACK-функция GETC2. |
|
Вычисляет LU-разложение общей (несимметричной) трехдиагональной матрицы A размером n на n с использованием частичного выбора ведущего элемента и перестановок строк. Разложение имеет вид A = P * L * U, где P — матрица перестановок, L — нижнетреугольная матрица с единицами по диагонали, а U — верхнетреугольная. LAPACK function GTTRF. |
|
Computes the factorization of a real symmetric or complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. LAPACK functions SYTRF, HETRF. |
|
Вычисляет разложение вещественной комплексной симметричной матрицы A с использованием диагонального выбора ведущего элемента по методу Банча-Кауфмана. Функция LAPACK SYTRF. |
|
Решает систему линейных уравнений A * X = B, A**T * X = B или A**H * X = B с использованием LU-разложения квадратной матрицы коэффициентов AF, вычисленного методом FactorizationPLURaw, для нескольких правых частей. LAPACK-функция GETRS. |
|
Вычисляет обратную матрицу для LU-разложения общей матрицы AF, полученного методом FactorizationPLURaw. LAPACK-функция GETRI. |
|
Оценивает обратное число обусловленности общей матрицы A в норме 1 или в бесконечной норме, используя LU-разложение, полученное методом FactorizationPLURaw. LAPACK-функция GECON. |
|
Решает систему линейных уравнений A * X = scale * RHS для общей матрицы A размером n на n, используя LU-разложение с полной перестановкой, вычисленное методом FactorizationPLUQRaw. LAPACK-функция GESC2. |
|
Решает систему линейных уравнений A * X = B, A**T * X = B или A**H * X = B с трехдиагональной матрицей A, используя LU-разложение, вычисленное методом FactorizationPLUGeTridRaw, для нескольких правых частей. LAPACK-функция GTTRS. |
|
Оценивает величину, обратную числу обусловленности общей трехдиагональной матрицы A в норме 1 или в бесконечной норме, используя LU-разложение, полученное методом FactorizationPLUGeTridRaw. LAPACK-функция GTCON. |
|
Решет систему линейных уравнений A * X = B с вещественной симметричной или комплексной эрмитовой неопределенной матрицей, используя разложение A = U**T * D * U или A = L * D * L**T, вычисленное методом FactorizationLDLRaw с несколькими правыми частями. LAPACK-функции SYTRS, HETRS. |
|
Вычисляет обратную матрицу для вещественной симметричной или комплексной эрмитовой неопределенной матрицы, используя разложение A = U**T * D * U or A = L * D * L**T, вычисленное методом FactorizationLDLRaw. LAPACK-функции SYTRI, HETRI. |
|
Оценивает величину, обратную числу обусловленности вещественной симметричной или комплексной эрмитовой неопределенной матрицы A, используя разложение LDLT, вычисленное методом FactorizationLDLRaw. LAPACK-функции SYCON, HECON. |
|
Решает систему линейных уравнений A * X = B с комплексной симметричной неопределенной матрицей, используя разложение A = U**T * D * U или A = L * D * L**T, вычисленное методом FactorizationLDLComplexSyRaw, для нескольких правых частей. LAPACK-функция SYTRS. |
|
Вычисляет обратную матрицу для комплексной симметричной неопределенной матрицы, используя разложение A = U**T * D * U or A = L * D * L**T, вычесленное методом FactorizationLDLComplexSyRaw. LAPACK-функция SYTRI. |
|
Оценивает обратное значение числа обусловленности комплексной симметричной неопределённой матрицы A с использованием LDLT-разложения, вычисленного методом FactorizationLDLComplexSyRaw. LAPACK-функция SYCON. |
|
Решает систему линейных уравнений A * X = B с вещественной симметричной или комплексной эрмитовой положительно определенной трехдиагональной матрицей, используя разложение A = L * D * L**T, вычисленное методом FactorizationLDLSyTridPD, для нескольких правых частей. LAPACK-функция PTTRS. |
|
Оценивает величину, обратную числу обусловленности вещественной симметричной или комплексной эрмитовой положительно определенной трехдиагональной матрицы A, используя разложение LDLT, вычисленное методом FactorizationLDLSyTridPD. LAPACK-функция PTCON. |
|
Решает систему линейных уравнений A * X = B , где A — вещественная симметричная или комплексная эрмитова положительно определенная матрица, с использованием разложения A = L * L**T, вычисленного методом FactorizationCholesky с несколькими правыми частями. Соответствует функции POTRS из библиотеки LAPACK. |
|
Вычисляет обратную матрицу для вещественной симметричной или комплексной эрмитовой положительно определенной матрицы A с использованием LLT-разложения, вычисленного методом FactorizationCholesky. LAPACK-функция POTRI. |
|
Оценивает обратное число обусловленности (reciprocal condition number) вещественной симметричной или комплексной эрмитовой положительно определенной матрицы A с использованием LDL-разложения, вычисленного методом FactorizationCholesky. Соответствует LAPACK-функции POCON. |
|
В библиотеке OpenBLAS нет специальной функции для вычисления псевдообратной матрицы. Однако для этой цели может использоваться сингулярное разложение (SVD) |
|
В библиотеке OpenBLAS нет специальной функции для вычисления полярного разложения матрицы. Однако для этой цели может использоваться сингулярное разложение (SVD) |
|
Преобразует произвольную вещественную или комплексную матрицу A размера m×n к верхнему или нижнему бидиагональному виду B с помощью ортогонального преобразования: Q**T * A * P = B. При m >= n матрица B будет верхней бидиагональной; при m < n — нижней. Функция LAPACK GEBRD. |
|
Генерирует ортогональные матрицы Q и P**T (или P**H для комплексных типов), определяемые методом ReduceToBidiagonal при приведении вещественной или комплексной матрицы A к бидиагональному виду: A = Q * B * P**T. Матрицы Q и P**T представляют собой произведения элементарных отражений H(i) или G(i) соответственно. Функции LAPACK ORGBR и UNGBR. |
|
Преобразует вещественную симметричную или комплексную эрмитову матрицу A в трехдиагональная форму B с помощью ортогонального преобразования подобия: Q**T * A * Q = B. LAPACK-функции SYTRD и HETRD. |
|
Генерирует ортогональную матрицу Q, которая представляется в виде произведения n-1 элементарных отражений порядка n, как при использовании метода ReduceSymmetricToTridiagonal |
|
Преобразует вещественную или комплексную общую матрицу A размера n на n к верхней форме Хессенберга H с помощью ортогонального преобразования подобия: Q**T * A * Q = H. Функция LAPACK GEHRD. |
|
Генерирует ортогональную матрицу Q, которая определяется как произведение n-1 элементарных рефлекторов порядка n, возвращаемых функцией ReduceToHessenberg: Q = H(1) H(2). . . H(n-1). Функция LAPACK ORGHR. |
|
Возвращает значение 1-нормы, бесконечной нормы, нормы Фробениуса или наибольшего абсолютного значения любого элемента прямоугольной матрицы общего вида. Функция LAPACK LANGE. |
|
Возвращает значение 1-нормы, бесконечной нормы, нормы Фробениуса или наибольшего абсолютного значения любого элемента трехдиагональной матрицы. LAPACK-функция LANGT. |
|
Возвращает значение 1-нормы, бесконечной нормы, нормы Фробениуса или наибольшего абсолютного значения любого элемента верхней матрицы Хессенберга. LAPACK-функция LANHS. |
|
Возвращает значение 1-нормы, бесконечной нормы, нормы Фробениуса или наибольшего абсолютного значения любого элемента действительной симметричной или комплексной эрмитовой матрицы. LAPACK-функции LANSY, LANHE. |
|
MatrixNormComplexSy — возвращает значение 1-нормы, бесконечной нормы, нормы Фробениуса или наибольшего абсолютного значения любого элемента комплексной симметричной (не эрмитовой) матрицы. LAPACK-функция LANSY. |
|
Возвращает значение 1-нормы, бесконечной нормы, нормы Фробениуса или наибольшего абсолютного значения любого элемента действительной симметричной или комплексной эрмитовой трехдиагональной матрицы. LAPACK-функции LANST, LANHT. |
|
Возвращает значение 1-нормы, бесконечной нормы, нормы Фробениуса или наибольшего абсолютного значения любого элемента трапециевидной матрицы размером m на n или треугольной матрицы. LAPACK-функция LANTR. |
|
Балансирует общую вещественную или комплексную квадратную матрицу A. Сначала выполняется перестановка A с помощью преобразования подобия для выделения собственных значений в первых 1 до ILO-1 и последних IHI+1 до N элементов на диагонали. Затем выполняется диагональное преобразование подобия для строк и столбцов от ILO до IHI, чтобы сделать нормы строк и столбцов максимально близкими. Оба шага являются опциональными. Балансировка может уменьшить 1-норму матрицы и повысить точность вычисленных собственных значений и/или собственных векторов. Функция LAPACK GEBAL. |
|
Формирует правые или левые собственные векторы вещественной или комплексной общей матрицы с помощью обратного преобразования, примененного к собственным векторам сбалансированной матрицы, полученной функцией MatrixBalance. Функция LAPACK GEBAK. |
|
Преобразует вещественную или комплексную общую сбалансированную матрицу A размера n на n к верхней форме Хессенберга H с помощью ортогонального преобразования подобия: Q**T * A * Q = H. Функция LAPACK GEHRD. |
|
Генерирует ортогональную матрицу Q, которая определяется как произведение элементарных отражений от ReduceToHessenbergBalanced: Q = H(ilo) H(ilo+1). . . H(ihi-1). Функция LAPACK ORGHR. |
|
Вычисляет собственные значения матрицы Хессенберга H и матриц T и Z из разложения Шура H = Z T Z**T, где T — верхняя квазитреугольная матрица (форма Шура), а Z — ортогональная матрица векторов Шура. Опционально Z может быть перемножена справа с входной ортогональной матрицей Q, что позволяет получить факторизацию Шура матрицы A, которая была приведена к форме Хессенберга H ортогональной матрицей Q: A = Q*H*Q**T = (QZ)*T*(QZ)**T. Функция LAPACK HSEQR. |
|
Вычисляет DMD для пары матриц срезов данных. Функция LAPACK GEDMD. |
|
Вычисляет DMD для пары матриц срезов данных с использованием QR-факторизации для сжатия данных. Функция LAPACK GEDMDQ. |
|
Функция-метод расчёта относительных вкладов спектральных компонент по собственным значениям. |
|
Функция-метод расчёта реконструированных и прогнозируемых данных с использованием спектральных компонент входного временного ряда. |
|
Функция-метод расчёта реконструированных компоненент входного временного ряда и их вклады. |
|
Функция-метод расчёта реконструированного временного ряда с использованиеми первых component_count компонент. |
|
Метод расчета максимального значения параметра регуляризации λmax для данных вектора. |
|
Метод расчета L1-тренда для данных вектора. Параметр регуляризации lambda может быть задан как в абсолютных единицах (relative=false), так и в единицах λmax. |
|
Вычисляет произведение матрицы общего вида размера m на n на вектор: y = alpha * op(A) * x + beta * y. BLAS-функция GEMV. |
|
Вычисляет произведение симметричной матрицы размера n на n на вектор: y = alpha*A*x + beta*y. BLAS-функция SYMV. |
|
Вычисляет произведение эрмитовой матрицы размера n на n на вектор: y = alpha*A*x + beta*y. BLAS-функция HEMV. |
|
Вычисляет произведение треугольной матрицы размера n на n на вектор: y = op(A) * x. BLAS-функция TRMV. |
|
Выполняет обновление ранга 1 матрицы общего вида размера m на n: AU = alpha*x*y + A. BLAS-функции GER, GERU. |
|
Выполняет сопряженное обновление ранга 1 матрицы общего вида размера m на n: AU = alpha * x * conjg(y) + A. BLAS-функция GERC. |
|
Выполняет обновление ранга 1 симметричной матрицы размера n на n: AU = alpha*x*x + A. BLAS-функция SYR. |
|
Выполняет сопряженное обновление ранга 1 эрмитовой матрицы размера n на n: AU = alpha * x * conjg(x) + A. BLAS-функция HER2. |
|
Выполняет обновление ранга 2 симметричной матрицы размера n на n: AU = alpha*x*y + alpha*y*x + A. BLAS-функция SYR2. |
|
Выполняет сопряженное обновление ранга 2 эрмитовой матрицы размера n на n: AU = alpha * x * conjg(y) + conjg(alpha) * y * conjg(x) + A. BLAS-функция HER2. |
|
Вычисляет произведение матриц общего вида: C = alpha * op(A) * op(B) + beta * C, где C — матрица размера m на n, op(A) — матрица размера m на k, op(B) — матрица размера k на n. BLAS-функция GEMM. |
|
Вычисляет произведение матриц, где входная матрица A симметричная. C = alpha*A*B + beta*C или C = alpha*B*A + beta*C, где A — симметричная матрица размера m на m при side='L' или размера n на n в противном случае; B и C — матрицы размера m на n. BLAS-функция SYMM. |
|
Вычисляет произведение матриц, где входная матрица A эрмитова. C = alpha*A*B + beta*C или C = alpha*B*A + beta*C, где A — эрмитова матрица размера m на m при side='L' или размера n на n в противном случае; B и C — матрицы размера m на n. BLAS-функция HEMM. |
|
Вычисляет произведение матриц, где входная матрица A треугольная. C = alpha*op(A) или C = alpha*B*op(A), где A — треугольная матрица размера m на m при side='L' или размера n на n в противном случае; B и C — матрицы размера m на n. BLAS-функция TRMM. |
|
Умножает комплексную матрицу на квадратную действительную матрицу: C = A * B, где A — комплексная матрица размера m на n; B — действительная матрица размера n на n; C — комплексная матрица размера m на n. BLAS-функция LACRM. |
|
Умножает квадратную действительную матрицу на комплексную матрицу: C = A * B, где A — действительная матрица размера m на m; B — комплексная матрица размера m на n; C — комплексная матрица размера m на n. BLAS-функция LARCM. |
|
Выполняет симметричное обновление ранга k: CU = alpha * A * A**T + beta*C или CU = alpha * A**T * A + beta*C. BLAS-функция SYRK. |
|
Выполняет эрмитово обновление ранга k: CU = alpha * A * A**H + beta*C или CU = alpha * A**H * A + beta*C. BLAS-функция HERK. |
|
Выполняет симметричное обновление ранга 2k: CU = alpha * A * B**T + alpha * B * A**T + beta*C или CU = alpha * A**T * B + alpha * B**T * A + beta*C. BLAS-функция SYR2K. |
|
Выполняет эрмитово обновление ранга 2k: CU = alpha * A * B**H + alpha * B * A**H + beta*C или CU = alpha * A**H * B + alpha * B**H * A + beta*C. BLAS-функция HER2K. |