# SPHERE_LEBEDEV_RULE Quadrature Rules for the Unit Sphere

SPHERE_LEBEDEV_RULE is a C library 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 FORTRAN77 version and a FORTRAN90 version and a MATLAB version.

### Related Programs:

CIRCLE_RULE, a C library which computes quadrature rules over the circumference of a circle in 2D.

CUBE_FELIPPA_RULE, a C library which returns the points and weights of a Felippa quadrature rule over the interior of a cube in 3D.

PYRAMID_FELIPPA_RULE, a C library which returns Felippa's quadratures rules for approximating integrals over the interior of a pyramid in 3D.

SPHERE_EXACTNESS, a C program which tests the monomial exactness of a quadrature rule on the surface of the unit sphere in 3D.

SPHERE_GRID, a C library 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 surface of the unit sphere in 3D.

SPHERE_LEBEDEV_RULE, a dataset directory which contains quadrature rules over the surface of the unit sphere in 3D.

SPHERE_QUAD, a C library which approximates an integral by applying a triangulation over the surface of the unit sphere in 3D.

SQUARE_FELIPPA_RULE, a C library which returns the points and weights of a Felippa quadrature rule over the interior of a square in 2D.

TETRAHEDRON_FELIPPA_RULE, a C library which returns Felippa's quadratures rules for approximating integrals over the interior of a tetrahedron in 3D.

TRIANGLE_FEKETE_RULE, a C library which defines Fekete rules for interpolation or quadrature over the interior of a triangle in 2D.

TRIANGLE_FELIPPA_RULE, a C library which returns Felippa's quadratures rules for approximating integrals over the interior of a triangle in 2D.

WEDGE_FELIPPA_RULE, a C library 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.

### List of Routines:

• AVAILABLE_TABLE returns the availability of a Lebedev rule.
• GEN_OH generates points under OH symmetry.
• LD_BY_ORDER returns a Lebedev angular grid given its order.
• LD0006 computes the 6 point Lebedev angular grid.
• LD0014 computes the 14 point Lebedev angular grid.
• LD0026 computes the 26 point Lebedev angular grid.
• LD0038 computes the 38 point Lebedev angular grid.
• LD0050 computes the 50 point Lebedev angular grid.
• LD0074 computes the 74 point Lebedev angular grid.
• LD0086 computes the 86 point Lebedev angular grid.
• LD0110 computes the 110 point Lebedev angular grid.
• LD0146 computes the 146 point Lebedev angular grid.
• LD0170 computes the 170 point Lebedev angular grid.
• LD0194 computes the 194 point Lebedev angular grid.
• LD0230 computes the 230 point Lebedev angular grid.
• LD0266 computes the 266 point Lebedev angular grid.
• LD0302 computes the 302 point Lebedev angular grid.
• LD0350 computes the 350 point Lebedev angular grid.
• LD0434 computes the 434 point Lebedev angular grid.
• LD0590 computes the 590 point Lebedev angular grid.
• LD0770 computes the 770 point Lebedev angular grid.
• LD0974 computes the 974 point Lebedev angular grid.
• LD1202 computes the 1202 point Lebedev angular grid.
• LD1454 computes the 1454 point Lebedev angular grid.
• LD1730 computes the 1730 point Lebedev angular grid.
• LD2030 computes the 2030 point Lebedev angular grid.
• LD2354 computes the 2354 point Lebedev angular grid.
• LD2702 computes the 2702 point Lebedev angular grid.
• LD3074 computes the 3074 point Lebedev angular grid.
• LD3470 computes the 3470 point Lebedev angular grid.
• LD3890 computes the 3890 point Lebedev angular grid.
• LD4334 computes the 4334 point Lebedev angular grid.
• LD4802 computes the 4802 point Lebedev angular grid.
• LD5294 computes the 5294 point Lebedev angular grid.
• LD5810 computes the 5810 point Lebedev angular grid.
• ORDER_TABLE returns the order of a Lebedev rule.
• PRECISION_TABLE returns the precision of a Lebedev rule.
• TIMESTAMP prints the current YMDHMS date as a time stamp.
• XYZ_TO_TP converts (X,Y,Z) to (Theta,Phi) coordinates on the unit sphere.

You can go up one level to the C source codes.

Last revised on 13 September 2010.