I agree with Ted. You sometimes run into this issue with psuedoinverses. You discover a zero eigenvalue at index i. The user's natural inclination is to attribute it to the corresponding column of the data matrix.
-Greg On Thu, Sep 8, 2011 at 6:55 PM, Ted Dunning <ted.dunn...@gmail.com> wrote: > OK. > > 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 < > gil...@harfang.homelinux.org> 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. > > >