2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.



Начать новую тему Ответить на тему
 
 модификация фактора Холецкого
Сообщение24.06.2015, 08:37 


06/02/13
14
На викиведии (https://en.wikipedia.org/wiki/Cholesky_decomposition#Updating_the_decomposition) описана чистичная модификация фактора Холецкого при обновлении исходной матрицы. Не могу понять, как модифицировать алгоритм с учетом нормализиции.

Т.е., если есть исходная матрица J (прямоугольная, частных производных), то находим от нее симметричную положительно определенную матрицу как

Код:
H = J'*J;


Затем (с помощью матлаба) находим фактор разложения Холецкого от матрицы H

Код:
L = chol(H)';


Процедура модификации фактора описана в википедии как

Код:
function [L] = cholupdate(L,x)
    p = length(x);
    for k=1:p
        r = sqrt(L(k,k)^2 + x(k)^2);
        c = r / L(k, k);
        s = x(k) / L(k, k);
        L(k, k) = r;
        L(k+1:p,k) = (L(k+1:p,k) + s*x(k+1:p)) / c;
        x(k+1:p) = c*x(k+1:p) - s*L(k+1:p,k);
    end
end


Тогда при добавлении строки к матрице J быстро находим модифицированный фактор

Код:
L_updated = cholupdate(L, new_J_row');


Но все меняется, если мне надо провести нормализцию матрицы H. Нормализацию делаю так:

Код:
n = 1 ./ sqrt(diag(H));
Hn = diag(n) * H * diag(n);
Ln = chol(Hn)';


Как выполнить модификацию Lh фактора (добавление не-нормализованной строки к матрице J) с учетом нормализации H?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group