Skip to main content
9 events
when toggle format what by license comment
Jun 20, 2014 at 19:41 comment added John My question is, does the tighter tolerance 10^(-100) puts 'closer' to the original floating point problem than the tolerance 10^(-10) ?
Jun 20, 2014 at 15:15 comment added user15996 lis = Tally[ ParallelTable[ Length[IntegerDigits[ Denominator[Rationalize[RandomReal[{-1, 1}], 0]]]], {10^7}]] // Union with output (* {{5, 1}, {6, 363}, {7, 33752}, {8, 3608865}, {9, 6064836}, {10, 286763}, {11, 5332}, {12, 87}, {13, 1}} *), which didn't find any 16-digit denominators, but they would be there in a large sample. ListLogPlot of output is nice.
Jun 20, 2014 at 15:06 comment added user15996 You are correct. I was only making the point that numbers with only 16 digits of precision are not going to get turned into rationals with 100-digit denominators by Rationalize. To see what Rationalize does, I ran
Jun 20, 2014 at 14:01 comment added Daniel Lichtblau I don't understand the comment about Rationalize not being able to get within 10^(-100). The numbers in question had around 16 decimal places so these can typically be approximated by rationals with 10 or fewer digits in numerator and denominator (worst case: 16 digits). But that doesn't mean we fell outside the 10^(-100) bound in terms of how close we are.
Jun 20, 2014 at 2:00 comment added user15996 In principle, the tolerance on the coefficients could be set tighter, to 10^-100, as Daniel suggests, but Mathematica's Rationalize function isn't up to that task. It can't do much better than 10^-10, as indicated in the P.S. to my original answer.
Jun 20, 2014 at 1:49 history edited user15996 CC BY-SA 3.0
added 1501 characters in body
Jun 19, 2014 at 23:38 comment added Daniel Lichtblau Could rationalize it to tighter tolerance, say 10^(-100). I'm not clear on what is meant by "solving a different problem" though. It's certainly different from what's there if no rationalization is done-- any rationalizing will move it to a "nearby' problem. But that was true of the original formulation, when rationalizing actually takes place (which it does, on some coefficients).
Jun 19, 2014 at 19:32 comment added John Thanks for your answer. But by rationalizing the coefficient by approximating it with 0.0001 precision, aren't you solving a different problem than the original one?!
Jun 18, 2014 at 22:55 history answered user15996 CC BY-SA 3.0