Розкладання Холецького калькулятор

Формат чисел
Коментарі рішення
Без опису (тільки відповідь)

a

b

c

d

x

y

z

clear

i

ab
x2
xn

Randomize

313131313135151515151583137
2
2510
=Розв'язати

  Про матричний розклад Холецького

Це безкоштовний онлайн-калькулятор матричного розкладу Холецького з повним, детальним, покроковим описом розв'язків, що виконує операції з матрицями розміром до 99x99 з елементами матриці таких типів: десяткові числа, дроби, комплексні числа, змінні.

Щоб розпочати розрахунок, потрібно спочатку ввести розмір матриці в поле введення, яке можна знайти у верхній частині екрана, також там можна вибрати бажаний метод розрахунку.

Трохи нижче ви знайдете вікно матриці, в якому потрібно ввести елементи матриці за допомогою клавіатури. Тут також розташована панель керування матрицею, яка спрощує роботу з матрицями та містить такі елементи керування:

  • Перший елемент дозволяє розширити вікно матриці. Це може бути особливо корисно у випадках, коли потрібно виконувати розрахунки з дуже великими матрицями, які не вміщаються повністю. Якщо матриця все ще не видно після розширення вікна, ви можете змінити масштаб матриці за допомогою кнопок + / -;
  • Другий елемент виконує функцію копіювання введеної матриці в буфер пам'яті. Це може бути корисно у випадках, коли ви часто використовуєте одну й ту саму матрицю для розрахунків або якщо вам потрібно переміщати матриці між операціями;
  • А останній елемент вставляє раніше скопійовану матрицю, що дозволяє прискорити процес введення матриці до кількох кліків, замість того, щоб робити це вручну;

А ще нижче ви знайдете панель інструментів, яка дозволяє налаштувати калькулятор і зробити роботу з ним зручнішою. Вона візуально розділена на три частини, кожна з яких відповідає за наступний функціонал:

  • Перша дозволяє вибрати формат чисел при відображенні результату розв'язку. Також тут можна вимкнути коментарі до розв'язку задачі, якщо ви вже зрозуміли, як розв'язати цю задачу, і використовуєте калькулятор для прискорення або перевірки власних розрахунків. Або ви можете повністю вимкнути покроковий розв'язок, якщо вам потрібен лише результат розв'язку;
  • Друга містить кнопки, які дозволяють змінювати тип поля введення матриці, стирати її елементи або всю матрицю, а також найбільша кнопка зі знаком рівності, яка перенесе вас на екран з розв'язком задачі. Усі ці кнопки продубльовані клавішами на клавіатурі. Щоб дізнатися, яку клавішу на клавіатурі натиснути, просто наведіть курсор на одну з кнопок, і з'явиться підказка з назвою клавіші. Ви також можете використовувати клавіші зі стрілками на клавіатурі для переміщення курсору між полями введення матриці;
  • І остання дозволяє вибрати кількість знаків після коми для округлення нецілих чисел. Також тут можна одразу побачити приклад того, як виглядатимуть округлені дроби;

  Що таке розклад Холецького?

Розклад Холецького — це факторизація симетричної додатно визначеної матриці на нижньотрикутну матрицю та транспоновану нижньотрикутну матрицю, а добуток цих матриць дає вихідну матрицю. Матриця є симетричною, якщо вона дорівнює своїй транспонування, і додатно визначеною, якщо всі її верхні ліві підматриці є додатними.

  Як виконати розклад Холецького матриці?

Спочатку потрібно переконатися, що матриця є симетричною додатно визначеною. Потім починається ітеративний процес пошуку нижньотрикутної матриці. Ітерацій буде стільки ж, скільки елементів під головною діагоналлю вихідної матриці, кожен елемент має свою ітерацію. І результатом кожної ітерації буде один елемент нижньотрикутної матриці. Щоб знайти елементи нижньотрикутної матриці, потрібно використати дві формули (1) і (2), див. нижче..

  Приклад розкладу Холецького матриці

Запишемо вихідну матрицю
A
:
A
=
4
2
2
2
5
1
2
1
3
Розкладання Холецького - це представлення симетричної позитивно визначеної матриці
A
як
A
=
L
*
L
T
0
;
Матриця є симетричною, якщо вона дорівнює її транспонованій матриці:
A
=
A
T
0
;
Матриця є позитивно визначеною, якщо її верхні ліві підматриці позитивні;
Перед обчисленням матриці
L
перевіримо, чи є матриця
A
симетричною та позитивно визначеною;
2
Симетрична
Щоб визначити, чи є матриця
A
симетричною, знайдемо її транспоновану матрицю та порівняємо їх:
A
T
0
=
4
2
2
2
5
1
2
1
3
A
=
A
T
0
=
4
2
2
2
5
1
2
1
3
=
4
2
2
2
5
1
2
1
3

Позитивно визначена

