On Feb 11, 2007, at 3:22 AM, Carl Witty wrote:

> That's one of the uses of interval arithmetic.  My own use for
> interval arithmetic is dealing with algebraic numbers.  It is possible
> to do exact computations with algebraic numbers, but if the question
> you are asking is not too difficult then it is often far more
> efficient to compute with interval approximations of the numbers in
> question.  Here "difficult" means "requires computing the sign of an
> algebraic number which is very close to 0"; so checking that
> (sqrt(2)+sqrt(3))^5 >= 300 is easy, since the true value of the left
> hand side is about 308.302, but checking that phi^150 <
> 22291846172619859445381409012498 is hard, since the two sides differ
> by less than 10^{-31}.  (You need intervals with at least 217-bit
> mantissas to prove the latter fact; for proving the former, 8-bit
> mantissas suffice.)


Hmmmm.... apart from what's "mathematically correct", there is  
another problem I just noticed.

According to

http://docs.python.org/ref/customization.html

it says "The only required property is that objects which compare  
equal have the same hash value". We've already broken this rule  
numerous times in SAGE. For example:

sage: R.<x> = PowerSeriesRing(ZZ)

sage: f = x + O(x^2)

sage: g = x + 2*x^2 + O(x^3)

sage: f == g
True

sage: hash(f), hash(g)
(813759615, 1049482705)

Ditto for the current implementation of RealInterval, pAdicField, etc.

I'm not sure exactly why the python people impose this rule. I guess  
if you are looking up a key in a hashtable, you hash the key, look in  
the appropriate bucket, loop over all items in the bucket. Things are  
going to be pretty weird if the keys are something like a  
RealInterval, but I still don't quite see why that rule is necessary.

David


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to