View source on GitHub
|
Returns cholesky of chol @ chol.T + multiplier * u @ u.T.
tfp.substrates.numpy.math.cholesky_update(
chol, update_vector, multiplier=1.0, name=None
)
Given a (batch of) lower triangular cholesky factor(s) chol, along with a
(batch of) vector(s) update_vector, compute the lower triangular cholesky
factor of the rank-1 update chol @ chol.T + multiplier * u @ u.T, where
multiplier is a (batch of) scalar(s).
If chol has shape [L, L], this has complexity O(L^2) compared to the
naive algorithm which has complexity O(L^3).
References
[1] Oswin Krause. Christian Igel. A More Efficient Rank-one Covariance Matrix Update for Evolution Strategies. 2015 ACM Conference. https://www.researchgate.net/publication/300581419_A_More_Efficient_Rank-one_Covariance_Matrix_Update_for_Evolution_Strategies
View source on GitHub