krzysztof_reformulated_zeta_function.sf 451 B

12345678910111213141516171819
  1. #!/usr/bin/ruby
  2. # Formula due to Krzysztof Maslanka
  3. func Ak(k) {
  4. sum(0..k, {|j|
  5. (-1)**j * binomial(k, j) * (2*j + 1) * zeta(2*j + 2)
  6. })
  7. }
  8. func krzysztof_zeta(s, r=100) {
  9. sum(0..r, {|k|
  10. (gamma(k + 1 - s/2) / gamma(1 - s/2)) * (Ak(k) / k!)
  11. }) / (s - 1)
  12. }
  13. say krzysztof_zeta(3) #=> 1.2020569022705898699637409727804911671219286162
  14. say krzysztof_zeta(5) #=> 1.0369277551507417486201175962997774385468699839