|
SpECTRE
v2025.08.19
|
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, DataVector > | compute_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... | |
A collection of helper functions for the radial functions used in Zernike polyomials.
|
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.