3
M₁
4
2
2
2
5
1
2
1
3
=
4
=
4
;
4
>
0;
позитивна;
4
M₂
4
2
2
2
5
1
2
1
3
=
4
2
2
5
=
16
;
16
>
0;
позитивна;
5
M₃
4
2
2
2
5
1
2
1
3
=
4
2
2
2
5
1
2
1
3
=
32
;
32
>
0;
позитивна;
6
Матриця L
Ми перевірили, що матриця
A
симетрична позитивно визначена;
Це означає, що розкладання Холецького можливе;
Запишемо вихідну матрицю
L
і відзначимо елементи, які потрібно знайти, як невідомі:
L
=
×××
0
××
0
0
×
Для обчислення елементів матриці
L
скористаємося двома формулами:
Перша формула (1) для елементів, розташованих на головній діагоналі;
Друга формула (2) призначена для всіх інших елементів;
l
0
i,i
=
a
0
i,i
-
i
- 1
k
= 1
l
2
i,k
(1)
Використовуємо цю формулу, коли
i = j
;
// де
i
- номер рядка
j
- номер стовпця
k
- змінна лічильник, яка для кожного елемента lᵢ,ᵢ буде починатися зі значення 1, збільшуватися на 1 кожної ітерації і закінчуватися значенням i - 1
a
– елемент матриці A
l
– елемент матриці L
Виняток:
Щоб обчислити
l
0
1,1
, нам потрібен елемент під індексом
i - 1
, який у даному випадку дорівнює 0 і, отже, не існує;
Отже, у цьому випадку:
l
0
1,1
=
a
0
1,1
;
l
0
i,j
=
a
0
i,j
-
j
- 1
k
= 1
l
0
j,k
*
l
0
i,k
l
0
j,j
(2)
Використовуємо цю формулу, коли
i > j
;
// де
i
- номер рядка
j
- номер стовпця
k
- змінна лічильник, яка для кожного елемента lᵢ,ⱼ буде починатися зі значення 1, збільшуватися на 1 кожної ітерації і закінчуватися значенням j - 1
a
– елемент матриці A
l
– елемент матриці L
Виняток:
Щоб обчислити
l
0
i
,1
, нам потрібен елемент під індексом
j - 1
, який у даному випадку дорівнює 0 і, отже, не існує;
Отже, у цьому випадку:
l
0
i
,1
=
a
0
i
,1
l
0
1,1
;
7
l₁,₁
i
= 1;
j
= 1;
Використовуємо виняток формули
(1)
:
l
0
1,1
=
a
0
1,1
=
4
=
2
;
Запишемо обчислений елемент у матрицю
L
:
L
=
2
××
0
××
0
0
×
8
l₂,₁
i
= 2;
j
= 1;
Використовуємо виняток формули
(2)
:
l
0
2,1
=
a
0
2,1
l
0
1,1
=
2
2
=
1
;
Запишемо обчислений елемент у матрицю
L
:
L
=
2
1
×
0
××
0
0
×
9
l₂,₂
i
= 2;
j
= 2;
k
= { 1 };
Використовуємо формулу
(1)
:
l
0
2,2
=
a
0
2,2
-
l
2
2,1
=
5
-
1
2
0
=
2
;
Запишемо обчислений елемент у матрицю
L
:
L
=
2
1
×
0
2
×
0
0
×
10
l₃,₁
i
= 3;
j
= 1;
Використовуємо виняток формули
(2)
:
l
0
3,1
=
a
0
3,1
l
0
1,1
=
2
2
=
1
;
Запишемо обчислений елемент у матрицю
L
:
L
=
2
1
1
0
2
×
0
0
×
11
l₃,₂
i
= 3;
j
= 2;
k
= { 1 };
Використовуємо формулу
(2)
:
l
0
3,2
=
a
0
3,2
-
(
l
0
2,1
*
l
0
3,1
)
l
0
2,2
=
1
-
(
1
*
1
)
2
=
0
;
Запишемо обчислений елемент у матрицю
L
:
L
=
2
1
1
0
2
0
0
0
×
12
l₃,₃
i
= 3;
j
= 3;
k
= { 1, 2 };
Використовуємо формулу
(1)
:
l
0
3,3
=
a
0
3,3
-
(
l
2
3,1
+
l
2
3,2
)
=
3
-
(
1
2
0
+
0
2
0
)
=
1
41
100
;
Запишемо обчислений елемент у матрицю
L
:
L
=
2
1
1
0
2
0
0
0
1
41
100
13
Матриця Lᵀ
Ми обрахували всі елементи матриці
L
;
Тепер, щоб завершити розкладання Холецького, нам просто потрібно знайти її транспоновану матрицю:
L
T
0
=
2
0
0
1
2
0
1
0
1
41
100
Answer
A = L · Lᵀ
L
=
2
1
1
0
2
0
0
0
1
41
100
L
T
0
=
2
0
0
1
2
0
1
0
1
41
100
Розмір3×3

  Джерела