# sphere_lebedev_rule

sphere_lebedev_rule, a MATLAB code which computes a Lebedev quadrature rule over the surface of the unit sphere in 3D.

Vyacheslav Lebedev determined a family of 65 quadrature rules for the unit sphere, increasing in precision from 3 to 131, by 2 each time. This software library computes any one of a subset of 32 of these rules.

Each rule is defined as a list of N values of theta, phi, and w. Here:

• theta is a longitudinal angle, measured in degrees, and ranging from -180 to +180.
• phi is a latitudinal angle, measured in degrees, and ranging from 0 to 180.
• w is a weight.

Of course, each pair of values (thetai, phii) has a corresponding Cartesian representation:

xi = cos ( thetai ) * sin ( phii )
yi = sin ( thetai ) * sin ( phii )
zi = cos ( phii )
which may be more useful when evaluating integrands.

The integral of a function f(x,y,z) over the surface of the unit sphere can be approximated by

integral f(x,y,z) = 4 * pi * sum ( 1 <= i <= N ) f(xi,yi,zi)

### Languages:

sphere_lebedev_rule is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version.

### Related Programs:

annulus_rule, a MATLAB code which computes a quadrature rule for estimating integrals of a function over the interior of a circular annulus in 2d.

cube_felippa_rule, a MATLAB code which returns the points and weights of a felippa quadrature rule over the interior of a cube in 3d.

pyramid_felippa_rule, a MATLAB code which returns felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3d.

sphere_cvt, a MATLAB code which creates a mesh of well-separated points using centroidal voronoi tessellations over the surface of the unit sphere in 3d.

sphere_design_rule, a fortran90 library which returns point sets on the surface of the unit sphere, known as "designs", which can be useful for estimating integrals on the surface, among other uses.

sphere_grid, a MATLAB code which provides a number of ways of generating grids of points, or of points and lines, or of points and lines and faces, over the unit sphere.

sphere_lebedev_rule, a dataset directory which contains sets of points on a sphere which can be used for quadrature rules of a known precision;

sphere_lebedev_rule_display, a MATLAB code which reads a file defining a lebedev quadrature rule for the sphere and displays the point locations.

sphere_quad, a MATLAB code which approximates an integral over the surface of the unit sphere by applying a triangulation to the surface;

sphere_voronoi, a MATLAB code which computes and plots the voronoi diagram of points over the surface of the unit sphere in 3d.

square_felippa_rule, a MATLAB code which returns the points and weights of a felippa quadrature rule over the interior of a square in 2d.

tetrahedron_felippa_rule, a MATLAB code which returns felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3d.

triangle_fekete_rule, a MATLAB code which defines fekete rules for quadrature or interpolation over the interior of a triangle in 2d.

triangle_felippa_rule, a MATLAB code which returns felippa's quadratures rules for approximating integrals over the interior of a triangle in 2d.

wedge_felippa_rule, a MATLAB code which returns quadratures rules for approximating integrals over the interior of the unit wedge in 3d.

### Reference:

1. Axel Becke,
A multicenter numerical integration scheme for polyatomic molecules,
Journal of Chemical Physics,
Volume 88, Number 4, 15 February 1988, pages 2547-2553.
2. Vyacheslav Lebedev, Dmitri Laikov,
A quadrature formula for the sphere of the 131st algebraic order of accuracy,
Volume 59, Number 3, 1999, pages 477-481.
3. Vyacheslav Lebedev,
A quadrature formula for the sphere of 59th algebraic order of accuracy,
Volume 50, 1995, pages 283-286.
4. Vyacheslav Lebedev, A.L. Skorokhodov,
Quadrature formulas of orders 41, 47, and 53 for the sphere,
Volume 45, 1992, pages 587-592.
5. Vyacheslav Lebedev,
Spherical quadrature formulas exact to orders 25-29,
Siberian Mathematical Journal,
Volume 18, 1977, pages 99-107.
6. Vyacheslav Lebedev,
Computational Mathematics and Mathematical Physics,
Volume 16, 1976, pages 10-24.
7. Vyacheslav Lebedev,
Values of the nodes and weights of ninth to seventeenth order Gauss-Markov quadrature formulae invariant under the octahedron group with inversion,
Computational Mathematics and Mathematical Physics,
Volume 15, 1975, pages 44-51.

### Source Code:

• available_table.m, returns the availability of a Lebedev rule.
• gen_oh.m, generates points under OH symmetry.
• ld_by_order.m, returns a Lebedev angular grid given its order.
• ld0006.m, computes the 6 point Lebedev angular grid.
• ld0014.m, computes the 14 point Lebedev angular grid.
• ld0026.m, computes the 26 point Lebedev angular grid.
• ld0038.m, computes the 38 point Lebedev angular grid.
• ld0050.m, computes the 50 point Lebedev angular grid.
• ld0074.m, computes the 74 point Lebedev angular grid.
• ld0086.m, computes the 86 point Lebedev angular grid.
• ld0110.m, computes the 110 point Lebedev angular grid.
• ld0146.m, computes the 146 point Lebedev angular grid.
• ld0170.m, computes the 170 point Lebedev angular grid.
• ld0194.m, computes the 194 point Lebedev angular grid.
• ld0230.m, computes the 230 point Lebedev angular grid.
• ld0266.m, computes the 266 point Lebedev angular grid.
• ld0302.m, computes the 302 point Lebedev angular grid.
• ld0350.m, computes the 350 point Lebedev angular grid.
• ld0434.m, computes the 434 point Lebedev angular grid.
• ld0590.m, computes the 590 point Lebedev angular grid.
• ld0770.m, computes the 770 point Lebedev angular grid.
• ld0974.m, computes the 974 point Lebedev angular grid.
• ld1202.m, computes the 1202 point Lebedev angular grid.
• ld1454.m, computes the 1454 point Lebedev angular grid.
• ld1730.m, computes the 1730 point Lebedev angular grid.
• ld2030.m, computes the 2030 point Lebedev angular grid.
• ld2354.m, computes the 2354 point Lebedev angular grid.
• ld2702.m, computes the 2702 point Lebedev angular grid.
• ld3074.m, computes the 3074 point Lebedev angular grid.
• ld3470.m, computes the 3470 point Lebedev angular grid.
• ld3890.m, computes the 3890 point Lebedev angular grid.
• ld4334.m, computes the 4334 point Lebedev angular grid.
• ld4802.m, computes the 4802 point Lebedev angular grid.
• ld5294.m, computes the 5294 point Lebedev angular grid.
• ld5810.m, computes the 5810 point Lebedev angular grid.
• order_table.m, returns the order of a Lebedev rule.
• precision_table.m, returns the precision of a Lebedev rule.
• xyz_to_tp.m, converts (X,Y,Z) to (Theta,Phi) coordinates on the unit sphere.

Last revised on 30 January 2019.