Итерация подпространства для нахождения наименьших собственных значений для обобщенного собственного значения - PullRequest
2 голосов
/ 02 марта 2012

У меня есть вопрос, касающийся метода итераций в подпространстве для обобщенной задачи на собственные значения.Я использую MATLAB для решения нескольких наименьших собственных значений, используя метод итераций подпространства.Решив приведенную систему, нормализуем ли мы собственные векторы по отношению к матрице масс?

Например:

[eve,eva] = eig(full(kred),full(mred));
x = xbar*eve % update eigen vector

Перед обновлением x мы должны выполнить

nn = eve'*mred*eve 
for i = 1:min(2*m,m+8)
    evec(:,i) = evec(:,i)/sqrt(i,i);
end

, а затем обновить x?Когда я использую метод подпространства без nn и цикла for, самые низкие собственные значения не совпадают по сравнению с самыми низкими из полных собственных значений (из matlab eig).Когда я использую nn и цикл for, я вижу, что собственные значения одинаковы. Алгоритм не включает в себя эти дополнительные шаги, но без них результаты из matlab не соответствуют моему итеративному методу. Есть ли какая-то особая причина этого?

Заранее спасибо ...

...