Матричное разложение для решения линейных систем
decomposition
создает допускающие повторное использование матричные разложения (LU, LDL, Холесский, QR, и больше), которые позволяют вам решить линейные системы (Ax = b или xA = b) более эффективно. Например, после вычисления dA = decomposition(A)
вызов dA\b
возвращает тот же вектор как A\b
, но обычно намного быстрее. объекты decomposition
являются подходящими к решению проблем, которые требуют повторных решений, поскольку разложение матрицы коэффициентов не должно быть выполнено многократно.
Можно использовать объект decomposition
dA
со многими из тех же операторов, вы можете использовать на исходной матрице коэффициентов A
:
Комплексное сопряженное транспонирование dA'
Отрицание -dA
Умножьтесь или разделитесь на скаляр с помощью c*dA
или dA/c
.
Решите линейную систему Ax = b с помощью x = dA\b
.
Решите линейную систему xA = b с помощью x = b/dA
.
dA = decomposition(A)
dA = decomposition(A,type)
dA = decomposition(A,type,triangularFlag)
dA = decomposition(___,Name,Value)
возвращает разложение матричного dA
= decomposition(A
)A
, который можно использовать, чтобы решить линейные системы более эффективно. Тип разложения автоматически выбран на основе свойств входной матрицы.
указывает, что только верхний или нижний треугольный фрагмент dA
= decomposition(A
,type
,triangularFlag
)A
должен использоваться в разложении. triangularFlag
может быть 'upper'
или 'lower'
. С этим синтаксисом типом разложения должен быть 'ldl'
, 'chol'
или 'triangular'
.
задает дополнительные опции с помощью одного или нескольких аргументов пары dA
= decomposition(___,Name,Value
)Name,Value
с помощью любого из предыдущих синтаксисов. Например, dA = decomposition(A,'CheckCondition',false)
задает, чтобы не выдать предупреждение на основе условия A
при решении dA\b
.
Первичные функции и операторы, которые можно использовать с объектами decomposition
, связаны с решением линейных систем уравнений.
ctranspose | Комплексное сопряженное транспонирование |
mldivide | Решите системы линейных уравнений Ax = B для x |
mrdivide | Решите системы линейных уравнений xA = B для x |
isIllConditioned | Определите, обусловливается ли матрица плохо |
Также можно проверять номер условия или ранг базовой матрицы объектов decomposition
. Поскольку различные алгоритмы используются, результаты использования этих функций на объекте decomposition
могут отличаться по сравнению с использованием тех же функций непосредственно на матрице коэффициентов.
rank |
|
rcond |
|