Re: Mod and QuotientRemainder are inconsistent
- To: mathgroup at smc.vnet.net
- Subject: [mg124877] Re: Mod and QuotientRemainder are inconsistent
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Fri, 10 Feb 2012 05:55:43 -0500 (EST)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
On 2/9/12 at 5:35 AM, szhorvat at gmail.com (Szabolcs) wrote: >Mod[12, 0.1] gives 0.1 despite 120*0.1 == 12. I expect this is >because 0.1 is not representable in binary. Yes. >QuotientRemainder[12, 0.1] gives {120, 0.} however, which is >inconsistent with the result above. >Quotient[12,0.1] gives 120 which is also inconsistent with Mod. >Is this a bug or is it by design? Neither. It is due to the limitations of using machine precision arithmetic and your specific hardware. >It seems it is not safe to assume that >QuotientRemainder[a,b] == {Quotient[a,b], Mod[a,b]} >or that >Quotient[a,b]*b + Mod[a,b] == a Both relationships will always hold when using exact arithmetic. But when you are not using exact arithmetic, the relationships above may not hold.