It simulates from a Bingham distribution using the code suggested by Kent et al. (2013).
f.rbing(n, lam, fast = FALSE)
Sample size.
Eigenvalues of the diagonal symmetric matrix of the Bingham distribution.
If you want a fast, efficient simulation set this to TRUE.
A list including:
The simulated data.
The estimate of M in the rejection sampling. The average number of simulated values before a value is accepted. If the argument fast is set to TRUE this information will not appear.
The user must have calculated the eigenvalues of the diagonal symmetric matrix of the Bingham distribution. The function accepts the q-1 eigenvalues only. This means, that the user must have subtracted the lowest eigenvalue from the rest and give the non zero ones. The function uses rejection sampling and it was written by Chris Fallaize and Theo Kypraios (University of Nottingham) and kindly offered. Any questions on the code can be addressed to one of the two aforementioned people. It is slightly different than the one Ketn et al. (2013) suggests.
Kent J.T., Ganeiber A.M. and Mardia K.V. (2013). A new method to simulate the Bingham and related distributions in directional data analysis with applications. http://arxiv.org/pdf/1310.8110v1.pdf
C.J. Fallaize and T. Kypraios (2014). Exact Bayesian Inference for the Bingham Distribution. Statistics and Computing (No volum assigned yet). http://arxiv.org/pdf/1401.2894v1.pdf
# NOT RUN {
x <- f.rbing( 100, c(1, 0.6, 0.1) )
x
# }
Run the code above in your browser using DataLab