Какой язык программирования или библиотека могут обработать Ряд Бога?

При работе в режиме песочницы вы можете отправлять только проверенным пользователям - как только ваша учетная запись активирована, вы можете отправить ее кому-либо.

Выход из песочницы:

http://docs.aws.amazon.com/ses/latest/DeveloperGuide/request-production-access.html

26
задан psihodelia 31 March 2010 в 11:55
поделиться

11 ответов

Вам нужно что-то, что может выполнять символьные вычисления, например Mathematica . Вы также можете рассмотреть возможность запроса wolframaplha: sum ((- 1) ^ i * 1 / i, i, i , 1, inf)

4
ответ дан 28 November 2019 в 06:11
поделиться

Максимумы могут вычислить некоторые бесконечные суммы, но в данном конкретном случае, похоже, не найти ответа: -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
12
ответ дан fortran 28 November 2019 в 06:11
поделиться

Одним из мест, где можно посмотреть, может быть категория Википедии Системы компьютерной алгебры .

15
ответ дан John 28 November 2019 в 06:11
поделиться

Большинство функциональных языков с отложенным вычислением могут моделировать обработку бесконечных рядов. Конечно, на конечном компьютере невозможно обрабатывать бесконечные серии, и я уверен, что вы знаете. Вне моей головы, я полагаю, Mathematica может делать большую часть того, что вы, возможно, захотите, я подозреваю, что Maple тоже может, может быть Sage и другие компьютеры- системы алгебры, и я был бы удивлен, если бы вы не смогли найти подходящую вам реализацию Haskell.

РЕДАКТИРОВАТЬ, чтобы уточнить для OP: я не предлагаю создавать бесконечные циклы. Ленивое вычисление позволяет вам писать программы (или функции), моделирующие бесконечные серии, программы, которые сами по себе конечны во времени и пространстве. С помощью таких языков вы можете определить многие свойства, такие как сходимость, моделируемых бесконечных рядов со значительной точностью и некоторой степенью уверенности. Попробуйте Mathematica или, если у вас нет доступа к нему, попробуйте Wolfram Alpha , чтобы узнать, что одна система может сделать для вас.

18
ответ дан 28 November 2019 в 06:11
поделиться

Для Python проверьте SymPy - клон Mathematica и Matlab.

Существует также более тяжелый инструмент математической обработки на основе Python под названием Sage .

7
ответ дан 28 November 2019 в 06:11
поделиться

Clojure и Haskell - не помню.

К сожалению, я не смог найти более подходящую ссылку на последовательности haskell, если она есть у кого-то другого, пожалуйста, дайте мне знать, и я обновлю ее.

2
ответ дан 28 November 2019 в 06:11
поделиться

Я работал с несколькими сериями огромных данных для исследовательских целей. Я использовал Matlab для этого. Я не знал, что он может/не может обрабатывать бесконечные серии.

Но я думаю, что такая возможность есть. Вы можете попробовать :)

1
ответ дан 28 November 2019 в 06:11
поделиться

Помимо поддержки бесконечных списков, в Haskell есть два инструмента для этого.

Во-первых, есть модуль, который поддерживает поиск последовательностей в OEIS. Это может быть применено к нескольким первым членам вашей серии и может помочь вам идентифицировать серию, для которой вы не знаете закрытую форму и т. Д. Другой - это библиотека вычислимых вещественных чисел CReal. Если у вас есть возможность генерировать постоянно улучшающуюся границу вашего значения (например, суммируя по префиксу, вы можете объявить это как вычислимое действительное число, которое допускает частичное упорядочение и т. Д.). Во многих отношениях это дает вам значение, которое вы можете используйте сумму, подобную приведенной выше.

Однако в целом для вычисления равенства двух потоков требуется оракул для решения проблемы остановки, поэтому ни один язык не будет делать то, что вы хотите в полной общности, хотя некоторые системы компьютерной алгебры, такие как Mathematica, могут попробовать.

13
ответ дан 28 November 2019 в 06:11
поделиться

Существует библиотека mpmath (python), модуль sympy, которая обеспечивает последовательную поддержку sympy (я считаю, что она также поддерживает sage).
В частности, все материалы серии можно найти здесь: Документация по сериям

3
ответ дан 28 November 2019 в 06:11
поделиться

Библиотека 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);
};
3
ответ дан 28 November 2019 в 06:11
поделиться

Вы можете решить задачу с сериями в Sage (бесплатная математическая программная система на базе Python) следующим образом:

sage: k = var('k'); sum((-1)^k/(2*k+1), k, 1, infinity)
1/4*pi - 1

За кулисами это действительно использование Maxima (компонент Sage).

8
ответ дан 28 November 2019 в 06:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: