# fourierbasis

0th

Percentile

##### Fourier Basis Functions

Evaluates the Fourier basis functions on a $d$-dimensional box with $d$-dimensional frequencies $k_i$ at the $d$-dimensional coordinates $x_j$.

##### Usage
fourierbasis(x, k, win = boxx(rep(list(0:1), ncol(k))))
fourierbasisraw(x, k, boxlengths)
##### Arguments
x

Coordinates. A data.frame or matrix with $n$ rows and $d$ columns giving the $d$-dimensional coordinates.

k

Frequencies. A data.frame or matrix with $m$ rows and $d$ columns giving the frequencies of the Fourier-functions.

win

window (of class "owin", "box3" or "boxx") giving the $d$-dimensional box domain of the Fourier functions.

boxlengths

numeric giving the side lengths of the box domain of the Fourier functions.

##### Details

The result is an $m$ by $n$ matrix where the $(i,j)$'th entry is the $d$-dimensional Fourier basis function with frequency $k_i$ evaluated at the point $x_j$, i.e., $$\frac{1}{\sqrt{|W|}} \exp(2\pi i \sum{l=1}^d k_{i,l} x_{j,l}/L_l)$$ where $L_l$, $l=1,...,d$ are the box side lengths and $|W|$ is the volume of the domain (window/box). Note that the algorithm does not check whether the coordinates given in x are contained in the given box. Actually the box is only used to determine the side lengths and volume of the domain for normalization.

The stripped down faster version fourierbasisraw doesn't do checking or conversion of arguments and requires x and k to be matrices.

##### Value

An m by n matrix of complex values.

##### Aliases
• fourierbasis
• fourierbasisraw
##### Examples
# NOT RUN {
## 27 rows of three dimensional Fourier frequencies:
k <- expand.grid(-1:1,-1:1, -1:1)
## Two random points in the three dimensional unit box:
x <- rbind(runif(3),runif(3))
## 27 by 2 resulting matrix:
v <- fourierbasis(x, k)