2013-10-23 3 views
3

Недавно я прочитал о том, как R-матрица QR-декомпозиции может быть рассчитана с использованием разложения Холески. Соотношение:QR-разложение и разложение Холески в R

R = Холецкое-разложение (А^ТОТ)

Пример:

> A=matrix(c(1,2,3,2,3,5,1,3,2), nrow=3) 
> A 
    [,1] [,2] [,3] 
[1,] 1 2 1 
[2,] 2 3 3 
[3,] 3 5 2 

> AtA = t(A)%*%A 
> AtA 
    [,1] [,2] [,3] 
[1,] 14 23 13 
[2,] 23 38 21 
[3,] 13 21 14 

Теперь вычисления QR-и Холецкое разложение:

> chol(AtA) 
     [,1]  [,2]  [,3] 
[1,] 3.741657 6.147009 3.4743961 
[2,] 0.000000 0.462910 -0.7715167 
[3,] 0.000000 0.000000 1.1547005 

> qr_A = qr(A) 
> qr.R(qr_A) 
      [,1]  [,2]  [,3] 
[1,] -3.741657 -6.147009 -3.4743961 
[2,] 0.000000 0.462910 -0.7715167 
[3,] 0.000000 0.000000 -1.1547005 

Как наблюдается, что значения R-матрицы, вычисленной из Холески и QR-разложения, не совпадают , Первый и третий строки chol(AtA) отрицаются w.r.t qr.R(qr_A). Почему это? Является ли отношение, которое я предполагаю не правильным?

ответ

5

QR-разложение матрицы не является уникальным! Существует QR-разложение с R = chol (AtA), но есть и другие, и qr не требует этого. В вашем примере

qr.Q(qr_A)%*%qr.R(qr_A) 

и

(qr.Q(qr_A)%*%diag(c(-1,1,-1)))%*%chol(AtA) 

являются действительными QR-разложения А.

+2

Ровно. И еще некоторые подробности, [см. Этот отличный ответ] (http://scicomp.stackexchange.com/questions/1101/seemingly-non-unique-cholesky-factor-via-qr-rectangularisation/1104#1104), если тот же самый вопрос был задан на базе TB-вычисления Computational Science. –

+0

Отлично. Благодаря! Имеются ли реализации QR-декомпозиции в R, которые определенно дают мне положительную диагональ? –

+2

@PrateekKulkarni - [Как обсуждалось здесь] (http://stackoverflow.com/questions/13248960/qr-decomposition-different-in-lm-and-biglm/13252584#13252584), R-пакет ** biglm ** похоже, использует реализацию, которая делает то, о чем вы просите. –

Смежные вопросы