Repulsion.m
Generates repulsion grids on a unit hypersphere.
Syntax
[alphas,betas,gammas,weights]=repulsion(npoints,ndims,niter)
Description
Strangely enough, for all the apparent simplicity of the generation procedure, these are probably the best grids for most practical solid state magnetic resonance purposes. A large number of pre-computed grids is stored in kernel/grids. See the paper by Bak and Nielsen (http://dx.doi.org/10.1006/jmre.1996.1087) to get further information on the algorithm involved.
Arguments
npoints - number of points in the resulting spherical grid
ndims - hypersphere dimension: 2 returns a single-angle
(beta) grid, 3 returns a two-angle grid (alpha,
beta), 4 returns a three-angle (alpha,beta,gam-
ma) spherical grid
niter - number of repulsion interations (simple clipped
gradient descent at the moment)
Returns
alphas - alpha Euler angles of the grid, in radians,
zeros for single-angle grids
betas - beta Euler angles of the grid, in radians
gammas - gamma Euler angles of the grid, in radians,
zeros for two-angle grids
weights - point weights of the grid
Examples
See kernel/grids directory for a long list of one-, two- and three angle REPULSION grids.
Notes
Uniform weights are assigned at the moment, use shrewd.m function to generate optimal weights.
See also
get_hull.m, grid_kron.m, grid_test.m, shrewd.m
Version 1.10, authors: Ilya Kuprov