On Thu, Sep 08, 2011 at 09:27:18PM -0500, Greg Sterijevski wrote: > 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".
OK, I understand. But do you agree that the test should be changed from ltI[i] < absolutePositivityThreshold to ltI[i] <= absolutePositivityThreshold ? Gilles > > 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. > > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org