S2Fun.compactify edit page

compute the compactification of an given function on the Sphere. That means, we try to find a in some sense optimal set of orientations, that describes the given density function reasonable well. This is similar to the so called halftoning problem.

Therefore, we solve a minimization problem by gradient descent method to find a set of orientations, such that the corresponding worst case quadrature error with respect to all spherical polynomials up to some specified bandwidth is minimal.

For more details, see

Gräf, Manuel; Potts, Daniel; Steidl, Gabriele (2012). Quadrature Errors, Discrepancies, and Their Relations to Halftoning on the Torus and the Sphere. SIAM Journal on Scientific Computing, 34(5), A2760–A2791. doi:10.1137/100814731

Syntax

v = compactify(f)
v = compactify(f,'points',v,'bandwidth',128)
v = compactify(f,'points',500,'itermax',1000,'tol',1e-4)

Input

f S2Fun
v vector3d (starting nodes)
psi S2Kernel (Disposition-kernel)

Output

v vector3d

Options

points specify number of output points (default = 1000)
bandwidth harmonic degree to approximate (default = 128)
maxIter for gradient descent (default = 5000)
tol for gradient descent (default = 5e-4)
weights weights of points