using WoodburyMatrices W = Woodbury(A, U, C, V)
Woodbury matrix from the
These matrices can be dense or sparse (or generally any type of
AbstractMatrix), with the caveat that
inv(inv(C) + V*(A\U)) will be calculated explicitly and hence needs to be representable with the available resources.
(In many applications, this is a fairly small matrix.)
There are only a few things you can do with a Woodbury matrix:
full(W)converts to its dense representation
W\bsolves the equation
W*x = bfor
x. Note that the Woodbury matrix identity is notorious for floating-point roundoff errors, so be prepared for a certain amount of inaccuracy in the result.
det(W)computes the determinant of
It's worth emphasizing that
A can be supplied as a factorization, which makes
det(W) more efficient.