numerics
Loading...
Searching...
No Matches
quadrature.cpp File Reference
#include "analysis/quadrature.hpp"
#include "analysis/types.hpp"
#include <cmath>
#include <stdexcept>
#include <vector>

Go to the source code of this file.

Namespaces

namespace  num
 

Functions

real num::trapz (ScalarFn f, real a, real b, idx n=100, Backend backend=Backend::seq)
 Trapezoidal rule with n panels.
 
real num::simpson (ScalarFn f, real a, real b, idx n=100, Backend backend=Backend::seq)
 Simpson's 1/3 rule with n panels (n must be even)
 
real num::gauss_legendre (ScalarFn f, real a, real b, idx p=5)
 Gauss-Legendre quadrature (exact for polynomials up to degree 2p-1)
 
real num::adaptive_simpson (ScalarFn f, real a, real b, real tol=1e-8, idx max_depth=50)
 Adaptive Simpson quadrature.
 
real num::romberg (ScalarFn f, real a, real b, real tol=1e-10, idx max_levels=12)
 Romberg integration (Richardson extrapolation on trapezoidal rule)