I have an iterative algorithm in which two matrices with a fixed number of 
rows grow in number of columns. The algorithm requires only the last *N*columns 
(where N is a predefined fixed integer). If the number of columns 
grow to *N + d*, then the first *d* columns are no longer required and can 
be deleted/overwritten. So what would be an efficient way to let a matrix 
grow up to *N* columns and to continue by popping the first column before 
appending a new one? Please keep in mind that I need to perform matvec and 
qr-decompositions on these matrices.

A pseudo code of what I would like to do in an efficient manner is this:

v = myFuncV()
w = myFuncW()

if size(V, 2) == N
    V = [V[:, 2:N] v]
    W = [W[:, 2:N] w]
else
    V = [V v]
    W = [W w]
end

Reply via email to