Non-floating-point fractional exponentiation approach
Completed on 16-Nov-2016 (24 days)

Project 10 in full-screenProject 10 in PDF
Algorithm >
Root finding

As explained in the previous section, the n-root calculation is the most relevant part of the described fractional exponentiation algorithm. GetNRoot takes care of this through a Number-adapted optimised version of the Newton-Raphson method dealing with f(x) = x^n - value.

The last three sections of this project describe this algorithm in detail.
  • The next section explains this approach and its implementation in GetNRoot.
  • The last two sections (Exponential proportionality and Method improvement) analyse the Math2_Private_New_PowSqrt_RootIni.cs contents; a file which includes all the code in charge of determining the most adequate initial guess. Without this part, the Newton-Raphson method wouldn't be able to deliver what is required because of failing (i.e., getting stuck in an infinite-loop-like situation) under virtually any scenario involving a relevant number of digits.
Additionally, note that GetNRoot isn't meant to calculate any root for any number. It can only deal with certain inputs.
  • Its algorithm assumes that value will always be a positive number. The whole approach determining the most adequate initial guess also comes from this assumption.
  • Its heavy dependence upon the corresponding initial guess restricts the possible values of n to 2 and numbers which are divisible by 10. Note that this is just a consequence of the current implementation, not an absolute limitation.