[
https://issues.apache.org/jira/browse/MAHOUT-1197?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jake Mannix resolved MAHOUT-1197.
---------------------------------
Resolution: Fixed
> AbstractVector#cross is only appropriately efficient for dense vectors
> ----------------------------------------------------------------------
>
> Key: MAHOUT-1197
> URL: https://issues.apache.org/jira/browse/MAHOUT-1197
> Project: Mahout
> Issue Type: Bug
> Components: Math
> Affects Versions: 0.6
> Reporter: Jake Mannix
> Fix For: 0.8
>
> Attachments: MAHOUT-1197.diff
>
>
> Nobody overrides this implementation:
> [code]
> @Override
> public Matrix cross(Vector other) {
> Matrix result = matrixLike(size, other.size());
> for (int row = 0; row < size; row++) {
> result.assignRow(row, other.times(getQuick(row)));
> }
> return result;
> }
> [code]
> I think you can imagine what kind of performance this has on sparse vectors
> (k non-zeroes) with high cardinality (N) - scales as O(N^2) instead of O(k^2).
> I think the right approach is to *not* implement this in AbstractVector at
> all, and force concrete implementations to properly implement it performantly.
> Alternatively, killing this method entirely might be appropriate. If anyone
> was using it (and uses sparse vectors), they'd have complained about this by
> now.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira