Sunday, March 27, 2011

K_v(x)

I have just wasted about three hours of sunday afternoon trying to compute a modified bessel function of second kind of fractional order (also known as hyperbolic Bessel function). I hope that this tiny C++ snippet will be googlable, and it will save a few minutes of someone's live:

#include <boost/math/special_functions/bessel.hpp>
#include <iostream>

(...)

double v = 5.0/3.0;  /* an order of Bessel function */
double x = 2.5;      /* an argument of bessel function */
double r;            /* will contain a value */

r = boost::math::cyl_bessel_k(v, x);
std::cout<<r<<std::endl;

Just in case someone is interested what is a modified Bessel function, this is an integral representation of Bessel funtion of order v: