Finite-volume discretization for the planar Maxwell equations


This Matlab code is an implementation of a finite-volume discretization for the planar Maxwell equations. The accompanying paper can be downloaded here. A more complete description of the code is available at the website of my collaborator, Harish Bhat.

Diffraction on the two-dimensional square lattice


This Mathematica code uses a recursive algorithm to evaluate the lattice Green's function for the Helmholtz operator on a square lattice. The lattice Green's function is then used to solve a thin-slit diffraction problem for two-dimensional lattice waves. The accompanying paper can be downloaded here.

Laplace-Dirichlet eigenpairs of an ellipse


The fundamental modes of vibration for an idealized drum of given shape satisfy the Laplace–Dirichlet eigenproblem. This Mathematica code computes the first few eigenpairs of the Laplacian on an ellipse with Dirichlet boundary conditions. In elliptical coordinates, the Laplace–Dirichlet equations on an ellipse are separable. In the "angular" coordinate (parameterizing confocal ellipses), the solution satisfies the Mathieu equation, and in the "radial" coordinate (parameterizing confocal hyperbolas), the solution satisfies the modified Mathieu equation. The eigenfunctions are such that the solutions to the Mathieu equation are periodic, and the solutions to the modified Mathieu equation vanish on the boundary of the ellipse.

Active random joint sampling


Crowdsourcing platforms are now extensively used for conducting subjective pairwise comparison studies. In this setting, a pairwise comparison dataset is typically gathered via random sampling, either with or without replacement. In this paper, we use tools from random graph theory to analyze these two random sampling methods for the HodgeRank estimator. Using the Fiedler value of the graph as a measurement for estimator stability (informativeness), we provide a new estimate of the Fiedler value for these two random graph models. In the asymptotic limit as the number of vertices tends to infinity, we prove the validity of the estimate. Based on our findings, for a small number of items to be compared, we recommend a two-stage sampling strategy where a greedy sampling method is used initially and random sampling without replacement is used in the second stage. When a large number of items is to be compared, we recommend random sampling with replacement as this is computationally inexpensive and trivially parallelizable. Experiments on synthetic and real-world datasets support our analysis. The accompanying code is here.

A minimal surface criterion for graph partitioning


We consider a geometric approach to graph partitioning based on the graph Beltrami energy, a discrete version of a functional that appears in classical minimal surface problems. More specifically, the optimality criterion is given by the sum of the minimal Beltrami energies of the partition components. We adapt primal-dual convex optimization methods to solve for the minimal Beltrami energy for each component of a given partition. A rearrangement algorithm is proposed to find the graph partition to minimize a relaxed version of the objective. The accompanying code is here.