# User visible changes in tmvtnorm package
## changes in tmvtnorm 1.5 (2022-03-22)
* fixed misleading stop message to "lower bound should be strictly less than the upper bound". Reported by Chao Wang [chao-wang@uiowa.edu]
* Added README.md
* Fixed two warnings/errors for R 4.2.0 in `tmvtnorm::rtmvnorm` input checks
```
1: In !is.null(H) && sigma != diag(length(mean)) :
'length(x) = 9 > 1' in coercion to 'logical(1)'
2: In start.value < lower || start.value > upper :
'length(x) = 3 > 1' in coercion to 'logical(1)'
```
## changes in tmvtnorm 1.4-10 (2015-08-24)
* Fixed problem with build process in src/Makevars (parallel make)
## changes in tmvtnorm 1.4-9 (2014-03-03)
* Moved package vignette to vignettes/ directory to be consistent with R 3.1.0
## changes in tmvtnorm 1.4-8 (2013-03-29)
* bugfix in dtmvnorm(...,margin=NULL). Introduced in 1.4-7. Reported by Julius.Vainora [julius.vainora@gmail.com]
* bugfix in rtmvt(..., algorithm="gibbs"): Algorithm="gibbs" was not forwarded properly to rtmvnorm(). Reported by Aurelien Bechler [aurelien.bechler@agroparistech.fr]
* allow non-integer degrees of freedom in rtmvt, e.g. rtmvt(..., df=3.2). Suggested by Aurelien Bechler [aurelien.bechler@agroparistech.fr]
Rejection sampling does not work with non-integer df, only Gibbs sampling.
## changes in tmvtnorm 1.4-7 (2012-11-29)
* new method rtmvnorm2() for drawing random samples with
general linear constraints a <= Dx <= b with x (d x 1), D (r x d), a,b (r x 1)
which can also handle the case r > d. Requested by Xiaojin Xu [xiaojinxu.fdu@gmail.com]
Currently works with Gibbs sampling.
* bugfix in dtmvnorm(...,log=TRUE). Reported by John Merrill [john.merrill@gmail.com]
* optimization in mtmvnorm() to speed up the calculations
* dtmvnorm.marginal2() can now be used with vectorized xq, xr.
## changes in tmvtnorm 1.4-6 (2012-03-23)
* further optimization in mtmvnorm() and implementation of Johnson/Kotz-Formula when only a subset of variables is truncated
## changes in tmvtnorm 1.4-5 (2012-02-13)
* rtmvnorm() can be used with both sparse triplet representation and (compressed sparse column) for H
* dramatic performance gain in mtmvnorm() through optimization
## changes in tmvtnorm 1.4-4 (2012-01-10)
* dramatic performance gain in rtmvnorm.sparseMatrix() through optimization
* Bugfix in rtmvnorm() with linear constraints D: (reported by Claudia Köllmann [koellmann@statistik.tu-dortmund.de])
- forwarding "algorithm=" argument from rtmvnorm() to internal methods dealing with linear constraints was corrupt.
- sampling with linear constraints D lead to wrong results due to missing t()
## changes in tmvtnorm 1.4-2 (2012-01-04)
* Bugfix in rtmvnorm.sparseMatrix(): fixed a memory leak in Fortran code
* Added a package vignette with a description of the Gibbs sampler
## changes in tmvtnorm 1.4-1 (2011-12-27)
* Allow a sparse precision matrix H to be passed to rtmvnorm.sparseMatrix() which allows
random number generation in very high dimensions (e.g. d >> 5000)
* Rewritten the Fortran version of the Gibbs sampler for the
use with sparse precision matrix H.
## changes in tmvtnorm 1.3-1 (2011-12-01)
* Allow for the use of a precision matrix H rather than covariance matrix sigma in rtmvnorm() for both rejection and Gibbs sampling.
(requested by Miguel Godinho de Matos from Carnegie Mellon University)
* Rewritten both the R and Fortran version of the Gibbs sampler.
* GMM estimation in gmm.tmvnorm(,method=c("ManjunathWilhelm","Lee")) can now be done using the Manjunath/Wilhelm and Lee moment conditions.
## changes in tmvtnorm 1.2-3 (2011-06-04)
* rtmvnorm() works now with general linear constraints a<= Dx<=b, with x (d x 1), full-rank matrix D (d x d), a,b (d x 1).
* Implemented with both rejection sampling and Gibbs sampling (Geweke (1991))
* Added GMM estimation in gmm.tmvnorm()
* Bugfix in dtmvt() thanks to Jason Kramer: Using type="shifted" in pmvt()
(reported by Jason Kramer [jskramer@uci.edu])
## changes in tmvtnorm 1.1-5 (2010-11-20)
* Added Maximum Likelihood estimation method (MLE) mle.tmvtnorm()
* optimized mtmvnorm(): precalcuted F_a[i] in a separate loop which improved the computation of the mean, suggested by Miklos.Reiter@sungard.com
* added a flag doComputeVariance (default TRUE), so users which are only interested in the mean, can compute
only the variance (BTW: this flag does not make sense for the mean, since the mean has to be calculated anyway.)
* Fixed a bug with LAPACK and BLAS/FLIBS libraries:
Prof. Ripley/Writing R extensions: "For portability, the macros @code{BLAS_LIBS} and @code{FLIBS} should always be included @emph{after} @code{LAPACK_LIBS}."
## changes in tmvtnorm 1.0-2 (2010-01-28)
* Added methods for the truncated multivariate t-Distribution : rtmvt(), dtmvt() und ptmvt()
and ptmvt.marginal()
## changes in tmvtnorm 0.9-2 (2010-01-03)
* Implementation of "thinning technique" for Gibbs sampling: Added parameter thinning=1 to rtmvnorm.gibbs() for thinning of Markov chains,
i.e. reducing autocorrelations of random samples
* Documenting additional arguments "thinning", "start.value" and "burn.in", for rmvtnorm.gibbs()
* Added parameter "burn-in" and "thinning" in the Fortran code for discarding burn-in samples and thinng the Markov chain.
* Added parameter log=FALSE to dtmvnorm.marginal()
* Added parameter margin=NULL to dtmvnorm() as an interface/wrapper to marginal density functions dtmvnorm.marginal() and dtmvnorm.marginal2()
* Code polishing and review