It's an issue of performance and choices, and it is not a problem of |. You might really want to read those wikipedia entries. Here is roughly what j is thinking:
n=.14^2 5729082486784839 = 5729082486784839 + n 1 If you can't reason within your problem domain and can't foresee precision issues, you have the choice of using extended precisions and your problem is solved. > On Sep 7, 2017, at 1:00 PM, Rob B <[email protected]> wrote: > > Don, > > It's not just that giving an answer of zero instead of 147 is 'imprecise'. It > is horribly wrong, as it implies divisibility where none exists. > > Regards, Rob. > >> On 7 Sep 2017, at 18:40, Don Guinn <[email protected]> wrote: >> >> Never assume that floating point numbers are exact. >> >> On Sep 7, 2017 10:50 AM, "'Bo Jacoby' via Programming" < >> [email protected]> wrote: >> >>> Elementary linear algebra breaks down for so-called ill-conditioned >>> problems needing more precision than is provided by standard floating point >>> numbers. Condition number >>> >>> | >>> | | >>> Condition number >>> The condition number is an application of the derivative, and is formally >>> defined as the value of the asymptotic... | | >>> >>> | >>> >>> >>> >>> >>> Den 18:35 torsdag den 7. september 2017 skrev Marshall Lochbaum < >>> [email protected]>: >>> >>> >>> Primality testing is a much less common use case than you think, and in >>> fact I'm not aware of any use for extended-precision integers outside of >>> recreational mathematics (I guess you can count cryptography, but anyone >>> using extended-precision integers instead of large fixed-width integers >>> for that falls squarely on the recreational side as well). It would be a >>> poor choice to severely degrade J's performance to help out people doing >>> Project Euler problems. >>> >>> Marshall >>> >>>> On Thu, Sep 07, 2017 at 12:54:58PM +0100, Rob B wrote: >>>> Thanks Raul, I am familiar with these ideas, and using x: is almost a >>> reflex now. >>>> >>>> I feel that to protect the new J user, mod should convert to extended >>> precision automatically or issue an warning message. Giving tha answer zero >>> is very misleading. >>>> >>>> PS I am not so concerned with small numbers and measurability as with >>> large numbers and primality. Heisenberg's Uncertainty Principle is not >>> usually an issue for me :) >>>> >>>> Ragards, Rob. >>>> >>>>> On 7 Sep 2017, at 11:32, Raul Miller <[email protected]> wrote: >>>>> >>>>> The answer, oddly enough, is: yes. >>>>> >>>>> The philosophical arguments are buried here: >>>>> >>>>> https://en.wikipedia.org/wiki/Accuracy_and_precision >>>>> >>>>> The technical issues are buried here: >>>>> >>>>> https://en.wikipedia.org/wiki/IEEE_754 >>>>> >>>>> That said, if you have reason to be using numbers which are precise >>>>> beyond anyone's ability to measure (and keep in mind Heisenberg >>>>> Uncertainty as one of the practical limits on measurability), you >>>>> should probably be using extended precision numbers (123x instead of >>>>> 123). This will give you exact results in exchange for a performance >>>>> penalty. >>>>> >>>>> Thanks, >>>>> >>>>> -- >>>>> Raul >>>>> >>>>> >>>>>> On Thu, Sep 7, 2017 at 4:42 AM, Rob B <[email protected]> wrote: >>>>>> On reflection my real question is; should mod suddenly and without >>> warning give the wrong answer when a number gets suffiently large? I have >>> been caught by this many times. The incorrect answer zero is problematic as >>> it suggests divisibility. >>>>>> >>>>>> Apologies if this has all been discussed before. >>>>>> >>>>>> Regards, Rob Burns. >>>>>> >>>>>> >>>>>> >>>>>>> On 6 Sep 2017, at 09:11, Rob B <[email protected]> wrote: >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> I now see it's reasonable for ^ to convert to flost and *: to remain >>> exact. >>>>>>> >>>>>>> The other discrepancy is probably due to my old version, iPad 701. >>>>>>> >>>>>>> Regards, Rob Burns. >>>>>>> >>>>>>>> On 5 Sep 2017, at 17:48, HenryRich <[email protected]> wrote: >>>>>>>> >>>>>>>> datatype 47^2 >>>>>>>> >>>>>>>> floating >>>>>>>> >>>>>>>> >>>>>>>> So >>>>>>>> >>>>>>>> (n^2) | 5729082486784839 >>>>>>>> >>>>>>>> is promoted to float, and loses precision. Same when the big >>> number is extended - it's converted to float. >>>>>>>> >>>>>>>> For >>>>>>>> >>>>>>>> (x: n^2) | 5729082486784839 >>>>>>>> >>>>>>>> I get 147 as the result. >>>>>>>> >>>>>>>> Henry Rich >>>>>>>> >>>>>>>>> On 9/5/2017 12:41 PM, Rob B wrote: >>>>>>>>> Could someone explain this please? >>>>>>>>> >>>>>>>>> n=.14 >>>>>>>>> n >>>>>>>>> 14 >>>>>>>>> (*: n) | 5729082486784839 >>>>>>>>> 147 >>>>>>>>> 196 | 5729082486784839 >>>>>>>>> 147 >>>>>>>>> (n^2) | 5729082486784839 >>>>>>>>> 0 >>>>>>>>> (n^2) | 5729082486784839x >>>>>>>>> 0 >>>>>>>>> (x: n^2) | 5729082486784839 >>>>>>>>> 0 >>>>>>>>> (x: n^2) | 5729082486784839x >>>>>>>>> 147 >>>>>>>>> >>>>>>>>> >>>>>>>>> Regards, Rob Burns >>>>>>>>> ------------------------------------------------------------ >>> ---------- >>>>>>>>> For information about J forums see http://www.jsoftware.com/ >>> forums.htm >>>>>>>> >>>>>>>> ------------------------------------------------------------ >>> ---------- >>>>>>>> For information about J forums see http://www.jsoftware.com/ >>> forums.htm >>>>>> ------------------------------------------------------------ >>> ---------- >>>>>> For information about J forums see http://www.jsoftware.com/ >>> forums.htm >>>>> ---------------------------------------------------------------------- >>>>> For information about J forums see http://www.jsoftware.com/forums.htm >>>> ---------------------------------------------------------------------- >>>> For information about J forums see http://www.jsoftware.com/forums.htm >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >>> >>> >>> ---------------------------------------------------------------------- >>> For information about J forums see http://www.jsoftware.com/forums.htm >> ---------------------------------------------------------------------- >> For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
