This is not correct wrt J.

For historical and practical (time and space) reasons, 
by default numbers are 64-bit IEEE floating point numbers
("machine numbers"), which gives 16 decimal digits of precision.  
In J, if you want more digits, you can use rational numbers, 
and that has infinite precision.  All you need to do is 
to make your input numbers extended precision, 
and the interpreter will try to carry through your 
computations in extended precision.  For example:

   % 1 + +/~ i.10   NB. Hilbert matrix
       1       0.5  0.333333      0.25       0.2  0.166667  0.142857     0.125  
0.111111       0.1
     0.5  0.333333      0.25       0.2  0.166667  0.142857     0.125  0.111111  
     0.1 0.0909091
0.333333      0.25       0.2  0.166667  0.142857     0.125  0.111111       0.1 
0.0909091 0.0833333
    0.25       0.2  0.166667  0.142857     0.125  0.111111       0.1 0.0909091 
0.0833333 0.0769231
     0.2  0.166667  0.142857     0.125  0.111111       0.1 0.0909091 0.0833333 
0.0769231 0.0714286
0.166667  0.142857     0.125  0.111111       0.1 0.0909091 0.0833333 0.0769231 
0.0714286 0.0666667
0.142857     0.125  0.111111       0.1 0.0909091 0.0833333 0.0769231 0.0714286 
0.0666667    0.0625
   0.125  0.111111       0.1 0.0909091 0.0833333 0.0769231 0.0714286 0.0666667  
  0.0625 0.0588235
0.111111       0.1 0.0909091 0.0833333 0.0769231 0.0714286 0.0666667    0.0625 
0.0588235 0.0555556
     0.1 0.0909091 0.0833333 0.0769231 0.0714286 0.0666667    0.0625 0.0588235 
0.0555556 0.0526316

The above calculation has 16 decimal digits of precision.  
The output is 6 decimal digits because that is the default
for the session.  (You can change the print precision for
the session.)

   % 1 + +/~ i.10x
   1  1r2  1r3  1r4  1r5  1r6  1r7  1r8  1r9 1r10
 1r2  1r3  1r4  1r5  1r6  1r7  1r8  1r9 1r10 1r11
 1r3  1r4  1r5  1r6  1r7  1r8  1r9 1r10 1r11 1r12
 1r4  1r5  1r6  1r7  1r8  1r9 1r10 1r11 1r12 1r13
 1r5  1r6  1r7  1r8  1r9 1r10 1r11 1r12 1r13 1r14
 1r6  1r7  1r8  1r9 1r10 1r11 1r12 1r13 1r14 1r15
 1r7  1r8  1r9 1r10 1r11 1r12 1r13 1r14 1r15 1r16
 1r8  1r9 1r10 1r11 1r12 1r13 1r14 1r15 1r16 1r17
 1r9 1r10 1r11 1r12 1r13 1r14 1r15 1r16 1r17 1r18
1r10 1r11 1r12 1r13 1r14 1r15 1r16 1r17 1r18 1r19

The only difference between the two input sentences
is the trailing 10 (machine number) and 10x (extended
precision number).

   m +/ .* %. m=: % 1 + +/~ i.10
     1.00047 _0.00619721   0.0133228  0.00179932 _0.00673962 _0.00755167 
_0.00690055 _0.000172734 0.00353628 0.00956631
 _0.00620086      1.0811   _0.174345  _0.0235263   0.0882211   0.0988431   
0.0903749   0.00217986 _0.0462107  _0.125206
   0.0133312   _0.174349     1.37482   0.0506763   _0.190106    _0.21133   
_0.196193  _0.00288332  0.0984164   0.269389
  0.00179848  _0.0235348   0.0506859     1.00591  _0.0213178  _0.0402455 
_0.00748849   _0.0185254  0.0227113  0.0343037
 _0.00674288   0.0882262   _0.190103  _0.0213129     1.07596    0.161627   
0.0106583    0.0861107 _0.0938043  _0.126691
 _0.00756361    0.098839   _0.211326  _0.0402408    0.161622    0.974321     
0.34696    _0.223546    0.06125  _0.178329
 _0.00690331    0.090379   _0.196192 _0.00748292   0.0106608    0.346969     
0.71698     0.368988  _0.242016 _0.0978327
_0.000171363  0.00217855 _0.00288343  _0.0185248   0.0861086   _0.223544    
0.368986     0.649903    0.18074 _0.0432134
    0.003535  _0.0462151   0.0984225   0.0227093  _0.0938085   0.0612454    
_0.24202     0.180739   0.931766  0.0920672
  0.00957343   _0.125208    0.269389   0.0342936   _0.126692   _0.178331  
_0.0978323   _0.0432161  0.0920641    1.18877

   x +/ .* %. x=: % 1 + +/~ i.10x
1 0 0 0 0 0 0 0 0 0
0 1 0 0 0 0 0 0 0 0
0 0 1 0 0 0 0 0 0 0
0 0 0 1 0 0 0 0 0 0
0 0 0 0 1 0 0 0 0 0
0 0 0 0 0 1 0 0 0 0
0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 0 1 0 0
0 0 0 0 0 0 0 0 1 0
0 0 0 0 0 0 0 0 0 1

The preceding are two expressions of the product of the
Hilbert matrix and its inverse.  The first uses machine numbers;
the second uses extended precision numbers.



----- Original Message -----
From: DIETER ENSSLEN <[email protected]>
Date: Sunday, August 9, 2009 13:43
Subject: Re: [Jgeneral] Array Based Languages
To: General forum <[email protected]>

> so unfortunately for the moment or for a very long time we are 
> in this at the level of all  ipod touch / i phones: 16 
> significant digits, and one level above windows excel's 15, and 
> quite a few levels below several i pod Apps
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to