partial_sums_of_exponential_prime_omega_functions.sf 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144
  1. #!/usr/bin/ruby
  2. # Daniel "Trizen" Șuteu
  3. # Date: 16 March 2021
  4. # https://github.com/trizen
  5. # Compute partial sums of the following three functions in sublinear time:
  6. # S1(n) = Sum_{k=1..n} v^bigomega(k)
  7. # S2(n) = Sum_{k=1..n} v^omega(k)
  8. # S3(n) = Sum_{k=1..n} v^omega(k) * mu(k)^2
  9. func S1(n,v=2) { # Sum_{k=1..n} v^bigomega(k)
  10. sum(0..n.ilog2, {|k|
  11. v**k * k.almost_primepi(n)
  12. })
  13. }
  14. func S2(n,v=2) { # Sum_{k=1..n} v^omega(k)
  15. sum(0..n.ilog2, {|k|
  16. v**k * k.omega_prime_count(n)
  17. })
  18. }
  19. func S3(n,v=2) { # Sum_{k=1..n} v^omega(k) * mu(k)^2
  20. sum(0..n.ilog2, {|k|
  21. v**k * k.squarefree_almost_primepi(n)
  22. })
  23. }
  24. say 20.of(S1) #=> A069205: [0, 1, 3, 5, 9, 11, 15, 17, 25, 29, 33, 35, 43, 45, 49, 53, 69, 71, 79, 81]
  25. say 20.of(S2) #=> A064608: [0, 1, 3, 5, 7, 9, 13, 15, 17, 19, 23, 25, 29, 31, 35, 39, 41, 43, 47, 49]
  26. say 20.of(S3) #=> A069201: [0, 1, 3, 5, 5, 7, 11, 13, 13, 13, 17, 19, 19, 21, 25, 29, 29, 31, 31, 33]
  27. __END__
  28. # A069205(n) = Sum_{k=1..n} 2^bigomega(k)
  29. A069205(10^1) = 33
  30. A069205(10^2) = 811
  31. A069205(10^3) = 15301
  32. A069205(10^4) = 260615
  33. A069205(10^5) = 3942969
  34. A069205(10^6) = 55282297
  35. A069205(10^7) = 746263855
  36. A069205(10^8) = 9613563919
  37. A069205(10^9) = 120954854741
  38. A069205(10^10) = 1491898574939
  39. A069205(10^11) = 17944730372827
  40. A069205(10^12) = 212986333467973
  41. A069205(10^13) = 2498962573520227
  42. A069205(10^14) = 28874142998632109
  43. # A002819(n) = Sum_{k=1..n} (-1)^bigomega(k)
  44. # See also: A090410
  45. A002819(10^1) = 0
  46. A002819(10^2) = -2
  47. A002819(10^3) = -14
  48. A002819(10^4) = -94
  49. A002819(10^5) = -288
  50. A002819(10^6) = -530
  51. A002819(10^7) = -842
  52. A002819(10^8) = -3884
  53. A002819(10^9) = -25216
  54. A002819(10^10) = -116026
  55. A002819(10^11) = -342224
  56. A002819(10^12) = -522626
  57. A002819(10^13) = -966578
  58. A002819(10^14) = -7424752
  59. # A064608(n) = Sum_{k=1..n} 2^omega(k)
  60. # See also: A180361
  61. A064608(10^1) = 23
  62. A064608(10^2) = 359
  63. A064608(10^3) = 4987
  64. A064608(10^4) = 63869
  65. A064608(10^5) = 778581
  66. A064608(10^6) = 9185685
  67. A064608(10^7) = 105854997
  68. A064608(10^8) = 1198530315
  69. A064608(10^9) = 13385107495
  70. A064608(10^10) = 147849112851
  71. A064608(10^11) = 1618471517571
  72. # A174863(n) = Sum_{k=1..n} (-1)^omega(k)
  73. A174863(10^1) = -4
  74. A174863(10^2) = 14
  75. A174863(10^3) = 64
  76. A174863(10^4) = -16
  77. A174863(10^5) = -720
  78. A174863(10^6) = -1908
  79. A174863(10^7) = -1650
  80. A174863(10^8) = 10734
  81. A174863(10^9) = 53740
  82. A174863(10^10) = 108654
  83. A174863(10^11) = 195702
  84. # A069201(n) = Sum_{k=1..n} mu(k)^2 * 2^omega(k)
  85. A069201(10^1) = 17
  86. A069201(10^2) = 211
  87. A069201(10^3) = 2825
  88. A069201(10^4) = 34891
  89. A069201(10^5) = 414813
  90. A069201(10^6) = 4808081
  91. A069201(10^7) = 54684335
  92. A069201(10^8) = 612868643
  93. A069201(10^9) = 6788951097
  94. A069201(10^10) = 74492096539
  95. A069201(10^11) = 810947010335
  96. A069201(10^12) = 8769730440341
  97. # A002321(n) = Sum_{k=1..n} (-1)^omega(k) * mu(k)^2 = Sum_{k=1..n} mu(k)
  98. # See also: A084237
  99. A002321(10^1) = -1
  100. A002321(10^2) = 1
  101. A002321(10^3) = 2
  102. A002321(10^4) = -23
  103. A002321(10^5) = -48
  104. A002321(10^6) = 212
  105. A002321(10^7) = 1037
  106. A002321(10^8) = 1928
  107. A002321(10^9) = -222
  108. A002321(10^10) = -33722
  109. A002321(10^11) = -87856
  110. # A013928(n) = Sum_{k=1..n} mu(k)^2
  111. # See also: A071172
  112. A013928(10^1) = 7
  113. A013928(10^2) = 61
  114. A013928(10^3) = 608
  115. A013928(10^4) = 6083
  116. A013928(10^5) = 60794
  117. A013928(10^6) = 607926
  118. A013928(10^7) = 6079291
  119. A013928(10^8) = 60792694
  120. A013928(10^9) = 607927124
  121. A013928(10^10) = 6079270942
  122. A013928(10^11) = 60792710280