Re: [sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Nils Bruin
On Tuesday, October 7, 2014 1:33:19 PM UTC-7, Jeroen Demeyer wrote: > > > > The ramifications for coercion discovery are also quite big: > No, you're understanding it wrong. The parent of the result of any > computation would be the same as now. The result of adding 2 RealNumbers > with differin

[sage-devel] of historical interest: "Strategy to release something useful"

2014-10-07 Thread William Stein
This is of historical interest: http://wstein.org/sage_strategy.jpg This was from about 10 years ago -- late 2004 -- it's my planning sheet from when I was first getting serious about "Sage" (then called Manin). -- William Stein Professor of Mathematics University of Washington http://wstein.

Re: [sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Volker Braun
On Tuesday, October 7, 2014 9:32:56 PM UTC+1, Jeroen Demeyer wrote: > > I would argue that the result would be *more* predictable and certainly > more accurate than now. > How do you explain somebody when precision is lost due to the extra rounding for coercion? Is composition of "compatible"

Re: [sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Jeroen Demeyer
On 2014-10-07 17:45, Nils Bruin wrote: Another conclusion one can draw from that is that floats got modelled wrong: that precision is a property of the element, not the parent. That cannot really work, since we really want RealField(100)(1/3) to be different from RealField(53)(1/3) That's a v

Re: [sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Jeroen Demeyer
On 2014-10-07 19:03, Volker Braun wrote: IMHO way too complicated, and too few people understand coercion as it is already. I'd rather have one unnecessary rounding than ring operations where I can't predict the outcome without reading the source first. I would argue that the result would be *mor

[sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Volker Braun
On Tuesday, October 7, 2014 7:14:57 PM UTC+1, Nils Bruin wrote: > > I'd say in p-adics elements simply carry around their own precision. The > different parents simply supply a cap on how big that precision can be. > Thats just another way of saying that they implement precision both in the pare

[sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Travis Scrimshaw
Hey Jeroen, My understanding of why we coerce to the lower precision is to have at least the required amount of significant figures, and I'd guess doing things this way is more numberically stable. In the same vein, I think we're better off just letting the coercion to go through normally rat

[sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Nils Bruin
On Tuesday, October 7, 2014 10:03:54 AM UTC-7, Volker Braun wrote: > > p-adics are even more weird, they coerce in the wrong direction. And, to > patch up that mistake, have a precision in the parent and another precision > in the element: > I'd say in p-adics elements simply carry around their

[sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Volker Braun
IMHO way too complicated, and too few people understand coercion as it is already. I'd rather have one unnecessary rounding than ring operations where I can't predict the outcome without reading the source first. The only takeaway is: If you care about the last decimal places then start by def

Re: [sage-devel] Re: Tell me how the design of the Poset class is not flawed

2014-10-07 Thread Nathann Cohen
Just an update because I was not clear in my other message: > The real issue is the FinitePoset code: The actual bug I reported was created by #12536 (http://trac.sagemath.org/ticket/12536). Indeed, it is incorrect to relabel the (automatically computed) linear extension of a Poset A (when A is

[sage-devel] Re: Coercion proposal: compatible parents

2014-10-07 Thread Nils Bruin
On Tuesday, October 7, 2014 7:03:54 AM UTC-7, Jeroen Demeyer wrote: > > Hello, > > Consider the following Sage session: > > sage: a = RR(-1) > sage: b = 1.0001 > sage: a + b > 0.000 > sage: a._add_(b) > 1.03397576569128e-24 > > Here, the coercion model makes

[sage-devel] Coercion proposal: compatible parents

2014-10-07 Thread Jeroen Demeyer
Hello, Consider the following Sage session: sage: a = RR(-1) sage: b = 1.0001 sage: a + b 0.000 sage: a._add_(b) 1.03397576569128e-24 Here, the coercion model makes the output less precise than what is possible: a + b first reduces the precision of b, rounding t