summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-06-11 14:33:01 +0200
committerRicardo Wurmus <rekado@elephly.net>2020-06-11 17:03:42 +0200
commit5c6e70346efc6a581a4acbec16d0b228d1bddb82 (patch)
tree93f2d8210976d33d8d40265af6fc9115cbceaee1 /gnu
parent8c9474ad6dde0d0116f2d086776ce62880e9ae68 (diff)
downloadguix-5c6e70346efc6a581a4acbec16d0b228d1bddb82.tar.gz
gnu: Add r-tmvnsim.
* gnu/packages/statistics.scm (r-tmvnsim): New variable.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/statistics.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm
index 30a0d44392..2a878a44e2 100644
--- a/gnu/packages/statistics.scm
+++ b/gnu/packages/statistics.scm
@@ -5289,6 +5289,35 @@ computations taking place in C++ code, and support for interrupting those comput
 even in multithreaded code, typically using OpenMP.")
     (license license:gpl3+)))
 
+(define-public r-tmvnsim
+  (package
+    (name "r-tmvnsim")
+    (version "1.0-2")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (cran-uri "tmvnsim" version))
+       (sha256
+        (base32
+         "03xsvsg9bqvgl98ywid3h91mmlhax5s6wvmypp3hq91vmc5kvxlp"))))
+    (properties `((upstream-name . "tmvnsim")))
+    (build-system r-build-system)
+    (native-inputs `(("gfortran" ,gfortran)))
+    (home-page "https://www.r-project.org")
+    (synopsis "Truncated multivariate normal simulation")
+    (description
+     "This package implements importance sampling from the truncated
+multivariate normal using the @dfn{Geweke-Hajivassiliou-Keane} (GHK)
+simulator.  Unlike Gibbs sampling which can get stuck in one truncation
+sub-region depending on initial values, this package allows truncation based
+on disjoint regions that are created by truncation of absolute values.  The
+GHK algorithm uses simple Cholesky transformation followed by recursive
+simulation of univariate truncated normals hence there are also no convergence
+issues.  Importance sample is returned along with sampling weights, based on
+which, one can calculate integrals over truncated regions for multivariate
+normals.")
+    (license license:gpl2)))
+
 (define-public r-mnormt
   (package
     (name "r-mnormt")