[ot-users] positive semi-definite correlation matrix

regis lebrun regis_anne.lebrun_dutfoy at yahoo.fr
Tue Jul 25 15:24:42 CEST 2017

Hi Henning,

Sorry for the delay, I was mostly out of my office since the end of June, with a limited access to my emails.

You are perfectly right when you underline that OT needs a positive definite correlation/covariance/shape matrix for the Normal or NormalCopula distributions. It is due to the fact that historically, we decided to support only absolutely continuous distributions wrt the Lebesgue measure or the counting measure, or mixtures of such distributions. Things have evolved since then (ie since circa 2010), and now we have the MinCopula or the OrdinalSumCopula which allow to construct other kind of singular distributions, but some work remains to fully support the singular distributions. So it is not a bug but a limitation.

I can see two workarounds for your problem:
+ Use an off-diagonal correlation coefficient of absolute value 1-eps where eps=1.e-7 (the square-root of the double precision resolution). You can also divide all the off-diagonal terms by 1+eps. These regularizations will give you an approximation of the true distribution of the order of eps, which is ok for most applications.
+ Define a singular Normal distribution in Python. If I have some spare time before the end of the week, I send you such an implementation.

Do you expect to use these distributions in high dimension (ie > 100)? On the other hand, are you interested only in the 2D case?

I land in Copenhagen next Monday at 2:20pm, and have a train to Odense 1h later. Do you think we could meet in the interval ;-)? Another possibility is to meet in Legoland between the 9th and the 11th of August!

Best regards


De : Henning Brüske <henbrr at byg.dtu.dk>
À : "'users at openturns.org'" <users at openturns.org> 
Envoyé le : Mercredi 5 juillet 2017 15h55
Objet : [ot-users] positive semi-definite correlation matrix

Hello OpenTURNS users,
I just realised that OT requires positive definite correlation or covariance matrices. Usually semi-definite is enough. A 2-dim correlation matrix like [1, -1, -1, 1] should be valid as input but neither NormalCopula nor Normal distribution accept a positive semi-definite matrix.
Is there a work around or is this a bug?
Best regards,
OpenTURNS users mailing list
users at openturns.org

More information about the users mailing list