| 1 | initial version |
I am not sure i understand you question, Sage automatically reduces a rational between 0 and 1 (or not) in lowest terms:
sage: 6/34
3/17
If this is not what you asks for (which is likely), could you give more details of what do you expect ?
| 2 | No.2 Revision |
I am not sure i understand you question, Sage automatically reduces a rational between 0 and 1 (or not) in lowest terms:modify my answer according to your precision. You can do:
sage: 6/34
3/17
npoints = 10000
sage: f = lambda x: 1/(RR(x).nearby_rational(max_error=1/npoints).denominator())
sage: plot(f, (x,0,1), plot_points=npoints)
If this is not what you asks for (which is likely), could you give more details of what do you expect ?The picture with npoints = 100 look urbanized.
To understand what the .nearby_rational() method does on elements of RR, you can do:
sage: a = 0.1
sage: a.nearby_rational?
From a matematical point of view, you might be interested by the "Stern–Brocot tree" and "Farey sequences".
| 3 | No.3 Revision |
I modify my answer according to your precision. You can do:
sage: npoints = 10000
sage: f = lambda x: 1/(RR(x).nearby_rational(max_error=1/npoints).denominator())
sage: plot(f, (x,0,1), plot_points=npoints)
The (the picture with npoints = 100 look urbanized.quite urbanized)
To understand what the .nearby_rational() method does on elements of RR, you can do:
sage: a = 0.1
sage: a.nearby_rational?
From a matematical point of view, you might be interested by the "Stern–Brocot tree" and "Farey sequences".
Copyright Sage, 2010. Some rights reserved under creative commons license. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.