{{ message }}

mpf / QRupdate.jl Public

Update and solve routines for "Q-less" QR factorization.

Switch branches/tags
Nothing to show

Files

Failed to load latest commit information.
Type
Name
Commit time

QRupdate

Update the "Q-less" QR factorization of a matrix. Routines are provided for adding and deleting columns, adding rows, and solving the least-squares systems.

Installing

Pkg.clone("https://github.com/mpf/QRupdate.jl.git")
Pkg.test("QRupdate")

Examples

Build the "Q-less" QR factorization of A one column at a time.

m, n = 100, 50
A = randn(m,0)
R = Array{Float64}(0,0)
for i in 1:n
a = randn(m)
A = [A a]
end

Solve a least-squares problem using R.

b = randn(m)
x, r = csne(R, A, b)

Deleting columns

Delete a column and compute new R.

n = size(A,2)
k = rand(1:n)
A = A[:, 1:n .!= k]
R = qrdelcol(R, k)

Solve a least-squares problem using R.

x, r = csne(R, A, b)

n = size(A,2)
a = randn(n)'  # must be row vector
A = [A; a]

Solve a least-squares problem using R.

b = [b; randn()]
x, r = csne(R, A, b)

Reference

Björck, A. (1996). Numerical methods for least squares problems. SIAM.

Update and solve routines for "Q-less" QR factorization.