exponential_inverse.sf 1.0 KB

1234567891011121314151617181920212223242526272829
  1. #!/usr/bin/ruby
  2. # Author: Trizen
  3. # Date: 27 March 2023
  4. # https://github.com/trizen
  5. # Examples on how to use the `lgrt(x)` function for computing the inverse of exponential functions.
  6. # Where `lgrt(n)` is defined as:
  7. # lgrt(x^x) = x
  8. func exponential_inverse(n, a=1, b=1, c=1, d=0) {
  9. lgrt((n/c)**(a/b)) * b / a + d
  10. }
  11. var n = 100
  12. say exponential_inverse(n.factorial, 1, Num.e, sqrt(Num.tau), -1/2) # inverse of factorial(n)
  13. say exponential_inverse(n.bernreal.abs, 1, Num.e * Num.tau, 2*Num.tau, -1/2) # inverse of abs(Bernoulli(n))
  14. say exponential_inverse(n**n * Num.e**n, Num.e, 1)
  15. say exponential_inverse(n**n / Num.e**n, 1, Num.e)
  16. say exponential_inverse(n**n / Num.e**n * 2**n, 2, Num.e)
  17. say exponential_inverse(n**n * Num.e**n * 2**n, 2 * Num.e, 1)
  18. say exponential_inverse(sqrt(2*Num.pi)**n * (n/Num.e)**n, sqrt(2*Num.pi), Num.e)
  19. say exponential_inverse((n/Num.e)**n / sqrt(2*Num.pi)**n, 1, sqrt(2*Num.pi) * Num.e)
  20. say exponential_inverse(sqrt(2*Num.pi)**n / (n/Num.e)**n, -1, sqrt(2*Num.pi) * Num.e).abs