The best I can think of at the moment is using x: on the floating point value for an initial value and then newton's method to gain the extra precision you want.
-- Raul On Tue, Oct 18, 2011 at 12:09 PM, David Vaughan <[email protected]> wrote: > I'm hoping to write a verb to compute the continued fraction expansion of a > square root. I've done it in Java though there are accuracy issues with > floating points and speed issues with using exact numbers (you end up > multiplying massive numbers in some cases). Is J equipped to deal with these > problems or should I be looking for an alternative method entirely? > > On 18 Oct 2011, at 16:50, Raul Miller wrote: > >> On Tue, Oct 18, 2011 at 11:30 AM, David Vaughan >> <[email protected]> wrote: >>> Can J represent surds exactly instead of reverting to floating point? It >>> would be more convenient if I could do that rather than storing the squared >>> version. >> >> Yes, but by generating a verb which would generate the floating point >> value and not as a number. >> >> cubeRootOf5=: %:&5 bind 3 >> >> Of course you can manipulate the resulting numbers but those results >> are still floating point: >> >> (cubeRootOf5 ^ 3:) '' >> 5 >> 5-(cubeRootOf5 ^ 3:) '' >> 8.88178e_16 >> >> That said, in some cases, J can clean up floating point discrepancies >> >> 5-x:(cubeRootOf5 ^ 3:) '' >> 0 >> >> but that's from direct manipulation of the values and does not care >> about delayed evaluation: >> >> 5-x:((3 %:5) ^ 3:) '' >> 0 >> >> Anyways, J implements the data structures to support symbolic >> manipulation but it does not have a particularly large library of >> prebuilt symbolic manipulation routines. >> >> FYI, >> >> -- >> Raul >> ---------------------------------------------------------------------- >> 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
