NumericalCalculus`
NumericalCalculus`

NSeries

NSeries[f,{x,x0,n}]

gives a numerical approximation to the series expansion of f about the point x=x0 including the terms (x-x0)-n through (x-x0)n.

Details

  • To use NSeries, you first need to load the Numerical Calculus Package using Needs["NumericalCalculus`"].
  • The function f must be numeric when its argument x is numeric.
  • NSeries will construct standard univariate Taylor or Laurent series.
  • NSeries samples f at points on a circle in the complex plane centered at x0 and uses InverseFourier. The option Radius specifies the radius of the circle.
  • The region of convergence will be the annulus (containing the sampled points) where f is analytic.
  • NSeries will not return a correct result if the disk centered at x0 contains a branch cut of f.
  • The result of NSeries is a SeriesData object.
  • If the result of NSeries is a Laurent series, then the SeriesData object is not a correct representation of the series, as higher-order poles are neglected.
  • No effort is made to justify the precision in each of the coefficients of the series.
  • NSeries is unable to recognize small numbers that should in fact be zero. Chop is often needed to eliminate these spurious residuals.
  • The number of sample points chosen is 2^(TemplateBox[{{{log, _, 2},  , {(, n, )}}}, Ceiling]+2).
  • The following options can be given:
  • Radius1radius of circle on which f is sampled
    WorkingPrecisionMachinePrecisionprecision used in internal computations

Examples

open allclose all

Basic Examples  (1)

This is a power series for the exponential function around :

Chop is needed to eliminate spurious residuals:

Using extended precision may also eliminate spurious imaginaries:

Scope  (2)

Find expansions in the complex plane:

Find Laurent expansions about essential singularities:

Series will not find Laurent expansions about essential singularities:

Options  (2)

Radius  (2)

Use Radius to pick the annulus within which the Laurent series will converge:

Laurent series for :

Changing Radius can improve accuracy:

Applications  (1)

A function defined only for numerical input:

Find a series expansion of f:

Check:

Properties & Relations  (1)

NResidue can also be used to construct a series of a numerical function:

Using NResidue:

Possible Issues  (2)

NSeries can have aliasing problems due to InverseFourier:

The correct expansion is analytic at the origin:

SeriesData cannot correctly represent a Laurent series. Here is the square of the series of Exp[+x]:

Here is the SeriesData representation of the Laurent series of :

Neat Examples  (1)

Find the series expansion of the generating function for unrestricted partitions:

Check: