Как исправить матрицу, близкую к сингулярной

Сингулярная матрица - это квадратная матрица (имеющая количество строк, равное количеству столбцов), не имеющая обратной. То есть, если A - сингулярная матрица, не существует такой матрицы B, что A * B = I, единичная матрица. Вы проверяете, является ли матрица сингулярной, взяв ее определитель: если определитель равен нулю, матрица сингулярна. Однако в реальном мире, особенно в статистике, вы найдете много матриц, которые почти сингулярны, но не совсем сингулярны. Для математической простоты вам часто бывает необходимо исправить почти сингулярную матрицу, сделав ее сингулярной.

Запишите определитель матрицы в ее математической форме. Определителем всегда будет разница двух чисел, которые сами являются произведениями чисел в матрице. Например, если матрица - это строка 1: [2.1, 5.9], строка 2: [1.1, 3.1], то определитель - это второй элемент строки 1, умноженный на первый элемент строки 2, вычитаемый из количества, полученного в результате умножения первого элемента строки 1 на второй элемент строки 2. То есть определитель для этой матрицы записывается 2.13.1 – 5.9​1.1.

Упростим определитель, записав его как разность всего двух чисел. Произведите любое умножение в математической форме определителя. Чтобы получить только эти два члена, произведите умножение, получив 6,51–6,49.

Округлите оба числа до одного и того же непростого целого числа. В этом примере для округленного числа возможны как 6, так и 7. Однако 7 - простое число. Итак, округлим до 6, получив 6-6 = 0, что позволит матрице быть сингулярной.

Приравняйте первый член в математическом выражении для определителя к округленному числу и округлите числа в этом члене, чтобы уравнение было истинным. Например, вы должны написать 2,1 * 3,1 = 6. Это уравнение неверно, но вы можете сделать его верным, округлив 2,1 до 2 и 3,1 до 3.

Повторите для других условий. В этом примере у вас есть термин 5.9.Осталось 1.1. Таким образом, вы должны написать 5,91.1 = 6. Это неправда, поэтому вы округляете 5,9 до 6 и 1,1 до 1.

Замените элементы в исходной матрице округленными членами, создав новую сингулярную матрицу. Например, поместите округленные числа в матрицу так, чтобы они заменяли исходные термины. Результатом является сингулярная матрица строка 1: [2, 6], строка 2: [1, 3].

  • Доля
instagram viewer