mirror of
https://github.com/lcn2/calc.git
synced 2025-08-19 01:13:27 +03:00
54 lines
1.6 KiB
Plaintext
54 lines
1.6 KiB
Plaintext
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
|