0. + 4r5 will suffice.
Henry Rich
On 6/24/2020 9:41 PM, 'Bo Jacoby' via Programming wrote:
Roger Hui's examples are indeed impressive!
The difference between
{:>{:p. _0.8 0.2 1
4r5
and
{:>{:p. _4 1 5
0.8
is still mysterious to me.
Is
_0.5+0.5+4r5
0.8
the smarter way to convert 4r5 into 0.8 ?
Thanks!
Bo.
Den torsdag den 25. juni 2020 00.33.16 CEST skrev Roger Hui
<[email protected]>:
p. uses rationals if possible in order to produce good results on
"monsters". For example:
c=: p. 1;1+i.20 NB. coefficients of Wilkinson's polynomial
<https://en.wikipedia.org/wiki/Wilkinson%27s_polynomial>
c
2432902008176640000 _8752948036761600000 13803759753640704000
_12870931245150988800 8037811822645051776 _3599979517947607200
1206647803780373360 _311333643161390640 63030812099294896
_10142299865511450 1307535010540395 _135585182899530 11310276995381 _7561...
p. c NB. roots thereof
┌─┬──────────────────────────────────────────────────┐
│1│20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1│
└─┴──────────────────────────────────────────────────┘
_0.5+0.5+c NB. the "same" coefficients as floats
2.4329e18 _8.75295e18 1.38038e19 _1.28709e19 8.03781e18 _3.59998e18
1.20665e18 _3.11334e17 6.30308e16 _1.01423e16 1.30754e15 _1.35585e14
1.13103e13 _7.56111e11 4.01718e10 _1.67228e9 5.33279e7 _1.25685e6 20615
_210 1
p. _0.5+0.5+c
┌─┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│1│20 18.9999 18.002 16.9975 16.0068 14.9934 14.0014 12.9979 11.9978
11.0031 10.0007 8.99974 8.00001 6.99999 6 5 4 3 2 1│
└─┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
p. p. 1;i.40 NB. a super monster
┌─┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│1│39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0│
└─┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
d=: p. 1; 2x^-1+i.20 NB. Wilkinson's second example
d
1r1645504557321206042154969182557350504982735865633579863348609024
_1048575r822752278660603021077484591278675252491367932816789931674304512
183251413675r205688069665150755269371147819668813122841983204197482918576128
_6862582190715075r257110087081438444086...
p. d
┌─┬─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│1│1r2 1r4 1r8 1r16 1r32 1r64 1r128 1r256 1r512 1r1024 1r2048 1r4096 1r8192
1r16384 1r32768 1r65536 1r131072 1r262144 1r524288 1r1048576│
└─┴─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘
Of course, using rationals does not solve the general problem, but it does
provide jaw dropping examples in a food fight.😁
On Tue, Jun 23, 2020 at 11:40 PM 'Bo Jacoby' via Programming <
[email protected]> wrote:
{:>{:p. _0.8 0.2 1
4r5
{:>{:p. _4 1 5
0.8
Thanks!
Bo
----------------------------------------------------------------------
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
--
This email has been checked for viruses by AVG.
https://www.avg.com
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm