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

LDL Solver

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

Тип: SubSystem

Путь в библиотеке:

/Signal Operations/Math Functions/Matrices and Linear Algebra/Linear System Solvers/LDL Solver

Описание

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

  • — квадратная эрмитова положительно определенная матрицы на на входе S;

  • — матрица свободных членов на на входе B;

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

Алгоритм

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

где

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

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

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

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

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





Порты

Вход

# S — матрица коэффициентов
матрица M на M

Details

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

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

Типы данных

Float32, Float64, Int8, Int16, Int32

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

Да

# B — матрица свободных членов
матрица M на N | вектор M на 1

Details

Матрица в уравнении , заданная в виде матрицы размером на или вектора размером на .

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

Типы данных

Float32, Float64, Int8, Int16, Int32

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

Да

Выход

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

Details

Решение системы уравнений, возвращаемое в виде матрицы на или вектора на . Размер выходной матрицы X такой же, как размер входной матрицы B.

Типы данных

Float64

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

Да

Параметры

Main group

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

Details

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

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

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

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

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

Ignore | Warning | Error

Значение по умолчанию

Ignore

Имя для программного использования

dropdown_1

Настраиваемый

Нет

Вычисляемый

Да