DISK_RULE
Quadrature Rules for the General Disk
DISK_RULE
is a Python library which
computes a quadrature rule
over the interior of the general disk in 2D,
with radius RC and center (XC,YC).
The user specifies values NT and NR, where NT is the number of equally
spaced angles, and NR controls the number of radial points, the center of
the disk (XC,YC), and the radius of the disk RC. The program
returns vectors W(NR*NT), X(NR*NT) and Y(NR*NT), which define the rule Q(f).
To use a rule that is equally powerful in R and T, typically, set
NT = 2 * NR.
Given NT, NR, and the quadrature vectors W, X, Y, the integral I(f) is estimated
by Q(f) as follows:
s = 0.0
for k in range ( 0, nr * nt ):
s = s + w[k] * f(x[k],y[k])
area = pi * rc ** 2
q = area * s
Licensing:
The computer code and data files described and made available on this
web page are distributed under
the GNU LGPL license.
Languages:
DISK_RULE is available in
a C version and
a C++ version and
a FORTRAN90 version and
a MATLAB version and
a Python version.
Related Data and Programs:
ANNULUS_RULE,
a Python library which
computes a quadrature rule for estimating integrals of a function
over the interior of a circular annulus in 2D.
DISK01_RULE,
a Python library which
computes quadrature rules
over the interior of the unit disk in 2D, with center (0,0) and radius 1.
QUADRULE,
a Python library which
defines quadrature rules for approximating an integral over a 1D domain.
TRUNCATED_NORMAL_RULE,
a Python program which
computes a quadrature rule for a normal probability density function
(PDF), also called a Gaussian distribution, that has been
truncated to [A,+oo), (-oo,B] or [A,B].
Reference:
-
Philip Davis, Philip Rabinowitz,
Methods of Numerical Integration,
Second Edition,
Dover, 2007,
ISBN: 0486453391,
LC: QA299.3.D28.
-
Sylvan Elhay, Jaroslav Kautsky,
Algorithm 655: IQPACK, FORTRAN Subroutines for the Weights of
Interpolatory Quadrature,
ACM Transactions on Mathematical Software,
Volume 13, Number 4, December 1987, pages 399-415.
Source Code:
-
disk_rule.py,
computes a quadrature rule for the general disk.
-
disk01_area.py,
returns the area of the unit disk.
-
disk01_monomial_integral.py,
returns monomial integrals in the unit disk in 2D.
-
disk01_rule.py,
computes a quadrature rule for the unit disk.
-
disk01_sample.py,
returns uniform sample points from the unit disk.
-
gamma_values.py,
returns selected values of the gamma function;
-
i4vec_print.py,
prints an I4VEC.
-
i4vec_transpose_print.py,
prints an I4VEC "transposed", that is, 5 entries to a line.
-
i4vec_uniform_ab.py,
returns a scaled pseudorandom I4VEC.
-
imtqlx.py,
diagonalizes a symmetric tridiagonal matrix.
-
legendre_ek_compute.py,
Legendre quadrature rule by the Elhay-Kautsky method.
-
monomial_value.py,
evaluates a monomial.
-
r8_gamma.py,
returns the gamma function of an R8.
-
r8_normal_01.py,
returns a unit pseudonormal R8;
-
r8_uniform_01.py,
returns a unit pseudorandom R8.
-
r8mat_print.py,
prints an R8MAT.
-
r8mat_print_some.py,
prints some of an R8MAT.
-
r8mat_transpose_print.py,
prints an R8MAT, transposed.
-
r8mat_transpose_print_some.py,
prints some of an R8MAT, transposed.
-
r8mat_uniform_ab.py,
returns a scaled pseudorandom R8MAT.
-
r8vec_normal_01.py,
returns an R8VEC of normally distributed values.
-
r8vec_print.py,
prints an R8VEC.
-
r8vec_transpose_print.py,
prints an R8VEC "transposed".
-
r8vec_uniform_01.py,
returns a unit pseudorandom R8VEC.
-
timestamp.py,
prints the current YMDHMS date as a time stamp.
Examples and Tests:
You can go up one level to
the Python source codes.
Last revised on 19 April 2016.