Advertisement
MatsGranvik

Linear progamming and minimum bound

Feb 29th, 2020
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1. Clear[t, n, k];
  2. nn = 101;
  3. t[n_, 1] = 1;
  4. t[1, k_] = 1;
  5. t[n_, k_] :=
  6. t[n, k] =
  7. If[n > k, -Sum[t[n - i, k], {i, 1, k - 1}], -Sum[
  8. t[n, k - i], {i, 1, n - 1}]];
  9. TableForm[
  10. A = Accumulate[
  11. Table[Table[If[n >= k, t[n, k], 0], {k, 1, nn}], {n, 1, nn*2}]]];
  12. max = Table[Max[A[[All, k]]], {k, 1, nn}]
  13. min = Table[Min[A[[All, k]]], {k, 1, nn}]
  14. Flatten[Position[Sign[max], 1]]
  15. max + min
  16. maxANDmin = Table[If[max[[n]] > 0, max[[n]], min[[n]]], {n, 1, nn}]
  17. min == min
  18. min[[1]] = 1;
  19.  
  20. Clear[a, b];
  21. nn = nn - 1;
  22. a[n_] := Total[MoebiusMu[Divisors[n]]*Divisors[n]];
  23. Monitor[a1 =
  24. Table[Sum[Sum[a[GCD[m, r]], {m, r, n}]/r, {r, 2, n}], {n, 1,
  25. nn}];, n]
  26. g1 = ListLinePlot[a1, PlotStyle -> {Red, Thick}];
  27.  
  28. Monitor[a2 =
  29. Table[Sum[
  30. If[Sum[min[[k]], {k, 2, r}] + (n - 1) >= 0, min[[r]]/r, 0], {r,
  31. 2, n}] +
  32. Sum[If[And[Sum[min[[k]], {k, 2, r}] + (n - 1) >= 0,
  33. Sum[min[[k + 1]], {k, 2, r}] + (n - 1) <=
  34. 0], -(Sum[min[[k]], {k, 2, r}] + (n - 1))/(r), 0], {r, 2,
  35. n}], {n, 1, nn}];, n]
  36. g2 = ListLinePlot[a2, PlotStyle -> {Thick}];
  37. g3 = Show[g2, g1]
  38. Sign[a2 - a1]
  39. Length[%]
  40. Count[%%, -1]
  41. Position[%%%, 1]
  42.  
  43. (*start*)
  44. TableForm[
  45. L2 = Table[
  46. LinearProgramming[
  47. Table[1/n, {n, 1, k}], {Table[If[n == 1, k, 1], {n, 1, k}]}, {{1,
  48. 0}}, Table[
  49. If[n == 1, {-1, 1}, {-2*(n - 1), 0 (n - 1)}], {n, 1, k}]], {k,
  50. 1, nn}]];
  51. t1 = Table[Sum[L2[[n, k]]/k, {k, 2, n}], {n, 2, nn}];
  52. t2 = Table[-(2*k^(1/2) + 1 - 2*Log[k^(1/2) + 1] - 2*EulerGamma), {k,
  53. 2, nn}];
  54. Show[ListLinePlot[t1], g3]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement