LDL Solver
Решение системы линейных уравнений с квадратной эрмитовой положительно определенной матрицей коэффициентов с использованием LDL-разложения.
Описание
Блок 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
Поддержка комплексных чисел: Да
Параметры
Non-positive definite input — поведение блока, если входная матрица S не является положительно определенной
Ignore (по умолчанию)
| Warning
| Error
Укажите поведение блока в случае, если входная матрица не является положительно определенной:
-
Ignore
— блок продолжает вычисления и не выдает предупреждение. Полученный результат не является правильным решением. -
Warning
— блок продолжает вычисления, но в командном окне Engee отображается предупреждающее сообщение. Полученный результат не является правильным решением. -
Error
— отображается диалоговое окно ошибки и вычисления прекращаются.
Параметр Non-positive definite input является диагностическим. Как и все диагностические параметры, он установлен в значение Ignore в коде, сгенерированном для этого блока генератором кода.
|
Алгоритмы
Алгоритм LDL-разложения однозначно представляет эрмитову положительно определенную входную матрицу как
,
где * — матрица с переставленными строками, порядок перестановок определяется вектором перестановок .
-
— нижняя треугольная матрица с единичными диагональными элементами (унитреугольная матрица).
-
— диагональная матрица.
-
— эрмитова (комплексно-сопряженная) транспонированная матрица .
Результирующее уравнение будет иметь вид:
.
При замене и получается одна система уравнений с диагональной матрицей и две системы уравнений с треугольными матрицами:
,
,
.