You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by "Jake Mannix (JIRA)" <ji...@apache.org> on 2010/01/27 09:19:34 UTC
[jira] Commented: (MAHOUT-208) Vector.getLengthSquared() is
dangerously optimized
[ https://issues.apache.org/jira/browse/MAHOUT-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12805408#action_12805408 ]
Jake Mannix commented on MAHOUT-208:
------------------------------------
Hmm... I'm getting bitten by this again: setQuick() mutates, but only calls "lengthSquared = -1.0" in DenseVector. The sparse vectors don't do this, and nasty things happen. Will check in fix.
> Vector.getLengthSquared() is dangerously optimized
> --------------------------------------------------
>
> Key: MAHOUT-208
> URL: https://issues.apache.org/jira/browse/MAHOUT-208
> Project: Mahout
> Issue Type: Bug
> Components: Math
> Affects Versions: 0.1
> Environment: all
> Reporter: Jake Mannix
> Assignee: Sean Owen
> Fix For: 0.3
>
>
> SparseVector and DenseVector both cache the value of lengthSquared, so that subsequent calls to it get the cached value. Great, except the cache is never cleared - calls to set/setQuick or assign or anything, all leave the cached value unchanged.
> Mutating method calls should set lengthNorm to -1 so that the cache is cleared.
> This could be a really nasty bug if hit.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.