This guide helps researchers and scientists understand the computational resources required when working with large-scale PyEQSP partitions.
PyEQSP is optimized to handle millions of regions on standard hardware.
| Operation | Complexity | Expectation |
|---|---|---|
| Partition Generation | Millions of regions in minutes on |
|
| Min-Distance | Seconds for |
|
| Packing Density | Near-instant results for research-grade |
|
| Riesz Energy | Under 15 seconds for |
PyEQSP uses tiling and block-based summation to ensure that large calculations do not exhaust your system RAM.
- Energy Calculations: Calculating interaction energy for 20,000 points would normally require ~3.2 GB of RAM for the distance matrix. PyEQSP processes these in small "blocks," keeping the peak memory footprint low and linear.
-
Vectorization: Most operations are performed using NumPy's vectorized paths, ensuring high-speed execution even when
$N$ exceeds one million.
As the dimension increases, the recursive depth of the algorithm grows.
-
Symmetry Speed-up: Using
even_collars=Truecan speed up calculations on$S^3$ by enabling a 100% cache hit rate for the southern hemisphere. -
Parallelization: Scripts like
fig_3_7_max_diam_multi_dim.pyare already parallelized to handle the increased complexity of higher dimensions (up to$S^8$ ).
For technical details on the underlying optimizations (KDTrees, Symmetry exploitation, and Process Pools), see the Algorithmic Optimizations guide.