Advertisement
Guest User

Untitled

a guest
Aug 18th, 2019
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.21 KB | None | 0 0
  1. cotsum[x_] /; QuadraticIrrationalQ[x] :=
  2. Module[{a1 = x, list, l, r, i, nlist, f, solution, output, equation,
  3. string}, list = ContinuedFraction[a1];
  4. l = Length[list] - 1;
  5. r = Length[list[[l + 1]]];
  6. i = 1; string = "{";
  7. While[i < l + r + 1, string = string <> "x" <> ToString[i] <> ",";
  8. i++]; string = StringTake[string, StringLength[string] - 1] <> "}";
  9. Do[Evaluate[ToExpression["a" <> ToString[i + 1]]] =
  10. FromContinuedFraction[Drop[list, i]], {i, 1, l - 1}];
  11. nlist = list[[l + 1]];
  12. Do[Evaluate[ToExpression["a" <> ToString[i + l + 1]]] =
  13. FromContinuedFraction[{Flatten[
  14. Append[Drop[nlist, i], Take[nlist, i]]]}], {i, 0, r - 1}];
  15. f[a_] := (1 - 5 a^2 + a^4)/90/a;
  16. equation =
  17. Table[ToExpression[
  18. "x" <> ToString[i + 1] <> "+a" <> ToString[i + 1] <> "^2*x" <>
  19. ToString[i] <> "==f[a" <> ToString[i + 1] <> "]"], {i, 1,
  20. r + l - 1}];
  21. equation =
  22. Append[equation,
  23. ToExpression[
  24. "x" <> ToString[l + 1] <> "+a" <> ToString[l + 1] <> "^2*x" <>
  25. ToString[r + l] <> "==f[a" <> ToString[l + 1] <> "]"]];
  26. solution = Solve[equation, ToExpression[string]]; Clear["a*"];
  27. output = (ToExpression[string][[1]] /. Flatten[solution])*Pi^3;
  28. FullSimplify[output]]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement