On May 1, 2011, at 1:35 PM, Tom Bachmann wrote:

> On 1 Mai, 16:40, Haz <christian.mu...@gmail.com> wrote:
>>   The cache issue runs deeper -- variable x, that depends on variably y, may
>> simplify to something that doesn't even involve y because of the assumptions
>> that come with y. In this case, a result is stored for x that is only valid
>> under the right assumptions for y, and we would need to be very careful
>> about what cache entries change when we delete y.
>> 
>>   The example may sound contrived, but it does arise in practice, and was a
>> headache to debug.
>> 
> 
> Well there must be an end to it, right? Every assumption is about
> symbols. Every symbol x that depends in any way on another symbol y
> has y in its free_symbols. In fact any exrpession has all symbols it
> depends on (recursively) in its free_symbols. Hence it would be enough
> to pull all assumptions involving any free symbols into the hash
> computation.
> 
> Right? [If not then one point in the above chain of argument must be
> wrong; this is very well possible :-)]
> 
> Of course then we want a quick way to find all assumptions involving a
> given symbol. The easiest would be to have the symbol store a list of
> assumptions it is involved in. … Which brings us back to ronan's
> comment that all this is not much different from storing assumptions
> with the symbols anyway.

Even if we were to decide that this was a good idea (I'm personally still not 
convinced), we also need to consider the speed implications.  Hash computation 
should be very fast.

Aaron Meurer

> 
>> On Sat, Apr 30, 2011 at 2:21 PM, Tom Bachmann <ness...@googlemail.com>wrote:
>> 
>> 
>> 
>>>>   It should also be emphasized that it isn't just a simple notion of
>>>> cleaning up assumptions after yourself -- the cache interacts in quite an
>>>> intertwined way. Under the right assumptions, expressions will be
>>>> simplified, and variables will be assigned certain values. If that's
>>> stored
>>>> in the cache, changing any related assumption will invalidate the result.
>> 
>>> Why not make assumptions part of the hash of an object? At least to
>>> the extent that the cache is concerned?
>> 
>>> --
>>> You received this message because you are subscribed to the Google Groups
>>> "sympy" group.
>>> To post to this group, send email to sympy@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> sympy+unsubscr...@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/sympy?hl=en.
>> 
>> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "sympy" group.
> To post to this group, send email to sympy@googlegroups.com.
> To unsubscribe from this group, send email to 
> sympy+unsubscr...@googlegroups.com.
> For more options, visit this group at 
> http://groups.google.com/group/sympy?hl=en.
> 

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to