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

LDL Solver

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

LDL Solver

Описание

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

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

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

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

Порты

Вход

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

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

Если входная матрица не является положительно определенной, то поведение блока зависит от значения параметра 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 в коде, сгенерированном для этого блока генератором кода.

Алгоритмы

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

,

где * — матрица с переставленными строками, порядок перестановок определяется вектором перестановок .

  • — нижняя треугольная матрица с единичными диагональными элементами (унитреугольная матрица).

  • — диагональная матрица.

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

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

.

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

,

,

.

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

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