Документация Engee

Cholesky Solver

Решение системы линейных уравнений с квадратной эрмитовой положительно определенной матрицей коэффициентов с использованием разложения Холецкого.

cholesky solver

Описание

Блок Cholesky Solver решает линейную систему уравнений с использованием разложения Холецкого входной матрицы :

  • — входной сигнал на порту S в виде квадратной эрмитовой положительно определенной матрицы на .

  • — входной сигнал на порту B в виде матрицы на .

  • — решение системы уравнений в виде матрицы на .

Порты

Вход

S — входная матрица S
матрица M на M

Входная матрица в уравнении размером на . Матрица должна быть эрмитовой положительно определенной. Блок использует только элементы диагонали и выше главной диагонали матрицы и игнорирует остальные. Мнимые части в диагональных элементах игнорируются. Входы S и B должны иметь одинаковое количество строк.

Если входная матрица не является положительно определенной, то поведение блока зависит от значения параметра Non-positive definite.

Типы данных: Float32, Float64

Поддержка комплексных чисел: Да

B — входная матрица B
матрица M на N | вектор M на 1

Матрица в уравнении размером на или вектор размером на 1.

Если задан вектор длиной , то блок обрабатывает его как матрицу на 1. Входы S и B должны иметь одинаковое количество строк.

Типы данных: Float32, Float64

Поддержка комплексных чисел: Да

Выход

X — решение системы уравнений
матрица M на N | вектор M на 1

Блок находит решение уравнений в виде матрицы размером на или вектора размером на 1. Размер матрицы такой же, как размер матрицы .

Типы данных: Float32, Float64

Поддержка комплексных чисел: Да

Параметры

Non-positive definite input — поведение блока, если входная матрица S не является положительно определенной
Ignore (по умолчанию) | Warning | Error

Укажите поведение блока в случае, если входная матрица не является положительно определенной:

  • Ignore — блок продолжает вычисления и не выдает предупреждение. Полученный результат не является правильным решением.

  • Warning — блок продолжает вычисления, но в командном окне Engee отображается предупреждающее сообщение. Полученный результат не является правильным решением.

  • Error — отображается диалоговое окно ошибки и вычисления прекращаются.

Параметр Non-positive definite input является диагностическим. Как и все диагностические параметры, он установлен в значение Ignore в коде, сгенерированном для этого блока генератором кода.

Алгоритмы

Алгоритм разложения Холецкого однозначно представляет эрмитову положительно определенную входную матрицу как

,

где

  • — нижняя треугольная матрица с положительными диагональными элементами;

  • — эрмитова (комплексно-сопряженная) транспонированная матрица .

Результирующее уравнение будет иметь вид:

.

При замене получается две системы уравнений с треугольными матрицами, которые решаются прямой и обратной подстановкой соответственно:

,

.

Дополнительные возможности

Генерация Си кода: Да