2 root - root of a number
10 eps nonzero real, defaults to epsilon()
15 For real x and positive integer n, n being odd if x is negative,
16 root(x,n,eps) returns a multiple of eps differing from the
17 real n-th root of x (nonnegative if x is positive) by less than
18 0.75 eps, usually by less than 0.5 eps. If the n-th root of
19 x is a multiple of eps, it will be returned exactly.
21 For complex x and positive integer n, or negative x with positive even
22 n, root(x, n, eps) returns a real or complex numbers whose real
23 and imaginary parts are multiples of eps differing from the real
24 and imaginary parts of the principal n-th root of x by less than
25 0.75 eps, usually by less than 0.5 eps.
27 For negative x and odd n, the principal n-th root of x may be
28 obtained by using power(x, 1/n, eps).
31 > print root(7, 4, 1e-5), root(7, 4, 1e-10), root(7, 4, 1e-15)
32 1.62658 1.6265765617 1.626576561697786
34 > print root(1+3i, 3, 1e-5), root(1 + 3i, 3, 1e-10)
35 1.34241+.59361i 1.3424077452+.5936127825i
37 > print root(-8, 3, 1e-5), root(-8, 34, 1e-5)
38 -2 ~1.05853505050032399594+~.09807874962631613016i
40 > print root(1i, 100, 1e-20)
41 .99987663248166059864+.01570731731182067575i
48 void rootvalue(VALUE *x, VALUE *n, VALUE *eps, VALUE *result)
49 NUMBER *qroot(NUMBER *x, NUMBER *n, NUMBER *eps)
50 COMPLEX *qroot(COMPLEX *x, NUMBER *n, NUMBER *eps)