You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Deterministic (up to numerical error) multivariate_normal sampling #13386
Currently, numpy.random.multivariate_normal makes use of SVD decomposition, numpy.dual.svd, on the provided covariance matrix to perform the sampling. This approach allows the use of positive semi-definite covariance matrix. However, it is not unique as the singular vectors are not guaranteed to be. In fact,
[[-1, 0],
[0, -1]]
and
[[1, 0],
[0, 1]]
can be the singular-vectors of a 2-by-2 identity matrix.
See #3938 for previous discussion of this suggestion. There are several other discussions that you can find by searching for multivariate_normal cholesky.
It is not duplication because this thread tackles the problem of multiple decompositions (SVD) versus unique decomposition (pivoted Cholesky) to semi-definite positive matrices.
Rounding error is not within the scope of this discussion.
Activity
rkern commentedon Apr 22, 2019
See #3938 for previous discussion of this suggestion. There are several other discussions that you can find by searching for
multivariate_normal cholesky.rkern commentedon Apr 22, 2019
Though I see that the only remaining issue is stream compatibility, which will be manageable after the NEP 19 implementation PR gets in.
mattip commentedon May 30, 2019
@rkern can we close this as a duplicate?
mattip commentedon Jun 6, 2019
Closing, please reopen if I misunderstood.
horta commentedon Sep 13, 2019
It is not duplication because this thread tackles the problem of multiple decompositions (SVD) versus unique decomposition (pivoted Cholesky) to semi-definite positive matrices.
Rounding error is not within the scope of this discussion.