SpECTRE  v2025.08.19
Spectral::Zernike< Dim > Class Template Reference

A collection of helper functions for the radial functions used in Zernike polyomials. More...

#include <Zernike.hpp>

Static Public Member Functions

template<typename T >
static T basis_function_value (size_t n, size_t m, const T &xi)
 Value of the basis function \(\Phi^m_n(\xi) = R^m_n(r)\), where \(r \equiv \frac{1}{2} (\xi + 1)\), implemented from [143].
 
static std::pair< DataVector, DataVectorcompute_collocation_points_and_weights (size_t num_points)
 Collocation points \({x_i}\) and quadrature weights \({w_i}\).
 
static Matrix differentiation_matrix (size_t num_points, Parity parity)
 Matrix \(D_{i,j}\) used to obtain the first derivative for a given parity. More...
 

Detailed Description

template<size_t Dim>
class Spectral::Zernike< Dim >

A collection of helper functions for the radial functions used in Zernike polyomials.

Member Function Documentation

◆ differentiation_matrix()

template<size_t Dim>
static Matrix Spectral::Zernike< Dim >::differentiation_matrix ( size_t  num_points,
Parity  parity 
)
static

Matrix \(D_{i,j}\) used to obtain the first derivative for a given parity.

Due to the clustering of Zernike collocation toward the upper side, the generic implementation of derivatives with barycentric weights yields large errors. By utilizing the fact that the Zernike bases' \(m\) corresponds to parity of representable functions, we can extend the function to negative \(r\) before forming the matrix, greatly improving accuracy.


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