Module: Sylfy::Mathf
- Defined in:
- lib/sylfy/mathf.rb
Overview
additional Mathematic function
Class Method Summary collapse
-
.hypergeometric(k, nn, kk, n) ⇒ Object
hypergeometric function.
-
.lncombinatorial(n, r) ⇒ Object
calculate log combinatorial.
-
.lnfactorial(n) ⇒ Object
calculate log factorial.
Class Method Details
.hypergeometric(k, nn, kk, n) ⇒ Object
hypergeometric function
34 35 36 37 |
# File 'lib/sylfy/mathf.rb', line 34 def self.hypergeometric(k, nn, kk, n) log_h = lncombinatorial(kk, k) + lncombinatorial(nn-kk, n-k) - lncombinatorial(nn, n) return (Math::E ** log_h) end |
.lncombinatorial(n, r) ⇒ Object
calculate log combinatorial
25 26 27 |
# File 'lib/sylfy/mathf.rb', line 25 def self.lncombinatorial(n, r) return lnfactorial(n) - lnfactorial(r) - lnfactorial(n-r) end |
.lnfactorial(n) ⇒ Object
calculate log factorial
18 19 20 |
# File 'lib/sylfy/mathf.rb', line 18 def self.lnfactorial(n) return GSL::Sf::lngamma(n+1) end |