Вычисление сумм в численном виде
Для вычисления сумм в численном виде используются следующие функции:
- NSum[f, {i, imin, imax }]– возвращает численное значение суммы f [ i ] при i, изменяющемся от imin до imax с шагом +1;
- NSumff, {i, imin, imax, di }]– возвращает сумму численных значений функции f [i] при i, изменяющемся от imin до imax с шагом di;
- NSum[f, {i, imin, imax}, {j, jmin, j max },…]– выполняет многомерное суммирование. Функция NSum[… ] эквивалентна выражению N[Sum[…] ].
Особенностью этой функции является возможность использования ряда опций, управляющих вычислительным процессом. Одной из них является NSumTerms, задающая число членов, которые явно должны быть включены в сумму перед экстраполяцией. Вы можете просмотреть список опций, используя команду Options [NSum].
Пример применения функции NSum представлен ниже:
NSum[1 / i3, {i, 1, бесконечность}] 1.20206Пример точного вычисления суммы (для сравнения) с помощью функции Sum:
truesum = Sum[1 + k / 2k k / 3k {k, 1, 50}] 1818632874295681087853745424762603034467 / 808281277464764060643139600456536293376 N[%]  2.25Пример вычисления той же суммы с помощью функции NSum с опциями:
NSum[1 + k / 2 k - 3k, {k, 1, 50}, Method > SequenceLimit, NSumTerms > 2, NSumExtraTerms > 4] - truesum 0.0530365При следующем наборе опций результат еще лучше:
NSum[1 + k / 2 k - 3k, {k, 1, 50}, Method > SequenceLimit, WorkingPrecision > 30, NSumTerms > 2, NSumExtraTerms > 10, WynnDegree > 4] - truesum 0. * 10 - 26Функция вычисления суммы NSum выполняется заметно быстрее, чем функция Sum, хотя на практике заметить это трудно – все приведенные выше примеры выполняются за доли секунды. Возвращаемый функцией NSum результат вещественный.
