Подключиться через MCP →

Введите расчет

Введите элементы квадратной матрицы построчно. Неиспользуемые ячейки (за пределами размера n) не учитываются.

Математическая формула

Математическая формула: Калькулятор LU-разложения с частичным выбором ведущего элемента
Show calculation steps (1)
  1. Determinant

    Determinant: Калькулятор LU-разложения с частичным выбором ведущего элемента

    Determinant from the permutation sign and the product of U's diagonal entries.

Реклама

Результатов

Determinant det(A) = sign(P) × product of U diagonal
-16

Нижнетреугольная матрица L

1 0 0
0.5 1 0
-0.5 1 1

Верхнетреугольная матрица U

4 -6 0
0 4 1
0 0 1

Вектор перестановки строк P (нумерация с нуля)

P = ( 1, 0, 2 )

Because of partial pivoting, L·U equals the матрице с переставленными строками matrix A (reorder A's rows by P first), so P·A = L·U. A naive L·U product will not reproduce the original A unless you apply the permutation P.

Метод LU-разложение методом Дулиттла с частичным выбором ведущего элемента (по строкам)
Размер матрицы 3 × 3

Что такое LU-разложение с частичным выбором ведущего элемента?

LU-разложение представляет квадратную матрицу A в виде произведения нижнетреугольной матрицы L (с единицами на главной диагонали) и верхнетреугольной матрицы U. При частичном выборе ведущего элемента (по строкам) дополнительно формируется вектор перестановки строк P, такой что \(P \cdot A = L \cdot U\). Выбор ведущего элемента переставляет на нужное место строку с наибольшим по модулю опорным элементом — это исключает деление на ноль и заметно повышает численную устойчивость. Это чистая линейная алгебра, которая работает одинаково везде и не зависит от страны.

Схема: матрица P на A равна L на U, где L нижнетреугольная, а U верхнетреугольная
Частичный выбор ведущего элемента раскладывает переставленную матрицу P·A на нижнетреугольную L и верхнетреугольную U.

Как пользоваться калькулятором

Выберите размер матрицы n (от 2 до 5), введите элементы квадратной матрицы построчно и укажите, сколько значащих цифр показывать в результате. Нажмите «Вычислить», чтобы получить L, U, вектор перестановки P (нумерация с нуля) и определитель. Ячейки за пределами выбранного размера не учитываются.

Алгоритм

Для каждого столбца k находим строку p (p ≥ k), в которой |M[p][k]| максимально, и переставляем её на место строки k. Затем для каждой строки i ниже k вычисляем множитель factor = M[i][k] / M[k][k], сохраняем его в нижней части матрицы и обновляем оставшиеся элементы: \(M[i][j] \mathrel{-}= \text{factor} \cdot M[k][j]\). После обработки всех столбцов L — это строго нижняя часть M с единичной диагональю, а U — верхняя часть вместе с диагональю. Определитель равен знаку перестановки, умноженному на произведение диагональных элементов U:

$$\det(A) = \operatorname{sign}(P) \prod_{i} U_{ii}$$
Реклама
Блок-схема частичного выбора ведущего элемента: выбор наибольшего по модулю элемента в столбце и перестановка строк
На каждом шаге выбирается строка с наибольшим по модулю элементом в столбце и переставляется наверх перед исключением нижних.

Разбор примера

Для A = [[2,1,1],[4,-6,0],[-2,7,2]] первый ведущий элемент находится в строке 1 (|4| — наибольший), поэтому P становится (1,0,2). После исключения получаем L = [[1,0,0],[0.5,1,0],[-0.5,1,1]], U = [[4,-6,0],[0,4,1],[0,0,1]]. Одна перестановка даёт знак −1, поэтому $$\det(A) = -1 \times (4 \cdot 4 \cdot 1) = -16.$$

Частые вопросы

Почему L·U не совпадает с исходной матрицей A? Из-за перестановок L·U равно матрице A со строками, переставленными согласно P. Сначала переупорядочьте строки A по вектору P — тогда L·U совпадёт.

А если матрица вырожденная? На диагонали U появится ноль, а определитель будет равен 0; при этом разложение всё равно выводится.

Нумерация вектора перестановки начинается с нуля? Да. P[i] — это индекс исходной строки матрицы A, которая оказалась в строке i.

Последнее обновление: