From 2c5446877794b7a900bb97f084f837253d78417a Mon Sep 17 00:00:00 2001 From: Christoph Groth Date: Tue, 5 Jun 2018 11:55:07 +0200 Subject: Lyness-Kaganove benchmark --- README.rst | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-) (limited to 'README.rst') diff --git a/README.rst b/README.rst index 12eba6d..838add1 100644 --- a/README.rst +++ b/README.rst @@ -1,9 +1,48 @@ Vquad ===== -Vquad is a work-in-progress towards a general-purpose, robust, efficient, and parallel library for numerical integration. +Vquad is a work-in-progress towards a general-purpose, robust, efficient, and +parallel library for numerical integration. History ------- -Vquad is based on algorithm 4 from the article "Increasing the Reliability of Adaptive Quadrature Using Explicit Interpolants", Pedro Gonnet, ACM TOMS 37, 26 (2010). +Vquad is based on algorithm 4 from the article "Increasing the Reliability of +Adaptive Quadrature Using Explicit Interpolants", Pedro Gonnet, ACM TOMS 37, +26 (2010). + +Usage example +------------- + +``` +import numpy +import vquad + +# Simple usage. +igral, err = vquad.vquad(numpy.cos, -1, 1, rtol=1e-10) + +# Object interface. +it = vquad.Vquad(numpy.cos, -1, 1) +igral, err = it.improve_until(rtol=1e-10) + +# Evaluate interpolant. +xs = numpy.linspace(-1, 1, 101) +ys = it(xs) +``` + +Benachmarks and tests +--------------------- + +Vquad includes extensive tests and benchmarks. The tests focus on verifying +correctness and can be run with +``` +python3 -m pytest -s +``` +The `-s` shows some statistics that are gathered during the testing. + +The benchmarks take longer to run and allow to quantitatively compare the +performance of the algorithm. The benchmark is run by executing the vquad +module. To get help, run: +``` +python3 -m vquad -h +``` -- cgit v1.2.3-74-g4815