Inverse of Toeplitz matrix of order n+1 given inverse of order n
Inverse of Toeplitz matrix of order n+1 given inverse of order n
Let G be a Toeplitz matrix of order n and with (i,j)-element, r[Abs[i-j]]. So the first row of G may be written (r[0],...,r[n-1]). Suppose the next element in the sequence is r[n]. Then the inverse of the Toeplitz matrix whose first row is (r[0],...,r[n]) may be obtained either using ToeplitzInverseUpdate or directly using TrenchInverse. ToeplitzInverseUpdate is somewhat faster.
ToeplitzInverseUpdate(GI, r, rnew)
Arguments
GI: inverse of Toeplitz matrix G of order n
r: first row of G , ie r[0],...,r[n-1]
rnew: next element, r[n]
Details
Although this update requires O(n2) flops, the same as TrenchInverse, it is somewhat faster in practice.
Returns
inverse matrix of order n+1
References
Graybill, F.A. (1983). Matrices with Applications in Statistics.
McLeod, A.I., Yu, Hao, Krougly, Zinovi L. (2007). Algorithms for Linear Time Series Analysis, Journal of Statistical Software.
Author(s)
A.I. McLeod
See Also
TrenchInverse
Examples
#In this example we compute the update inverse directly and using ToeplitzInverseUpdate and#compare the result.phi<-0.8sde<-30n<-30r<-arima.sim(n=30,list(ar=phi),sd=sde)r<-phi^(0:(n-1))/(1-phi^2)*sde^2n1<-25G<-toeplitz(r[1:n1])GI<-solve(G)#could also use TrenchInverseGIupdate<-ToeplitzInverseUpdate(GI,r[1:n1],r[n1+1])GIdirect<-solve(toeplitz(r[1:(n1+1)]))ERR<-sum(abs(GIupdate-GIdirect))ERR