FmmParams¶
ferreus_rbf.config.FmmParams(interpolation_order, max_points_per_cell, compression_type, epsilon, eval_chunk_size)
¶
Parameters controlling the Fast Multipole Method (FMM) evaluator.
These settings configure the ferreus_bbfmm backend, which performs
fast evaluation of RBF interpolants by hierarchically partitioning space
and approximating long-range interactions through low-rank interpolation
and optional M2L operator compression.
Intended Usage¶
This configuration is primarily exposed for developers and advanced users who wish to experiment with or tune FMM performance. In general, the default values have been selected to provide a rubust balance between accuracy, memory usage, and computation time across a broad range of problems.
Increasing the interpolation order improves accuracy but also increases computational cost. Orders that are too low may stall solver convergence.
Default interpolation order:
- Linear and Spheroidal kernels ->
7 - ThinPlateSpline kernel ->
9 - Cubic kernel ->
11
Default values when FmmParams isn't provided to RBFInterpolator:
interpolation_order: kernel dependentmax_points_per_cell:256compression_type:FmmCompressionType.ACAepsilon:10^(-interpolation_order)eval_chunk_size:1024
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
interpolation_order
|
int
|
Number of Chebyshev interpolation nodes per dimension. |
required |
max_points_per_cell
|
int
|
Maximum number of points per cell before it is subdivided. |
required |
compression_type
|
FmmCompressionType
|
What type of compression to apply to the M2L operators. |
required |
epsilon
|
float
|
Tolerance threshold for M2L compression. |
required |
eval_chunk_size
|
int
|
Number of target points to evaluate in each chunk. |
required |