commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Barker" <wbar...@wilshire.com>
Subject Re: [math] Questions about sparse implementations
Date Wed, 28 Jan 2009 02:40:46 GMT

"Phil Steitz" <phil.steitz@gmail.com> wrote in message 
news:497EE914.7010201@gmail.com...
> Bill Barker wrote:
>> I've been working on a SparseRealVector that implements RealVector but is 
>> backed by OpenIntToDoubleHashMap.  Unlike SparseRealMatrix, the goal is 
>> more speed than space.  Mostly it is going well, but running into a few 
>> problems where some RealVector methods are almost nonsensical for sparse 
>> vectors (e.g. mapInvToSelf).
>>
>> Since the default value of OpenIntToDoubleHashMap is final, this means 
>> that I currently have to replace the map in this case (so it really isn't 
>> 'self' afterwards).  So what i'm asking is if it is better to have the 
>> default value mutable or to allow the backing to be replaced in a 
>> "*ToSelf" method.
>>
>>
> I don't understand the question.  Is it that different *ToSelf methods 
> require different missingEntries values?  I don't follow how that could be 
> the case.  In any case, the question has me thinking that at least 
> OpenIntToDoubleHashMap should expose a getter for missingEntries.  I agree 
> with Luc though that this field should not be mutable.
>

Well, to preserve sparseness, mapInvToSelf (x -> 1/x) should be infinity, 
mapLogToSelf should be -infinity, mapCosToSelf should be 1, etc.

However, the more I think about it, preserving sparseness is looking like 
more trouble than it is worth to support methods that don't make sense if 
you are using a sparse vector in the first place.  I'll probably just cause 
the vector to become dense for these methods.

I'm +1 for OpenInToDoubleHashMap exposing a getter for missingEntries, but 
it doesn't look like my class will have a use case for it.

> Phil
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
>> For additional commands, e-mail: dev-help@commons.apache.org
>>
>> 




---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@commons.apache.org
For additional commands, e-mail: dev-help@commons.apache.org


Mime
View raw message