Well, that is hard to understand without a complete test case. In the first case you have a vector with one element constructed while in the second case, you wind up with two elements and don't show the constructor.
Write up a JIRA and attach a unit test. My strong expectation is that this is a case of refrigerator blindness. On Wed, Jul 20, 2011 at 9:22 AM, Marco Turchi <[email protected]>wrote: > Hi > you are right about the sparse vector issue... but I'm constructing distV > in the same way changing only + and - in the variable mean. In both the > cases, I should have the same number of entries in the final vector. > > Thanks a lot for your help > Marco > > > On 20 Jul 2011, at 17:42, Ted Dunning wrote: > > You constructed the first vector with a dimension of 1. It looks like you >> constructed the second one with a larger dimension of 2. >> >> When you offset a sparse vector, all of the zeros become non-zero and the >> vector becomes dense. This results in a bunch of cells being created. >> >> On Wed, Jul 20, 2011 at 6:28 AM, marco turchi <[email protected] >> >wrote: >> >> Dear All, >>> I have a strange behaviour when I use the method Plus for Vector. >>> >>> I have a RandomAccessSparseVector vector, if I add a positive number, I >>> got >>> a new Vector where each element is the sum of the old value plus the >>> positive number. While if I add a negative number, the new vector has 1 >>> more >>> entry: >>> >>> >>> RandomAccessSparseVector distV = new RandomAccessSparseVector(1); >>> distV.setQuick(0,1); >>> double mean = 1; >>> RandomAccessSparseVector app = >>> (RandomAccessSparseVector)(**distV.plus(mean)); >>> >>> the output is >>> {0:2.0} >>> >>> if I have >>> double mean = -1; >>> RandomAccessSparseVector app = >>> (RandomAccessSparseVector)(**distV.plus(mean)); >>> >>> the output is >>> {1:1.0,0:-1.0} >>> >>> For sure I'm doing something wrong. Do you have any ideas where the >>> problem >>> is? >>> >>> Thanks a lot in advance >>> Marco >>> >>> >
