hmm...one more question here then I'll stop, as this is turning into more 
like a sage-support discussion as opposed to sage-devel.

This does seem to be doing a good job with high enough precision specified. 
What is the best way to compare two such interval numbers? The multipliers 
(after applying d) will have a bunch of repeat values, but there will be 
some minor precision differences. We need to remove those duplicates.

On Monday, November 24, 2014 2:54:24 PM UTC-5, Ben Hutz wrote:
>
> Thanks Vincent. I can give that a try. We did try to approximate earlier 
> with CC and the errors were compounding too much (we do a bunch more stuff 
> after this), but maybe approximating the roots with CIF will do a better 
> job.
>
> It sounds like the recursion depth error is actually expected for numbers 
> like this,
>
> (btw, type is defined in the example as 6, but it doesn't really matter)
>
> On Monday, November 24, 2014 1:55:05 PM UTC-5, vdelecroix wrote:
>>
>> Hi Ben, 
>>
>> You are dealing with complicated numbers, it is not surprising that 
>> things like "exactify" or "__cmp__" lead to maximum recursion errors. 
>> If you want something faster than QQbar you can either: 
>>  - do approximation earlier in the code 
>>  - try to work with number fields 
>>
>> Note that your example can be simplified 
>> {{{ 
>> z = polygen(ZZ) 
>> f = z^2 + 3/4 
>> g = f 
>> for _ in range(5): g = f(g) 
>> roots = (g-z).roots(QQbar, multiplicities=False) 
>> }}} 
>>
>> Then instead of applying "d" I would suggest that you do the 
>> approximation now 
>> {{{ 
>> R = ComplexIntervalField(256) 
>> approx_roots = [r.interval_exact(R) for r in roots] 
>> }}} 
>> and start your computation from there. 
>>
>> By the way, I was not able to go through your example since "type" is 
>> not defined. I tried with type=7 and get quite accurate results (the 
>> diameter was < 10^-43). 
>>
>> Vincent 
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to