Mathematically, all finite precision floating point numbers (e.g. 64-bit
floats) are rational since they are all ratios of integers. You have to
specify something (size of repeating pattern? size of denominator? relative
size of numerator/denominator? ??) before the question can be answered.
For example, with your second vector a,
]a=.(20?.20){(100*%1+i.10),(10?.20)*o.1
15.708 18.8496 37.6991 9.42478 16.6667 50 25 100 14.2857 50.2655 10 11.1111
3.14159 0 33.3333 43.9823 12.5 20 40.8407 56.5487
x: a
5646741500662r359482728877 4414041858589r234172193603
376716722090r9992721411 4414041858589r468344387206 50r3 50 25 100 100r7
1681140150209r33445220617 10 100r9 1285290289249r409120605684 0 100r3
10299431003375r234172193603 25r2 20 15619071123724r382438827...
x: 4 5$a
5646741500662r359482728877 4414041858589r234172193603
376716722090r9992721411 4414041858589r468344387206
50r3
50 25
100 100r7 1681140150209r33445220617
10 100r9
1285290289249r409120605684 0
100r3
10299431003375r234172193603 25r2
20 15619071123724r382438827053 188358361045r3330907137
x:!.0 ]4 5$a
4421398595017775r281474976710656 2652839157010665r140737488355328
2652839157010665r70368744177664 2652839157010665r281474976710656
2345624805922133r140737488355328
50 25
100 100r7
884279719003555r17592186044416
10 100r9
884279719003555r281474976710656 0
2345624805922133r70368744177664
3094979016512443r70368744177664 25r2
20 1436954543380777r35184372088832
1989629367757999r35184372088832
Some are "obviously" rational and some aren't but all are mathematically
rational.
On Wed, Jun 13, 2018 at 11:06 AM, Skip Cave <[email protected]> wrote:
> Roger,
> You're right. The array i generated was all rational numbers. I'll try
> again:
>
> ]a=.(20?20){(100*%1+i.10),(10?20)*o.1
>
> 6.28319 10 11.1111 16.6667 25.1327 100 0 21.9911 33.3333 56.5487 12.5
> 31.4159 53.4071 14.2857 25 43.9823 50 12.5664 59.6903 20
>
>
> Is that a better combination of rational and irrational numbers?
>
>
> I think I was originally thinking that floating-point numbers that have
> infinitely repeating patterns after the decimal are irrational. but that is
> not the correct definition of irrational. However, a verb that could find
> those kinds of numbers (infinitely repeating pattern) in a vector of
> floating point numbers could be useful.
>
>
> Skip
>
>
>
>
> On Wed, Jun 13, 2018 at 12:44 PM Roger Hui <[email protected]>
> wrote:
>
> > What's an irrational number in this context? Your list a are reciprocals
> > of integers and so are all rational. On the other hand, going just by
> the
> > display, 0.5 is a rational number (1%2), but since the display is to 6
> > significant digits, for all you know 0.5 could be
> > 0.500000314159265358979... (0.5+ pi*1e_7) and irrational.
> >
> >
> > On Wed, Jun 13, 2018 at 10:29 AM, Skip Cave <[email protected]>
> > wrote:
> >
> > > Here's another problem similar to my previous one about finding
> integers
> > in
> > > a floating point array:
> > >
> > > Find the irrational numbers in a floating-point array:
> > >
> > > Given the vector a:
> > >
> > > ]a =. % 1+i.20
> > >
> > > 1 0.5 0.333333 0.25 0.2 0.166667 0.142857 0.125 0.111111 0.1 0.0909091
> > > 0.0833333 0.0769231 0.0714286 0.0666667 0.0625 0.0588235 0.0555556
> > > 0.0526316 0.05
> > >
> > >
> > > Create a function that will generate a boolean array indicating the
> > > locations of the irrational numbers in a.
> > >
> > >
> > > Skip
> > > ----------------------------------------------------------------------
> > > 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