riccaticpp
Loading...
Searching...
No Matches
chebyshev.hpp File Reference
#include <riccati/arena_matrix.hpp>
#include <riccati/memory.hpp>
#include <riccati/utils.hpp>
#include <unsupported/Eigen/FFT>

Go to the source code of this file.

Namespaces

namespace  riccati
 
namespace  riccati::internal
 

Functions

template<bool Fwd, typename T >
RICCATI_ALWAYS_INLINE auto riccati::internal::fft (T &&x)
 
template<typename Mat >
RICCATI_ALWAYS_INLINE auto riccati::coeffs_to_cheby_nodes (Mat &&coeffs)
 Convert the Chebyshev coefficient representation of a set of polynomials P_j to their values at Chebyshev nodes of the second kind.
 
template<typename Mat >
RICCATI_ALWAYS_INLINE auto riccati::cheby_nodes_to_coeffs (Mat &&values)
 Convert a matrix of values of m polynomials evaluated at n+1 Chebyshev nodes of the second kind to their interpolating Chebyshev coefficients.
 
template<typename Mat >
RICCATI_ALWAYS_INLINE auto riccati::coeffs_and_cheby_nodes (Mat &&values)
 
template<typename Scalar , typename Integral >
RICCATI_ALWAYS_INLINE auto riccati::integration_matrix (Integral n)
 Constructs a Chebyshev integration matrix.
 
template<typename Scalar , typename Integral >
RICCATI_ALWAYS_INLINE auto riccati::quad_weights (Integral n)
 Calculates Clenshaw-Curtis quadrature weights.
 
template<typename Scalar , typename Integral >
RICCATI_ALWAYS_INLINE auto riccati::chebyshev (Integral n)
 Computes the Chebyshev differentiation matrix and Chebyshev nodes.
 
template<typename Vec1 , typename Vec2 , typename Allocator >
RICCATI_ALWAYS_INLINE auto riccati::interpolate (Vec1 &&s, Vec2 &&t, Allocator &&alloc)
 Creates an interpolation matrix from an array of source nodes to target nodes.
 
template<typename SolverInfo , typename Scalar , typename YScalar , typename Integral >
RICCATI_ALWAYS_INLINE auto riccati::spectral_chebyshev (SolverInfo &&info, Scalar x0, Scalar h, YScalar y0, YScalar dy0, Integral niter)
 Applies a spectral collocation method based on Chebyshev nodes for solving differential equations.