Тут є два окремих питання.
- Ax=bA1/2b
- Як обчислити визначник.
Короткі відповіді: 1) використовуйте раціональні наближення функції матриці; 2) ви цього не робите, але вам це все одно не потрібно. Я вирішую обидва ці питання нижче.
Наближення матричного квадратного кореня
Ідея тут полягає в перетворенні раціонального наближення функції для скалярних функцій в раціональне наближення функції для матричних функцій.
x−−√≈r(x):=a1x+b1+a2x+b2+⋯+aNx+bN,
bi[m,M]O(logMm)ai−bi
r(A)=a1(A+b1I)−1+a2(A+b2I)−1+⋯+aN(A+bNI)−1.
A
||A1/2−r(A)||2=||U(Σ1/2−r(Σ))U∗||2,=maxi|σi−−√−r(σi)|
A=UΣU∗A
Позначивши номер умови за допомогою , ми можемо застосувати до будь-якого потрібного допуску, виконавши позитивно зміщений графік лаплаціанських розв’язків форми,
AκA1/2bO(logκ)
(A+bI)x=b.
Ці рішення можна виконати за допомогою улюбленого вирішувача графіка Laplacian - я віддаю перевагу методам багатожиточного типу, але той, який ви цитуєте в роботі, теж повинен бути добре. Додатковий лише сприяє конвергенції розв'язувача.bI
Для чудової статті, що обговорює це, а також більш загальні методи складного аналізу, що застосовуються до несиметричних матриць, див. Обчислення , та пов'язані з ними функції матриць за допомогою контурних інтегралівAαlog(A) , Хейл, Хігхем і Трефетен (2008) ).
Визначальний "обчислення"
Детермінант важче обчислити. Наскільки я знаю, кращий спосіб обчислити розкладання Шура з допомогою QR - алгоритму, а потім зчитувати власні від діагоналі верхньої трикутної матриці . Це займає час , де - кількість вузлів у графі.A=QUQ∗UO(n3)n
Однак обчислення визначників є суттєво не обумовленою проблемою, тому якщо ви коли-небудь читаєте статтю, яка спирається на обчислення визначників великої матриці, ви повинні бути дуже скептично налаштовані до методу.
На щастя, вам, мабуть, фактично не потрібен детермінант. Наприклад,
Ми можемо розглядати як оновлення низького рангу до тотожності,
де дієва ранг, , оновлення низького рангу - це локальний показник того, наскільки не гауссова справжня дистрибуція; зазвичай це набагато нижче, ніж повний ранг матриці. Дійсно, якщо великий, то справжній розподіл локально настільки неавсійський, що варто поставити під сумнів всю стратегію спроби вибірки цього розподілу за допомогою локальних наближень Гаусса.A−1x0Axp
A−1x0Axp=I+QDQ∗,
rr
Фактори низького рангу і можна знайти за допомогою рандомізованих SVD або Lanczos, застосувавши матрицю
до різних векторів, для кожного застосування яких потрібен один графік Розчин Лаплаціа. Таким чином, загальна робота щодо отримання цих низькопорядкованих факторів становить .QD
A−1x0Axp−I
O(r)O(rmax(n,E))
Знаючи , визначальне співвідношення тоді
D=diag(d1,d2,…,dr)
det(A−1x0Axp)=det(I+QDQ∗)=exp(∑i=1rlogdi).
Ці методи визначення обчислювального коефіцієнта низького рангу можна знайти в методі Stohastic Newton MCMC для великих масштабних статистичних обернених проблем із застосуванням до сейсмічної інверсії , Martin, et al. (2012 р.). У цій роботі він застосовується до задач континууму, тому "граф" - це сітка в тривимірному просторі, а графік Лаплаціан - фактична матриця Лаплачія. Однак всі методи застосовуються до загальних графіків лаплачан. Напевно, є й інші документи, що застосовують цю техніку до загальних графіків (розширення тривіальне і в основному те, що я щойно написав).