R: Calculate 2D Nodes and Weights of the Product Gauss Cubature

polygauss {polyCub} | R Documentation

## Calculate 2D Nodes and Weights of the Product Gauss Cubature

### Description

Calculate 2D Nodes and Weights of the Product Gauss Cubature

### Usage

    polygauss(xy, nw_MN, alpha = NULL, rotation = FALSE, engine = "C")

### Arguments

`xy` | list with elements `"x"` and `"y"` containing the polygon vertices in anticlockwise order (otherwise the result of the cubature will have a negative sign) with first vertex not repeated at the end (like `owin.object$bdry`).
`nw_MN` | unnamed list of nodes and weights of one-dimensional Gauss quadrature rules of degrees N and M=N+1 (as returned by `gauss.quad`): `list(s_M, w_M, s_N, w_N)`.
`alpha` | base-line of the (rotated) polygon at x = α (see Sommariva and Vianello (2007) for an explication). If `NULL` (default), the midpoint of the x-range of each polygon is chosen if no `rotation` is performed, and otherwise the x-coordinate of the rotated point `"P"` (see `rotation`). If `f` has its maximum value at the origin (0,0), e.g., the bivariate Gaussian density with zero mean, `alpha = 0` is a reasonable choice.
`rotation` | logical (default: `FALSE`) or a list of points `"P"` and `"Q"` describing the preferred direction. If `TRUE`, the polygon is rotated according to the vertices `"P"` and `"Q"`, which are farthest apart (see Sommariva and Vianello, 2007). For convex polygons, this rotation guarantees that all nodes fall inside the polygon.
`engine` | character string specifying the implementation to use. Up to polyCub version 0.4-3, the two-dimensional nodes and weights were computed by R functions and these are still available by setting `engine = "R"`. The new C-implementation is now the default (`engine = "C"`) and requires approximately 30% less computation time. The special setting `engine = "C+reduce"` will discard redundant nodes at (0,0) with zero weight resulting from edges on the base-line x = α or orthogonal to it. This extra cleaning is only worth its cost for computationally intensive functions `f` over polygons which really have some edges on the baseline or parallel to the x-axis. Note that the old R implementation does not have such unset zero nodes and weights.

### References

Sommariva, A. and Vianello, M. (2007): Product Gauss cubature over polygons based on Green's integration formula. BIT Numerical Mathematics, 47 (2), 441-453.
DOI-Link: https://doi.org/10.1007/s10543-007-0131-2

[Package polyCub version 0.7.1 Index]