sphere_lebedev_rule
sphere_lebedev_rule,
an Octave 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)
Licensing:
The computer code and data files described and made available on this web page
are distributed under
the MIT license
Languages:
sphere_lebedev_rule is available in
a C version and
a C++ version and
a Fortran90 version and
a MATLAB version and
an Octave version.
Related Programs:
sphere_lebedev_rule_test
alpert_rule,
an Octave code which
sets up an Alpert quadrature rule for functions which are
regular, log(x) singular, or 1/sqrt(x) singular.
annulus_rule,
an Octave code which
computes a quadrature rule for estimating integrals of a function
over the interior of a circular annulus in 2d.
cube_felippa_rule,
an Octave code which
returns the points and weights of a felippa quadrature rule
over the interior of a cube in 3d.
pyramid_felippa_rule,
an Octave code which
returns felippa's quadratures rules for approximating integrals
over the interior of a pyramid in 3d.
sphere_cvt,
an Octave 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,
an Octave 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,
an Octave code which
reads a file defining a lebedev quadrature rule for the sphere and
displays the point locations.
sphere_quad,
an Octave code which
approximates an integral over the surface of the unit sphere
by applying a triangulation to the surface;
sphere_voronoi,
an Octave code which
computes and plots the voronoi diagram of points
over the surface of the unit sphere in 3d.
square_felippa_rule,
an Octave code which
returns the points and weights of a felippa quadrature rule
over the interior of a square in 2d.
tetrahedron_felippa_rule,
an Octave code which
returns felippa's quadratures rules for approximating integrals
over the interior of a tetrahedron in 3d.
triangle_fekete_rule,
an Octave code which
defines fekete rules for quadrature or interpolation
over the interior of a triangle in 2d.
triangle_felippa_rule,
an Octave code which
returns felippa's quadratures rules for approximating integrals
over the interior of a triangle in 2d.
wedge_felippa_rule,
an Octave code which
returns quadratures rules for approximating integrals
over the interior of the unit wedge in 3d.
Reference:
-
Axel Becke,
A multicenter numerical integration scheme for polyatomic molecules,
Journal of Chemical Physics,
Volume 88, Number 4, 15 February 1988, pages 2547-2553.
-
Vyacheslav Lebedev, Dmitri Laikov,
A quadrature formula for the sphere of the 131st
algebraic order of accuracy,
Russian Academy of Sciences Doklady Mathematics,
Volume 59, Number 3, 1999, pages 477-481.
-
Vyacheslav Lebedev,
A quadrature formula for the sphere of 59th algebraic
order of accuracy,
Russian Academy of Sciences Doklady Mathematics,
Volume 50, 1995, pages 283-286.
-
Vyacheslav Lebedev, A.L. Skorokhodov,
Quadrature formulas of orders 41, 47, and 53 for the sphere,
Russian Academy of Sciences Doklady Mathematics,
Volume 45, 1992, pages 587-592.
-
Vyacheslav Lebedev,
Spherical quadrature formulas exact to orders 25-29,
Siberian Mathematical Journal,
Volume 18, 1977, pages 99-107.
-
Vyacheslav Lebedev,
Quadratures on a sphere,
Computational Mathematics and Mathematical Physics,
Volume 16, 1976, pages 10-24.
-
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.