[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug-gsl] Mislabeled error in gsl_integration_qag

From: Ivaylo Popov
Subject: [Bug-gsl] Mislabeled error in gsl_integration_qag
Date: Mon, 3 Mar 2008 03:31:22 -0600

I apologize for the pathological example, but this comes directly from a problem I am working on:

#include <math.h>
#include <gsl/gsl_integration.h>
#include <gsl/gsl_math.h>
#define INTS 1000

double integrand (double theta, void * params)
return cos (theta) * exp ( 10 * (cos (theta) - cos (0.0001744)) );

void main ()
gsl_integration_workspace * w = gsl_integration_workspace_alloc (INTS);
        double result, error;

        gsl_function F;
        F.function = &integrand;
        F.params = NULL;

gsl_integration_qag (&F, 0, 0.0000001744, 0, 1e-7, 1, INTS, w, &result, &error);

When I compile and execute this program, I get the error
gsl: qag.c:162: ERROR: a maximum of one iteration was insufficient

However, this error should appear only when the maximum number of intervals is 1, and in this case it is 1000. Although I am not very familiar with the library source, after some searching I cannot find out how this specific error might be getting invoked. I hope someone can help. Let me remind you of the prototype of the function, int gsl_integration_qag (const gsl_function * f, double a, double b, double epsabs, double epsrel, size_t limit, int key, gsl_integration_workspace * workspace, double * result, double * abserr);

Ivaylo Popov

reply via email to

[Prev in Thread] Current Thread [Next in Thread]