GTSAM  4.0.2
C++ library for smoothing and mapping (SAM)
Public Types | Static Public Member Functions | List of all members
gtsam::FourierBasis Class Reference

Fourier basis. More...

#include <Fourier.h>

Inheritance diagram for gtsam::FourierBasis:
Inheritance graph
[legend]
Collaboration diagram for gtsam::FourierBasis:
Collaboration graph
[legend]

Public Types

using Parameters = Eigen::Matrix< double, -1, 1 >
 
using DiffMatrix = Eigen::Matrix< double, -1, -1 >
 

Static Public Member Functions

static Weights CalculateWeights (size_t N, double x)
 Evaluate Real Fourier Weights of size N in interval [a, b], e.g. N=5 yields bases: 1, cos(x), sin(x), cos(2*x), sin(2*x) More...
 
static Weights CalculateWeights (size_t N, double x, double a, double b)
 Evaluate Real Fourier Weights of size N in interval [a, b], e.g. N=5 yields bases: 1, cos(x), sin(x), cos(2*x), sin(2*x) More...
 
static DiffMatrix DifferentiationMatrix (size_t N)
 
static Weights DerivativeWeights (size_t N, double x)
 Get weights at a given x that calculate the derivative. More...
 
static Weights DerivativeWeights (size_t N, double x, double a, double b)
 Get derivative weights at a given x that calculate the derivative, in the interval [a, b]. More...
 
static Matrix WeightMatrix (size_t N, const Vector &X)
 
static Matrix WeightMatrix (size_t N, const Vector &X, double a, double b)
 Calculate weights for all x in vector X, with interval [a,b]. More...
 

Detailed Description

Fourier basis.

Member Function Documentation

◆ CalculateWeights() [1/2]

static Weights gtsam::FourierBasis::CalculateWeights ( size_t  N,
double  x 
)
inlinestatic

Evaluate Real Fourier Weights of size N in interval [a, b], e.g. N=5 yields bases: 1, cos(x), sin(x), cos(2*x), sin(2*x)

Parameters
NThe degree of the polynomial to use.
xThe point at which to compute the derivaive weights.
Returns
Weights

◆ CalculateWeights() [2/2]

static Weights gtsam::FourierBasis::CalculateWeights ( size_t  N,
double  x,
double  a,
double  b 
)
inlinestatic

Evaluate Real Fourier Weights of size N in interval [a, b], e.g. N=5 yields bases: 1, cos(x), sin(x), cos(2*x), sin(2*x)

Parameters
NThe degree of the polynomial to use.
xThe point at which to compute the weights.
aLower bound of interval.
bUpper bound of interval.
Returns
Weights

◆ DerivativeWeights() [1/2]

static Weights gtsam::FourierBasis::DerivativeWeights ( size_t  N,
double  x 
)
inlinestatic

Get weights at a given x that calculate the derivative.

Parameters
NThe degree of the polynomial to use.
xThe point at which to compute the derivaive weights.
Returns
Weights

◆ DerivativeWeights() [2/2]

static Weights gtsam::FourierBasis::DerivativeWeights ( size_t  N,
double  x,
double  a,
double  b 
)
inlinestatic

Get derivative weights at a given x that calculate the derivative, in the interval [a, b].

Parameters
NThe degree of the polynomial to use.
xThe point at which to compute the derivaive weights.
aLower bound of interval.
bUpper bound of interval.
Returns
Weights

◆ DifferentiationMatrix()

static DiffMatrix gtsam::FourierBasis::DifferentiationMatrix ( size_t  N)
inlinestatic

Compute D = differentiation matrix. Given coefficients c of a Fourier series c, D*c are the values of c'.

◆ WeightMatrix() [1/2]

static Matrix gtsam::Basis< FourierBasis >::WeightMatrix ( size_t  N,
const Vector &  X 
)
inlinestaticinherited

Calculate weights for all x in vector X. Returns M*N matrix where M is the size of the vector X, and N is the number of basis functions.

◆ WeightMatrix() [2/2]

static Matrix gtsam::Basis< FourierBasis >::WeightMatrix ( size_t  N,
const Vector &  X,
double  a,
double  b 
)
inlinestaticinherited

Calculate weights for all x in vector X, with interval [a,b].

Parameters
NThe number of basis functions.
XThe vector for which to compute the weights.
aThe lower bound for the interval range.
bThe upper bound for the interval range.
Returns
Returns M*N matrix where M is the size of the vector X.

The documentation for this class was generated from the following file: