commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Dunning <>
Subject Re: [Math] "NonPositiveDefiniteMatrixException" message and meaning
Date Thu, 08 Sep 2011 23:55:46 GMT

Replace that with the correct value.  I meant it to be an index.

That doesn't change my other points.  There is an inherent problem with
"less than" comments when you have subtracted several other elements
previously and only now notices that the remainder is less than some other
adjusted value.  The user cannot relate either value back to anything that
they have and they may well look at their own matrix and see the opposite
condition.  It is better to give a slightly more abstract message such as
"Non-positive definiteness in input detected at diagonal element number xxx"
where you will have to fill in the xxx since you know which place-holders
are which.  NPD-ness is the condition that the decomposition talks about to
the user but that condition doesn't occur at any single point in the
matrix... it is a property of the whole.  All the algorithm can do is say
"Badness happened, I found it this far along".

On Thu, Sep 8, 2011 at 3:27 PM, Gilles Sadowski <> wrote:

> >     The matrix was detected to not be positive definite at diagonal
> element
> > {3}.
> >
> > Care should be taken to make sure that this comparison uses appropriate
> fuzz
> > so that cases that are simply rank-deficient get appropriate treatment.
> Sorry, I don't understand much of the above.
> However from reading the "{3}" I wonder whether there may be a
> misunderstanding. In the message pattern, "{0}", "{1}", "{2}" are
> placeholders:
>  "{0}" stands for the value being tested (i.e. "ltI[i]" in the code
> excerpt)
>  "{1}" stands for the row (and column) index (i.e. "i")
>  "{2}" stands for the threshold.
> There is no "{3}" placeholder.

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message