Advertisement
MatsGranvik

Linear programming and the Riemann hypothesis

Nov 12th, 2019
474
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.05 KB | None | 0 0
  1. (*start*)
  2. (*Mathematica 8.0.1*)
  3. Clear[nn, constant, s, a, d, M, T, n, k, m, sequenceToBeBounded,
  4. linearProgrammingSolution];
  5. nn = 50;
  6. constant = 1;
  7. s = 1;
  8. a[n_] := If[n < 1, 0, Sum[d MoebiusMu@d, {d, Divisors[n]}]]
  9.  
  10. Monitor[TableForm[
  11. M = Table[
  12. Table[Sum[If[m >= k, a[GCD[m, k]], 0], {m, 1, n}], {k, 1,
  13. nn}], {n, 1, nn}]];, n]
  14. Monitor[sequenceToBeBounded =
  15. Table[Sum[M[[n, k]]/k^s, {k, 2, n}], {n, 1,
  16. nn}](*<--sequence to be bounded*), n]
  17. Table[Sum[
  18. Sum[If[Mod[m, k] == 0, MoebiusMu[m/k]*HarmonicNumber[k], 0], {k, 1,
  19. m}] - 1, {m, 1, n}], {n, 1, nn}]
  20. %% - %
  21.  
  22. "1"
  23. Monitor[TableForm[
  24. PartialSumsOfMöbiusInverseOfHarmonicNumberLinearProgrammingSolution \
  25. = Table[LinearProgramming[
  26. Table[1/k^s, {k, 1, n}], {Table[
  27. If[k == 1, n, 1], {k, 1, n}]}, {{1, 0}},
  28. Table[If[k == 1, {-1, 1}, {M[[n, k]], M[[n, k]]}], {k, 1,
  29. n}]], {n, 1, nn}]], n]
  30. Monitor[lowerBound1 =
  31. Table[Sum[
  32. PartialSumsOfMöbiusInverseOfHarmonicNumberLinearProgrammingSoluti\
  33. on[[n, k]]/k^s, {k, 2, n}], {n, 1, nn}];, n]
  34.  
  35. Show[ListPlot[constant*lowerBound1, PlotStyle -> {Thick},
  36. PlotMarkers -> Automatic],
  37. ListLinePlot[constant*lowerBound1, PlotStyle -> {Thick}],
  38. ListLinePlot[sequenceToBeBounded, PlotStyle -> {Red, Thick}],
  39. ImageSize -> Large]
  40.  
  41. "2"
  42. constant = 2;
  43. Monitor[TableForm[
  44. AbsoluteValueNumberTheoreticLinearProgrammingSolution =
  45. Table[LinearProgramming[
  46. Table[1/k^s, {k, 1, n}], {Table[
  47. If[k == 1, n, 1], {k, 1, n}]}, {{1, 0}},
  48. Table[If[k == 1, {-1, 1}, {-Abs[M[[n, k]]], 0 (k - 1)}], {k, 1,
  49. n}]], {n, 1, nn}]], n]
  50. Monitor[lowerBound2 =
  51. Table[Sum[
  52. AbsoluteValueNumberTheoreticLinearProgrammingSolution[[n, k]]/
  53. k^s, {k, 2, n}], {n, 1, nn}];, n]
  54.  
  55. "3"
  56. constant = 2;
  57. Monitor[TableForm[
  58. OrdinaryLinearProgrammingSolution =
  59. Table[LinearProgramming[
  60. Table[1/k^s, {k, 1, n}], {Table[
  61. If[k == 1, n, 1], {k, 1, n}]}, {{1, 0}},
  62. Table[If[
  63. k == 1, {-1, 1}, {-(k - 1) + 0*Abs[M[[n, k]]],
  64. 0 (k - 1)}], {k, 1, n}]], {n, 1, nn}]];, n]
  65. Monitor[lowerBound3 =
  66. Table[Sum[
  67. OrdinaryLinearProgrammingSolution[[n, k]]/k^s, {k, 2, n}], {n, 1,
  68. nn}];, n]
  69.  
  70. Show[ListLinePlot[constant*lowerBound3, PlotStyle -> {Thick}],
  71. ListPlot[constant*lowerBound3, PlotStyle -> {Thick},
  72. PlotMarkers -> Automatic],
  73. ListPlot[lowerBound1, PlotStyle -> {Thick, Red},
  74. PlotMarkers -> Automatic],
  75. ListLinePlot[lowerBound1, PlotStyle -> {Thick, Red}],
  76. ListPlot[constant*lowerBound2, PlotStyle -> {Thick},
  77. PlotMarkers -> Automatic],
  78. ListLinePlot[constant*lowerBound2, PlotStyle -> {Thick},
  79. PlotMarkers -> Automatic], ImageSize -> Large]
  80. (*end*)
  81.  
  82.  
  83. (*****************************************************)
  84. (*****************************************************)
  85. (*****************************************************)
  86.  
  87. (*start*)(*Mathematica 8.0.1*)
  88. Clear[nn, constant, s, a, d, M, T, n, k, m, sequenceToBeBounded,
  89. linearProgrammingSolution];
  90. nn = 50;
  91. constant = 1;
  92. s = 1;
  93. a[n_] := If[n < 1, 0, Sum[d MoebiusMu@d, {d, Divisors[n]}]]
  94.  
  95. Monitor[TableForm[
  96. M = Table[
  97. Table[Sum[If[m >= k, a[GCD[m, k]], 0], {m, 1, n}], {k, 1,
  98. nn}], {n, 1, nn}]];, n]
  99. Monitor[sequenceToBeBounded =
  100. Table[Sum[M[[n, k]]/k^s, {k, 2, n}], {n, 1,
  101. nn}];(*<--sequence to be bounded*), n]
  102. Monitor[sequenceToBeBounded2 =
  103. Table[Sum[(M[[n, k]] - 1)/k^s, {k, 2, n}], {n, 1,
  104. nn}];(*<--sequence to be bounded*), n]
  105. Table[Sum[
  106. Sum[If[Mod[m, k] == 0, MoebiusMu[m/k]*HarmonicNumber[k], 0], {k, 1,
  107. m}] - 1, {m, 1, n}], {n, 1, nn}];
  108. (*%%-%;*)
  109.  
  110. "1"
  111. Monitor[TableForm[
  112. PartialSumsOfMöbiusInverseOfHarmonicNumberLinearProgrammingSolution\
  113. = Table[LinearProgramming[
  114. Table[1/k^s, {k, 1, n}], {Table[
  115. If[k == 1, n, 1], {k, 1, n}]}, {{1, 0}},
  116. Table[If[k == 1, {-1, 1}, {M[[n, k]] - 1, M[[n, k]]}], {k, 1,
  117. n}]], {n, 1, nn}]];, n]
  118. Monitor[lowerBound1 =
  119. Table[Sum[
  120. PartialSumsOfMöbiusInverseOfHarmonicNumberLinearProgrammingSoluti\
  121. on[[n, k]]/k^s, {k, 2, n}], {n, 1, nn}];, n]
  122.  
  123. Show[ListPlot[constant*lowerBound1, PlotStyle -> {Thick},
  124. PlotMarkers -> Automatic],
  125. ListLinePlot[constant*lowerBound1, PlotStyle -> {Thick}],
  126. ListLinePlot[sequenceToBeBounded, PlotStyle -> {Red, Thick}],
  127. ImageSize -> Large]
  128.  
  129. "2"
  130. constant = 1;
  131. Monitor[TableForm[
  132. AbsoluteValueNumberTheoreticLinearProgrammingSolution =
  133. Table[LinearProgramming[
  134. Table[1/k^s, {k, 1, n}], {Table[
  135. If[k == 1, n, 1], {k, 1, n}]}, {{1, 0}},
  136. Table[If[k == 1, {-1, 1}, {-Abs[M[[n, k]]] - 1, 0 (k - 1)}], {k,
  137. 1, n}]], {n, 1, nn}]];, n]
  138. Monitor[lowerBound2 =
  139. Table[Sum[
  140. AbsoluteValueNumberTheoreticLinearProgrammingSolution[[n, k]]/
  141. k^s, {k, 2, n}], {n, 1, nn}];, n]
  142. "here here here"
  143. Show[ListLinePlot[lowerBound2, PlotStyle -> Blue],
  144. ListLinePlot[sequenceToBeBounded2, PlotStyle -> Red]]
  145.  
  146. "3"
  147. constant = 1;
  148. Monitor[TableForm[
  149. OrdinaryLinearProgrammingSolution =
  150. Table[LinearProgramming[
  151. Table[1/k^s, {k, 1, n}], {Table[
  152. If[k == 1, n, 1], {k, 1, n}]}, {{1, 0}},
  153. Table[If[
  154. k == 1, {-1, 1}, {-k - 1 + 0*Abs[M[[n, k]]], 0 (k - 1)}], {k,
  155. 1, n}]], {n, 1, nn}]];, n]
  156. Monitor[lowerBound3 =
  157. Table[Sum[
  158. OrdinaryLinearProgrammingSolution[[n, k]]/k^(s), {k, 2, n}], {n,
  159. 1, nn}];, n]
  160.  
  161. Monitor[lowerBound4 =
  162. Table[Sum[
  163. Sign[OrdinaryLinearProgrammingSolution[[n, k]]], {k, 2, n}], {n,
  164. 1, nn}];, n]
  165. Count[Table[Floor[(Sqrt[1 + 8*(n + 1)] - 3)/2], {n, 1, nn}] +
  166. lowerBound4, 0]
  167.  
  168. Show[ListLinePlot[constant*lowerBound3, PlotStyle -> {Thick}],
  169. ListPlot[constant*lowerBound3, PlotStyle -> {Thick},
  170. PlotMarkers -> Automatic],
  171. ListPlot[lowerBound1, PlotStyle -> {Thick, Red},
  172. PlotMarkers -> Automatic],
  173. ListLinePlot[lowerBound1, PlotStyle -> {Thick, Red}],
  174. ListPlot[constant*lowerBound2, PlotStyle -> {Thick},
  175. PlotMarkers -> Automatic],
  176. ListLinePlot[constant*lowerBound2, PlotStyle -> {Thick},
  177. PlotMarkers -> Automatic], ImageSize -> Large]
  178. (*end*)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement