[NumPy-Tickets] [NumPy] #1223: numpy.random.multivariate_normal accepts indefinite covariance matrices

NumPy Trac numpy-tickets@scipy....
Tue Jun 29 19:41:23 CDT 2010

#1223: numpy.random.multivariate_normal accepts indefinite covariance matrices
 Reporter:  zero79                                     |       Owner:  somebody
     Type:  defect                                     |      Status:  new     
 Priority:  normal                                     |   Milestone:          
Component:  numpy.random                               |     Version:          
 Keywords:  multivariate normal covariance indefinite  |  

Comment(by dgoldsmith):

 Thanks, josef.  Based on that discussion, might I suggest a hierarchical
 approach: first, Cholesky is tried to take the matrix square-root -
 according to CH in the above thread, IIUC, this will automatically provide
 the function w/ a check on the "physicality" of `cov`.  If Cholesky works,
 great, we're done; if it throws an exception, to satisfy RK, an
 independent check on `cov` is performed (what would be the speediest way
 to independently assess `cov` for both symmetry and PSDness?).  If `cov`
 passes that test, eigh (as suggested by CH) is tried; if it succeeds, the
 result is returned, along w/ a message that Cholesky failed, `cov` _might_
 be asymmetric and/or not PSD; if eigh also fails, give up: return
 np.empty() and a message that `cov` is _likely_ asymmetric and/or not PSD.

Ticket URL: <http://projects.scipy.org/numpy/ticket/1223#comment:6>
NumPy <http://projects.scipy.org/numpy>
My example project

More information about the NumPy-Tickets mailing list