I actually made a video for Pi day showing this technique and the various 
adjustments you need to make to get pi in an extended form from its original 
float representation.

https://youtu.be/vyILnD0e2IE

Cheers, bob

> On May 15, 2022, at 07:12, Jan-Pieter Jacobs <janpieter.jac...@gmail.com> 
> wrote:
> 
> actually, J lets you approximate pi to as many digits as you'd want, but
> you have to know the trick:
> 
> pix =. ([: <.@:o. 10^x:)
> 
> _10 ]\ ": pix 100
> 
> 3141592653
> 5897932384
> 6264338327
> 9502884197
> 1693993751
> 0582097494
> 4592307816
> 4062862089
> 9862803482
> 5342117067
> 9
> 
> gives the first 101 digits of pi (including the initial 3). This is so
> because it's implemented as special code in J. Somehow, this seems not yet
> to be documented in NuVoc, but can be found e.g. here:
> https://code.jsoftware.com/wiki/JPhrases/NumbersCounting
> 
> pix gives you an extended integer of pi time 10^y, the _10 ]\ ": just does
> conversion to string, and formatting with 10 digits per line.
> 
> Jan-Pieter
> 
> 
> On Sun, 15 May 2022, 10:49 Elijah Stone, <elro...@elronnd.net> wrote:
> 
>> J has a few different ways of representing numbers, including:
>> 
>> - Machine integers (limited to 64 or 32 bit); this is what you get if you
>> type a number like 123
>> 
>> - Machine floating-point numbers (limited precision, but can have decimal
>> points in them); this is what you get if you type a number like 3.45 or 1p1
>> 
>> - Extended-precision numbers (unlimited precision, but can only represent
>> integers and rational numbers); this is what you get if you type a number
>> like 123x or 3r4
>> 
>> You would like an unlimited-precision representation of pi, I assume.  But
>> the
>> present implementation of j is incapable of this; the only things it can
>> represent with unlimited precision are integers and rational numbers, and
>> pi
>> is irrational.
>> 
>> Machine representation of irrational numbers is a very interesting topic,
>> but
>> it is fraught with tradeoffs and complexities, and the present
>> implementation
>> of j does not attempt it.  As far as I know, all implementations of apl
>> have
>> the same limitation; there, too, ○1 is a floating-point approximation. And
>> I
>> do not think most apl implementations even have extended-precision
>> integers or
>> rational numbers.
>> 
>> You might like to look into computer algebra systems (cas), such as
>> mathematica.
>> 
>> On Sun, 15 May 2022, yt wrote:
>> 
>>> 
>>> Dear All,
>>> i come back to start in J
>>> 
>>> in jijx>tour>overview
>>>     3p5       NB. Pi (3 * Pi ^ 5)
>>> 918.059
>>> 
>>> may be it is not the better way to find Pi :
>>>     1p1       NB. Pi (1 * Pi ^ 1)
>>> 
>>>     1p1
>>> 3.14159
>>>     1p1x
>>> |ill-formed number
>>> |      1p1x
>>> |      ^
>>> 
>>> but this is ok for :
>>>     ^/ 2 3 4
>>> 2.41785e24
>>>     ^/ 2 3 4x
>>> 2417851639229258349412352
>>>     3^4
>>> 81
>>>     2^81
>>> 2.41785e24
>>>     2^81x
>>> 2417851639229258349412352
>>> 
>>> why 1p1 is not good ?
>>> 
>>> i have not this problem in APL
>>> 
>>> Sorry for the inconvenience
>>> Regards,
>>> Yves
>>> ----------------------------------------------------------------------
>>> 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

Reply via email to