Papers › Preconditioning the discrete dipole approximation

Preconditioning the discrete dipole approximation

23 Mar 2019arXiv:1903.09802links table onlyarchive 2025-07-28

Samuel P. Groth, Athanasios G. Polimeridis, Jacob K. White

The archive published only this paper's code-link row. Authors, date and abstract are from arXiv's metadata (CC0), read from the Kaggle arXiv metadata snapshot of 2026-09-12 where its title matched the archive's; the title is the archive's.

The discrete dipole approximation (DDA) is a popular numerical method for calculating the scattering properties of atmospheric ice crystals. The standard DDA formulation involves the uniform discretization of the underlying volume integral equation, leading to a linear system with a block-Toeplitz Toeplitz-block matrix. This structure permits a matrix-vector product to be performed with 𝒪(nlogn) complexity via the fast-Fourier transform (FFT). Thus, in principle, the system can be solved rapidly using an iterative method. However, it is well known that the convergence of iterative methods becomes increasing slow as the optical size and refractive index of the scattering obstacle are increased. In this paper, we present a preconditioning strategy based on the multi-level circulant preconditioner of Chan and Olkin and assess its performance for improving this rate of convergence. In particular, we approximate the system matrix by a block-circulant circulant-block matrix which can be inverted rapidly using the FFT. We present numerical results for scattering by hexagonal ice prisms demonstrating that this serves as an effective preconditioning strategy, reducing simulation times by orders of magnitude in many cases. A Matlab implementation of this work is freely available online.

PaperPDFCode

Code

samuelpgroth/VoxScatter officialmentioned in papermentioned on GitHub report

Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.

Code Syntology ran Syntology

Not run by Syntology. Nothing on this page verifies that the listed code works.

Results from the paper archive 2025-07-28

No leaderboard rows for this paper in the archive.

Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections