RandomTools Flavor: nonzero
describe a flavor of a random nonzero rational number
Calling Sequence
Parameters
Description
Examples
nonzero
nonzero(opts)
opts
-
equation(s) of the form option = value where option is one of range, character, or denominator; specify options for the random nonzero rational number
The flavor nonzero describes a random nonzero rational number in a particular range.
To describe a flavor of a random nonzero rational number, use either nonzero or nonzero(opts) (where opts is described following) as the argument to RandomTools[Generate] or as part of a structured flavor.
By default, the flavor nonzero describes a random nonzero rational number in the range −1..1, exclusive, with a denominator that is a factor of 499999999994.
You can modify the properties of a random nonzero rational number by using the nonzero(opts) form of this flavor. The opts argument can contain one or more of the following equations.
range = a..b
This option specifies the range from which the random nonzero rational number is chosen. The left-hand endpoint a is a nonzero rational number and the right-hand endpoint b is a nonzero rational number.
If the left-hand endpoint of the range is greater than the right-hand endpoint, an exception is raised.
The default range is −1..1.
character = boundary conditions
This option specifies whether to include the endpoints of the range from which the random nonzero rational number is chosen. Six boundary definitions are valid: open, closed, open..open, open..closed, closed..open, and closed..closed. The default value for this option is open.
The definitions open and closed are abbreviations for open..open and closed..closed, respectively.
If the range option is used in conjunction with this option, and a value outside the boundary definition is returned, then the nonzero rational number closest to (but not touching) the range endpoint is chosen.
denominator = posint
This option specifies the positive integer to use as the denominator for the random nonzero rational number that is generated.
The default denominator for a nonzero flavor is related to 999999999989. (It depends on whether the endpoints are open or closed and the length of the interval.) The default denominator is 499999999994.
In the case of the closed interval −1..1, the denominator has only 4 factors (2, 11, 124847, 182041) only two of which are under 100000. Therefore, a result of 13 cannot occur. Instead, you can specify a denominator that is highly composite. For example, 720720.
with⁡RandomTools:
Generate⁡nonzero
−695207596433333333333
Generate⁡nonzero⁡range=−2..5
2224811806599499999999994
Generate⁡nonzero⁡range=−5..12,denominator=720720
−691783144144
Generate⁡nonzero⁡denominator=10
−25
sort⁡seq⁡Generate⁡nonzero⁡denominator=6,character=open..closed,i=1..10,numeric
−56,−23,−13,−16,−16,16,12,56,1,1
Generate⁡list⁡nonzero⁡range=72..132,10
2824418766989499999999994,26606315782145454545454,1544922914891249999999997,9564872685422727272727,1067844633892249999999997,1551762047716249999999997,1783467275605499999999994,2497150330775499999999994,2549017297531499999999994,2080428984921499999999994
seq⁡Generate⁡nonzero⁡range=1..7,denominator=720720,i=1..10
1254763180180,671197240240,1246991360360,682763102960,194569102960,1634179720720,219959180180,6775110010,1229909360360,1074673240240
Matrix⁡3,3,Generate⁡nonzero⁡denominator=24⁢identical⁡x+nonzero⁡denominator=16,makeproc=true
−7⁢x8−11167⁢x12−38x8−38x6−78−2⁢x3+516−11⁢x12−716−x8−7162⁢x3−347⁢x8−316
See Also
convert/rational
rand
RandomTools
RandomTools[Generate]
type/posint
type/rational
Download Help Document