# 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


## 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.