<br />

|---|
| [![](https://www.tensorflow.org/images/GitHub-Mark-32px.png) View source on GitHub](https://github.com/tensorflow/probability/blob/v0.25.0/tensorflow_probability/python/math/linalg.py#L111-L217) |

Returns cholesky of chol @ chol.T + multiplier \* u @ u.T.

    tfp.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)`.

<br />

<br />

<br />

| ## Args ||
|---|---|---|
| `chol` | Floating-point `Tensor` with shape `[B1, ..., Bn, L, L]`. Cholesky decomposition of `mat = chol @ chol.T`. Batch dimensions must be broadcastable with `update_vector` and `multiplier`. |
| `update_vector` | Floating-point `Tensor` with shape `[B1, ... Bn, L]`. Vector defining rank-one update. Batch dimensions must be broadcastable with `chol` and `multiplier`. |
| `multiplier` | Floating-point `Tensor` with shape `[B1, ..., Bn]. Scalar multiplier to rank-one update. Batch dimensions must be broadcastable with`chol`and`update_vector`. Note that updates where`multiplier`is positive are numerically stable, while when`multiplier`is negative (downdating), the update will only work if the new resulting matrix is still positive definite. </td> </tr><tr> <td>`name\` | Optional name for this op. |

<br />

#### 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>