# Documentation

### Use only in the MuPAD Notebook Interface.

This functionality does not run in MATLAB.

## Syntax

```pade(`f`, `x`, <`[m, n]`>)
pade(`f`, `x = x0`, <`[m, n]`>)
```

## Description

`pade(f, ...)` computes a Pade approximant of the expression `f`.

The Pade approximant of order [m, n] around x = x0 is a rational expression

approximating f. The parameters p and a0 are given by the leading order term f = a0 (x - x0)p + O((x - x0)p + 1) of the series expansion of f around x = x0. The parameters a1, …, bn are chosen such that the series expansion of the Pade approximant coincides with the series expansion of f to the maximal possible order.

The expansion points `infinity`, `-infinity`, and `complexInfinity` are not allowed.

If no series expansion of f can be computed, then `FAIL` is returned. Note that `series` must be able to produce a Taylor series or a Laurent series of f, i.e., an expansion in terms of integer powers of x - x0 must exist.

## Examples

### Example 1

The Pade approximant is a rational approximation of a series expansion:

`f := cos(x)/(1 + x): P := pade(f, x, [2, 2])`

For most expressions of leading order 0, the series expansion of the Pade approximant coincides with the series expansion of the expression through order m + n:

`S := series(f, x, 6)`

This differs from the expansion of the Pade approximant at order 5:

`series(P, x, 6)`

The series expansion can be used directly as input to`pade`:

`pade(S, x, [2, 3]), pade(S, x, [3, 2])`

Both Pade approximants approximate `f` through order m + n = 5:

`map([%], series, x)`

`delete f, P, S:`

### Example 2

The following expression does not have a Laurent expansion around x = 0:

`series(x^(1/3)/(1 - x), x)`

Consequently, `pade` fails:

`pade(x^(1/3)/(1 - x), x, [3, 2])`

### Example 3

Note that the specified orders [m, n] do not necessarily coincide with the orders of the numerator and the denominator if the series expansion does not start with a constant term:

`pade(x^10*exp(x), x, [2, 2]), pade(x^(-10)*exp(x), x, [2, 2])`

## Parameters

 `f` An arithmetical expression or a series of domain type `Series::Puiseux` generated by the function `series` `x` `x0` An arithmetical expression. If `x0` is not specified, then `x0` = 0 is assumed. `[m, n]` A list of nonnegative integers specifying the order of the approximation. The default values are `[3, 3]`.

## Return Values

Arithmetical expression or `FAIL`.