# prism_witherden_rule

prism_witherden_rule, a Python code which returns a symmetric Witherden quadrature rule for a prism with triangular base, with exactness up to total degree 10.

The data is given for the unit prism: with vertices (1,0,0), (0,1,0), (0,0,0), (1,0,1), (0,1,1), (0,0,1).

Suppose we are given a triangular prism P with vertices (1,0,0), (0,1,0), (0,0,0), (1,0,1), (0,1,1), (0,0,1). We call a rule with n points, returning coordinates x, y, z, and weights w. Then the integral I of f(x,y,z) over P is approximated by Q as follows:

```        Q = volume(P) * sum ( 1 <= i <= n ) w(i) * f(x(i),y(i),z(i))
```

### Languages:

prism_witherden_rule is available in a C version and a C++ version and a Fortran90 version and a MATLAB version and an Octave versionand a Python version.

### Related Data and Programs:

ccn_rule, a Python code which returns a Clenshaw Curtis Nested (CCN) quadrature rule.

clenshaw_curtis_rule, a Python code which returns a Clenshaw Curtis quadrature rule.

hermite_rule, a Python code which returns a Gauss-Hermite quadrature rule for estimating the integral of a function with density exp(-x^2) over the interval (-oo,+oo).

jacobi_rule, a Python code which returns a Gauss-Jacobi quadrature rule.

laguerre_rule, a Python code which returns a Gauss-Laguerre quadrature rule for estimating the integral of a function with density exp(-x) over the interval [0,+oo).

legendre_rule, a Python code which returns a Gauss-Legendre quadrature rule for estimating the integral of a function with density rho(x)=1 over the interval [-1,+1].

### Reference:

1. Freddie Witherden, Peter Vincent,
On the identification of symmetric quadrature rules for finite element methods,
Computers and Mathematics with Applications,
Volume 69, pages 1232-1241, 2015.

### Source Code:

Last revised on 27 April 2023.