Factorizacion de cholesky online dating mbpj tinder dating site
Lets say we have a block matrix $ M =\left( \begin A & B\ B^ & C \end \right)$ where M is positive definite. The matrix $M = LU$ can be decomposed in an algebraic manner into $L = \begin A^ & 0 \ B^ A^ & Q^ \end$ where $\begin Q = C - B^ A^ B \end$ $*$ indicates transpose in this case Now lets say we have already carried out the cholesky decomposition for A, and C.
"LU Decomposition and Its Applications." §2.3 in Numerical Recipes in FORTRAN: The Art of Scientific Computing, 2nd ed.
This function has been widely implemented, and the cholupdate command in matlab dates back to 1979 code from LINPACK. MR343558 DOI:10.2307/2005923 Davis and Hager in MR1824053 note that algorithm C1 can be used for a reasonably efficient, multiple rank, single pass, update of a dense matrix (and go on to describe sparse techniques).
[0, B*; B,0] is a sum of rank one matrices, and so by updating and downdating those rank one guys, you could probably get what you want, and it might even be faster than chol(Q). Note that these mostly do not take advantage of the block structure of [0, B*; B,0], so you might find something better that is more specialized.
Cholesky update Rank one updates, chol(A) to chol(A xx*), are easy and safe.
Rank one "downdates", chol(A) to chol(A-xx*), are easy but require a little care: stable algorithms are given in Stewart's Matrix Algorithms Vol 1, Algorithm 4.3.8, p. Chapter 12.5 of Golub–Van Loan has some similar stuff, and Cholesky down-dating in 12.5.4.If A, B, C are fixed, then probably you should not be picky about how the blocking is done, and you want to use a standard "block Cholesky".