# Classical Basis Layers

The following basis are helper functions for easily building arrays of the form [f*0(x), ..., f*{n-1}(x)], where f is the corresponding function of the basis (e.g, Chebyshev Polynomials, Legendre Polynomials, etc.)

`DiffEqFlux.ChebyshevBasis`

— TypeConstructs a Chebyshev basis of the form [T*{0}(x), T*{1}(x), ..., T*{n-1}(x)] where T*j(.) is the j-th Chebyshev polynomial of the first kind.

`ChebyshevBasis(n)`

Arguments:

`n`

: number of terms in the polynomial expansion.

`DiffEqFlux.SinBasis`

— TypeConstructs a sine basis of the form [sin(x), sin(2*x), ..., sin(n*x)].

`SinBasis(n)`

Arguments:

`n`

: number of terms in the sine expansion.

`DiffEqFlux.CosBasis`

— TypeConstructs a cosine basis of the form [cos(x), cos(2*x), ..., cos(n*x)].

`CosBasis(n)`

Arguments:

`n`

: number of terms in the cosine expansion.

`DiffEqFlux.FourierBasis`

— TypeConstructs a Fourier basis of the form F*j(x) = j is even ? cos((j÷2) x) : sin((j÷2)x) => [F*0(x), F

*1(x), ..., F*n(x)].

`FourierBasis(n)`

Arguments:

`n`

: number of terms in the Fourier expansion.

`DiffEqFlux.LegendreBasis`

— TypeConstructs a Legendre basis of the form [P*{0}(x), P*{1}(x), ..., P*{n-1}(x)] where P*j(.) is the j-th Legendre polynomial.

`LegendreBasis(n)`

Arguments:

`n`

: number of terms in the polynomial expansion.

`DiffEqFlux.PolynomialBasis`

— TypeConstructs a Polynomial basis of the form [1, x, ..., x^(n-1)].

`PolynomialBasis(n)`

Arguments:

`n`

: number of terms in the polynomial expansion.