LU-факторизация
[L,U] = lu(A)
[L,U,P] = lu(A)
[L,U,p] = lu(A,'vector')
[L,U,p,q] = lu(A,'vector')
[L,U,P,Q,R] = lu(A)
[L,U,p,q,R] = lu(A,'vector')
lu(A)
[L,U] = lu(
возвращает верхнюю треугольную матрицу A
)U
и матричный L
, такой что A = L*U
. Здесь, L
является продуктом инверсии матрицы перестановок и нижней треугольной матрицы.
[L,U,P] = lu(
возвращает верхнюю треугольную матрицу A
)U
, нижний треугольный матричный L
и матрица перестановок P
, такой что P*A = L*U
. Синтаксис lu(A,'matrix')
идентичен.
[L,U,p] = lu(
возвращает информацию о перестановке как векторный A
,'vector'
)p
, такой что A(p,:) = L*U
.
[L,U,p,q] = lu(
возвращает информацию о перестановке как два вектора - строки A
,'vector'
)p
и q
, такой что A(p,q) = L*U
.
[L,U,P,Q,R] = lu(
возвращает верхнюю треугольную матрицу A
)U
, нижний треугольный матричный L
, матрицы перестановки P
и Q
и масштабирующийся матричный R
, такой что P*(R\A)*Q = L*U
. Синтаксис lu(A,'matrix')
идентичен.
[L,U,p,q,R] = lu(
возвращает информацию о перестановке в двух векторах - строках A
,'vector'
)p
и q
, такой что R(:,p)\A(:,q) = L*U
.
lu(
возвращает матрицу, которая содержит строго нижний треугольный матричный A
)L
(матрица без ее модульной диагонали) и верхняя треугольная матрица U
как подматрицы. Таким образом lu(A)
возвращает матричный U + L - eye(size(A))
, где L
и U
заданы как [L,U,P] = lu(A)
. Матричный A
должен быть квадратным.
Вызов lu
для числовых аргументов, которые не являются символьными объектами, вызывает функцию MATLAB® lu
.
Опция thresh
, поддержанная функцией lu
MATLAB, не влияет на символьные входные параметры.
Если вы используете 'matrix'
вместо 'vector'
, то lu
возвращает матрицы перестановки, как это делает по умолчанию.
L
и U
несингулярны, если и только если A
несингулярен. lu
также может вычислить LU-факторизацию сингулярного матричного A
. В этом случае L
или U
являются сингулярной матрицей.
Большинство алгоритмов для вычислительной LU-факторизации является вариантами Исключения Гаусса.