Suppress error warnings from Cythonized code
The following Python code
n = 6.58
c0 = 1.1275
l = c0 - c0^(n+1)/(n+1)
c1 = 0.832857588520877
def f(c):
return real( 1 / sqrt( c - c^(n+1)/(n+1) - l ) )
c = var('c')
integral = numerical_integral( f(c), ( c1, c0 ) )
print(integral)
gives an error message along with a numeric result
Exception KeyError: (3,) in 'sage.gsl.integration.c_ff' ignored
(1.7927361507678317, 1.5185983395728818e-06)
The numeric result matches an evaluation in Mathemtica, so I'd just like to suppress the error message. Since it arises in the Cythonized GSL C library, regular Python error handling with try/except
or the warnings
module doesn't appear able to do so.
The error message will go away if I add a small amount like 10-10 to the lower integration limit, but I'd like to know in general how to handle errors arising in Cythonized code.