При работе в режиме песочницы вы можете отправлять только проверенным пользователям - как только ваша учетная запись активирована, вы можете отправить ее кому-либо.
Выход из песочницы:
http://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html
Вам нужно что-то, что может выполнять символьные вычисления, например Mathematica . Вы также можете рассмотреть возможность запроса wolframaplha: sum ((- 1) ^ i * 1 / i, i, i , 1, inf)
Максимумы могут вычислить некоторые бесконечные суммы, но в данном конкретном случае, похоже, не найти ответа: -s
(%i1) sum((-1)^k/(2*k), k, 1, inf), simpsum;
inf
==== k
\ (- 1)
> ------
/ k
====
k = 1
(%o1) ------------
2
, но, например, эти работы:
(%i2) sum(1/(k^2), k, 1, inf), simpsum;
2
%pi
(%o2) ----
6
(%i3) sum((1/2^k), k, 1, inf), simpsum;
(%o3) 1
Одним из мест, где можно посмотреть, может быть категория Википедии Системы компьютерной алгебры .
Большинство функциональных языков с отложенным вычислением могут моделировать обработку бесконечных рядов. Конечно, на конечном компьютере невозможно обрабатывать бесконечные серии, и я уверен, что вы знаете. Вне моей головы, я полагаю, Mathematica может делать большую часть того, что вы, возможно, захотите, я подозреваю, что Maple тоже может, может быть Sage и другие компьютеры- системы алгебры, и я был бы удивлен, если бы вы не смогли найти подходящую вам реализацию Haskell.
РЕДАКТИРОВАТЬ, чтобы уточнить для OP: я не предлагаю создавать бесконечные циклы. Ленивое вычисление позволяет вам писать программы (или функции), моделирующие бесконечные серии, программы, которые сами по себе конечны во времени и пространстве. С помощью таких языков вы можете определить многие свойства, такие как сходимость, моделируемых бесконечных рядов со значительной точностью и некоторой степенью уверенности. Попробуйте Mathematica или, если у вас нет доступа к нему, попробуйте Wolfram Alpha , чтобы узнать, что одна система может сделать для вас.
Для Python проверьте SymPy - клон Mathematica и Matlab.
Существует также более тяжелый инструмент математической обработки на основе Python под названием Sage .
К сожалению, я не смог найти более подходящую ссылку на последовательности haskell, если она есть у кого-то другого, пожалуйста, дайте мне знать, и я обновлю ее.
Я работал с несколькими сериями огромных данных для исследовательских целей. Я использовал Matlab для этого. Я не знал, что он может/не может обрабатывать бесконечные серии.
Но я думаю, что такая возможность есть. Вы можете попробовать :)
Помимо поддержки бесконечных списков, в Haskell есть два инструмента для этого.
Во-первых, есть модуль, который поддерживает поиск последовательностей в OEIS. Это может быть применено к нескольким первым членам вашей серии и может помочь вам идентифицировать серию, для которой вы не знаете закрытую форму и т. Д. Другой - это библиотека вычислимых вещественных чисел CReal. Если у вас есть возможность генерировать постоянно улучшающуюся границу вашего значения (например, суммируя по префиксу, вы можете объявить это как вычислимое действительное число, которое допускает частичное упорядочение и т. Д.). Во многих отношениях это дает вам значение, которое вы можете используйте сумму, подобную приведенной выше.
Однако в целом для вычисления равенства двух потоков требуется оракул для решения проблемы остановки, поэтому ни один язык не будет делать то, что вы хотите в полной общности, хотя некоторые системы компьютерной алгебры, такие как Mathematica, могут попробовать.
Существует библиотека mpmath (python), модуль sympy, которая обеспечивает последовательную поддержку sympy (я считаю, что она также поддерживает sage).
В частности, все материалы серии можно найти здесь: Документация по сериям
Библиотека iRRAM C ++ выполняет действительную арифметику точно . Помимо прочего, он может точно вычислять пределы, используя функцию limit. Домашняя страница iRRAM здесь . Ознакомьтесь с функцией ограничения в документации. Обратите внимание, что я не говорю о арифметике произвольной точности. Это точная арифметика для разумного определения точного. Вот их код для точного вычисления e, взятый из примера на их веб-сайте:
//---------------------------------------------------------------------
// Compute an approximation to e=2.71.. up to an error of 2^p
REAL e_approx (int p)
{
if ( p >= 2 ) return 0;
REAL y=1,z=2;
int i=2;
while ( !bound(y,p-1) ) {
y=y/i;
z=z+y;
i+=1;
}
return z;
};
//---------------------------------------------------------------------
// Compute the exact value of e=2.71..
REAL e()
{
return limit(e_approx);
};
Вы можете решить задачу с сериями в Sage (бесплатная математическая программная система на базе Python) следующим образом:
sage: k = var('k'); sum((-1)^k/(2*k+1), k, 1, infinity)
1/4*pi - 1
За кулисами это действительно использование Maxima (компонент Sage).