Comments (7)
From @bob-carpenter on September 22, 2013 19:47
See the previous discussion in issue #96 about implementing the Bessel functions. I think the only thing holding us up might be derivatives for the functions, because the Boost functions are general enough:
http://www.boost.org/doc/libs/1_54_0/libs/math/doc/html/math_toolkit/bessel/mbessel.html
Do you need parameters in that argument or just a real (double) constant? As is, Stan's language doesn't distinguish between the two, which means every function must be differentialble with respect to its real arguments.
One thing we might consider is allowing functions that take real constants/data only. Simplest would be to throw run-time errors, but we could make it compile time by refining the function signatures and adding some expression tests in the abstract syntax tree code.
from math.
From @ecbrown on September 22, 2013 19:56
In order to implement full kriging with the Matern covariance, I would need to have both v and z as real parameters.
It seems like Mathematica can take the symbolic derivative of K_v(z) with respect to z, but it bounces back for the derivative w.r.t. v. :-(
from math.
From @ecbrown on September 22, 2013 20:24
http://dlmf.nist.gov/10.38 gives me some hope for an evaluation of analytic derivative w.r.t. real-valued order in an implementable form. I think this would require the regularized generalized hypergeometric function to be available.
(This is 10 steps beyond my mathematical comfort zone)
from math.
From @bob-carpenter on September 22, 2013 20:36
They look too tricky for Boost, so I doubt we'll be
able to build them in Stan:
https://groups.google.com/forum/#!msg/boost-list/wOjuIYQuqkM/0l5zogA9e0YJ
The above thread indicates that GSL has them, but we don't want
to depend on GPL-ed code and the thread above indicates they're
rather touchy.
- Bob
On 9/22/13 4:24 PM, Eric Brown wrote:
http://dlmf.nist.gov/10.38 gives me some hope for an evaluation of analytic derivative w.r.t. real-valued order in an
implementable form. I think this would require the regularized generalized hypergeometric function to be available.(This is 10 steps beyond my mathematical comfort zone)
—
Reply to this email directly or view it on GitHub stan-dev/stan#231 (comment).
from math.
There is a user-defined function on stan-users for modified Bessel functions with real nu
https://groups.google.com/d/msg/stan-users/sW61HeIT24I/ZH-WuMCSBgAJ
I don't think anyone is planning on putting this into Stan Math.
from math.
Not until someone can work out a good algorithm for the derivatives.
from math.
Matern with half-integer v = p+1/2 does not need Bessel. In this case the covariance function is a product
of an exponential and a polynomial of order p. See, e.g., Ch 4, p. 85 in GPML http://www.gaussianprocess.org/gpml/chapters/
from math.
Related Issues (20)
- Vectorized logical functions HOT 3
- Floating point precision loss under arm64 (FP_CONTRACT) HOT 2
- Expose integrate_1d variadic signatures HOT 1
- Aliasing issue in OpenCL `assignment_impl` HOT 5
- Add functions to write hessian vector products into an array HOT 1
- Add variadic version of `scalar_seq_view` HOT 3
- Add lower and upper bounds to ordered vector HOT 2
- Inverse Wishart Cholesky rng bug HOT 8
- Update Normal quantile function with new approximations HOT 3
- Adding 7-Parameter Drift Diffusion Model (DDM) CDF and CCDF with partial derivatives to Stan Math HOT 1
- Allow cmake users to use FetchContent_Declare HOT 3
- Allow OpenCL simplex to use softmax? HOT 2
- Improve the numerical stability of binomial_logit_lpmf / bernoulli_logit_lpmf HOT 1
- matrix power function HOT 5
- Odd interaction between `ode_adams` and threading HOT 4
- Slicing and blocking functions fail on SoA matrices
- `newton_solver` halts sampling HOT 14
- Support faster Cholesky Decomposition of Toeplitz matrices HOT 2
- Compilation failure with Clang 17 and `check_symmetric`
- pow applied to mixed variables HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from math.