# Periodic Domains

```
using ApproxFun
using LinearAlgebra
```

We may approximate a periodic function in `Fourier`

space

```
f = Fun(cos, Fourier(-π..π))
norm(differentiate(f) + Fun(sin, Fourier(-π..π))) < 100eps()
```

`true`

## Boundary Value Problems

Due to the periodicity, Fourier representations allow for the asymptotic savings of 2/π in the number of coefficients that need to be stored compared with a Chebyshev representation.

ODEs can also be solved when the solution is periodic.

In this example, we solve

\[\frac{dy}{dt} + (1 + \sin(\cos(2t)))y = \exp(\sin(10t))\]

subject to periodic boundary conditions on the domain $[-\pi,\,\pi]$.

Solve the differential equation in Chebyshev space

```
s = Chebyshev(-π..π)
a = Fun(t-> 1+sin(cos(2t)),s)
L = Derivative() + a
f = Fun(t->exp(sin(10t)),s)
B = periodic(s,0)
uChebyshev = [B;L]\[0.,f]
ncoefficients(uChebyshev)
```

`514`

Solve the differential equation in Fourier space

```
s = Fourier(-π..π)
a = Fun(t-> 1+sin(cos(2t)),s)
L = Derivative() + a
f = Fun(t->exp(sin(10t)),s)
uFourier = L\f
ncoefficients(uFourier)
```

`323`

We note that the number of coefficients in the Fourier space is lower than that in the Chebyshev space by a factor of approximately π/2

`ncoefficients(uFourier)/ncoefficients(uChebyshev),2/π`

`(0.6284046692607004, 0.6366197723675814)`

We plot the solution

```
import Plots
Plots.plot(uFourier, xlims=(-pi, pi), legend=false)
```

*This page was generated using Literate.jl.*