Spec-Zone.ru › Octave 8

18.1 Методы, используемые для линейной алгебры

Octave включает полиморфный решатель, который выбирает подходящее разложение матрицы в зависимости от свойств самой матрицы. Как правило, затраты на определение типа матрицы невелики по сравнению с затратами на факторизацию самой матрицы. В любом случае тип матрицы кэшируется после его вычисления, чтобы он не переопределялся каждый раз при использовании в линейном уравнении.

Дерево выбора для решения линейного уравнения или формирования обратной матрицы задается следующим образом:

  1. Если матрица является верхней или нижней треугольной разреженной, используйте прямую или обратную подстановку с помощью функции LAPACK xTRTRS, и перейдите к шагу 4.
  2. Если матрица квадратная, эрмитова с действительной положительной диагональю, выполните факторизацию Холецкого с помощью функции LAPACK xPOTRF.
  3. Если факторизация Холецкого завершилась неудачно или матрица не эрмитова с действительной положительной диагональю, и матрица квадратная, выполните факторизацию с помощью функции LAPACK xGETRF.
  4. Если матрица не квадратная или любой из предыдущих решателей отмечает сингулярную или почти сингулярную матрицу, найдите решение в виде наименьших квадратов с помощью функции LAPACK xGELSD.

Пользователь может принудительно установить тип матрицы с помощью функции matrix_type. Это позволяет избежать затрат на определение типа матрицы. Однако следует отметить, что неправильное определение типа матрицы приведет к непредсказуемым результатам, поэтому следует использовать matrix_type с осторожностью.

Следует отметить, что проверка того, является ли матрица кандидатом для факторизации Холецкого, выполненная выше, и функцией matrix_type, не гарантирует, что матрица является эрмитовой. Однако попытка факторизации матрицы быстро определит неэрмитову матрицу.

© 1996–2022 The Octave Project Developers
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions.
https://docs.octave.org/v7.2.0/Techniques-Used-for-Linear-Algebra.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API