From muschellij2 at gmail.com  Fri Mar 23 23:51:39 2018
From: muschellij2 at gmail.com (John Muschelli)
Date: Fri, 23 Mar 2018 18:51:39 -0400
Subject: [Rd] Integrate erros on certain functions
Message-ID: <CAFsq6G9i7MD+JHmwdfu88RjD3WmUq79faVUJv2JWb4FbYbasAg@mail.gmail.com>

In the help for ?integrate:

>When integrating over infinite intervals do so explicitly, rather than
just using a large number as the endpoint. This increases the chance of a
correct answer ? any function whose integral over an infinite interval is
finite must be near zero for most of that interval.

I understand that and there are examples such as:

## a slowly-convergent integral
integrand <- function(x) {1/((x+1)*sqrt(x))}
integrate(integrand, lower = 0, upper = Inf)

## don't do this if you really want the integral from 0 to Inf
integrate(integrand, lower = 0, upper = 1000000, stop.on.error = FALSE)
#> failed with message ?the integral is probably divergent?

which gives an error message if stop.on.error = FALSE. But what happens on
something like the function below:
integrate(function(x) exp(-x), lower = 0, upper =Inf)
#> 1 with absolute error < 5.7e-05
integrate(function(x) exp(-x), lower = 0, upper =13000)
#> 2.819306e-05 with absolute error < 5.6e-05

*integrate(function(x) exp(-x), lower = 0, upper =13000, stop.on.error =
FALSE)#> 2.819306e-05 with absolute error < 5.6e-05*

I'm not sure this is a bug or misuse of the function, but I would assume
the last integrate to give an error if stop.on.error = FALSE.

	[[alternative HTML version deleted]]



[Rd] Integrate erros on certain functions
John Muschelli