NAME root - root of a number SYNOPSIS root(x, n, [, eps]) TYPES x number n positive integer eps nonzero real, defaults to epsilon() return real number DESCRIPTION For real x and positive integer n, n being odd if x is negative, root(x,n,eps) returns a multiple of eps differing from the real n-th root of x (nonnegative if x is positive) by less than 0.75 eps, usually by less than 0.5 eps. If the n-th root of x is a multiple of eps, it will be returned exactly. For complex x and positive integer n, or negative x with positive even n, root(x, n, eps) returns a real or complex numbers whose real and imaginary parts are multiples of eps differing from the real and imaginary parts of the principal n-th root of x by less than 0.75 eps, usually by less than 0.5 eps. For negative x and odd n, the principal n-th root of x may be obtained by using power(x, 1/n, eps). EXAMPLE > print root(7, 4, 1e-5), root(7, 4, 1e-10), root(7, 4, 1e-15) 1.62658 1.6265765617 1.626576561697786 > print root(1+3i, 3, 1e-5), root(1 + 3i, 3, 1e-10) 1.34241+.59361i 1.3424077452+.5936127825i > print root(-8, 3, 1e-5), root(-8, 34, 1e-5) -2 ~1.05853505050032399594+~.09807874962631613016i > print root(1i, 100, 1e-20) .99987663248166059864+.01570731731182067575i LIMITS n >= 0 eps > 0 LIBRARY void rootvalue(VALUE *x, VALUE *n, VALUE *eps, VALUE *result) NUMBER *qroot(NUMBER *x, NUMBER *n, NUMBER *eps) COMPLEX *qroot(COMPLEX *x, NUMBER *n, NUMBER *eps) SEE ALSO power