R/RcppExports.R

Defines functions systematic_resampling mvnrnd_chol mvnrnd gradmvnpdf mvnpdf_chol mvn_cholesky_factor mvnpdf varcomp_gibbsvelocity varcomp_gibbsflow varcomp_gradloglikelihood varcomp_loglikelihood varcomp_sample_artificial_prior varcomp_gradlogprior varcomp_logprior varcomp_gradlogprior_artificial varcomp_artificial_logprior mixturemodel_gibbsvelocity mixturemodel_gibbsflow mixturemodel_partialderivative_loglikelihood mixturemodel_gradloglikelihood mixturemodel_loglikelihood mixturemodel_sampleprior mixturemodel_partialderivative_logprior mixturemodel_gradlogprior mixturemodel_logprior mixtureexample_gibbsvelocity mixtureexample_gibbsflow mixtureexample_logposterior mixtureexample_log_normconst mixtureexample_posterior_mean mixtureexample_posterior_cov mixtureexample_partialderivative_loglikelihood mixtureexample_gradloglikelihood mixtureexample_loglikelihood mixtureexample_sampleprior mixtureexample_partialderivative_logprior mixtureexample_gradlogprior mixtureexample_logprior gaussian_stein_variational_importance_sampling gaussian_gibbsvelocity gaussian_gibbsflow gaussian_logposterior gaussian_log_normconst gaussian_posterior_mean gaussian_posterior_cov gaussian_partialderivative_loglikelihood gaussian_gradloglikelihood gaussian_loglikelihood gaussian_sampleprior gaussian_partialderivative_logprior gaussian_gradlogprior gaussian_logprior coxprocess_gibbsvelocity_vi_proposal coxprocess_gibbsflow_vi_proposal coxprocess_partialderivative_log_vi_proposal coxprocess_sample_vi_proposal coxprocess_gradlog_vi_proposal coxprocess_log_vi_proposal coxprocess_gibbsvelocity_ep_proposal coxprocess_gibbsflow_ep_proposal coxprocess_partialderivative_log_ep_proposal coxprocess_log_ep_proposal_conditional coxprocess_sample_ep_proposal coxprocess_gradlog_ep_proposal coxprocess_log_ep_proposal coxprocess_stein_variational_importance_sampling coxprocess_gibbsvelocity coxprocess_gibbsflow coxprocess_partialderivative_loglikelihood coxprocess_gradloglikelihood coxprocess_loglikelihood_term coxprocess_loglikelihood coxprocess_logprior_conditional coxprocess_sampleprior coxprocess_partialderivative_logprior coxprocess_gradlogprior coxprocess_logprior baseball_gibbsvelocity baseball_gibbsflow baseball_gradloglikelihood baseball_loglikelihood baseball_sample_artificial_prior baseball_gradlogprior baseball_logprior baseball_gradlogprior_artificial baseball_artificial_logprior banana_gibbsflow banana_partialderivative_loglikelihood banana_gradloglikelihood banana_loglikelihood banana_sampleprior banana_partialderivative_logprior banana_gradlogprior banana_logprior

Documented in banana_gibbsflow banana_gradloglikelihood banana_gradlogprior banana_loglikelihood banana_logprior banana_partialderivative_loglikelihood banana_partialderivative_logprior banana_sampleprior baseball_artificial_logprior baseball_gibbsflow baseball_gibbsvelocity baseball_gradloglikelihood baseball_gradlogprior baseball_gradlogprior_artificial baseball_loglikelihood baseball_logprior baseball_sample_artificial_prior coxprocess_gibbsflow coxprocess_gibbsflow_ep_proposal coxprocess_gibbsflow_vi_proposal coxprocess_gibbsvelocity coxprocess_gibbsvelocity_ep_proposal coxprocess_gibbsvelocity_vi_proposal coxprocess_gradlog_ep_proposal coxprocess_gradloglikelihood coxprocess_gradlogprior coxprocess_gradlog_vi_proposal coxprocess_log_ep_proposal coxprocess_log_ep_proposal_conditional coxprocess_loglikelihood coxprocess_loglikelihood_term coxprocess_logprior coxprocess_logprior_conditional coxprocess_log_vi_proposal coxprocess_partialderivative_log_ep_proposal coxprocess_partialderivative_loglikelihood coxprocess_partialderivative_logprior coxprocess_partialderivative_log_vi_proposal coxprocess_sample_ep_proposal coxprocess_sampleprior coxprocess_sample_vi_proposal coxprocess_stein_variational_importance_sampling gaussian_gibbsflow gaussian_gibbsvelocity gaussian_gradloglikelihood gaussian_gradlogprior gaussian_loglikelihood gaussian_log_normconst gaussian_logposterior gaussian_logprior gaussian_partialderivative_loglikelihood gaussian_partialderivative_logprior gaussian_posterior_cov gaussian_posterior_mean gaussian_sampleprior gaussian_stein_variational_importance_sampling gradmvnpdf mixtureexample_gibbsflow mixtureexample_gibbsvelocity mixtureexample_gradloglikelihood mixtureexample_gradlogprior mixtureexample_loglikelihood mixtureexample_log_normconst mixtureexample_logposterior mixtureexample_logprior mixtureexample_partialderivative_loglikelihood mixtureexample_partialderivative_logprior mixtureexample_posterior_cov mixtureexample_posterior_mean mixtureexample_sampleprior mixturemodel_gibbsflow mixturemodel_gibbsvelocity mixturemodel_gradloglikelihood mixturemodel_gradlogprior mixturemodel_loglikelihood mixturemodel_logprior mixturemodel_partialderivative_loglikelihood mixturemodel_partialderivative_logprior mixturemodel_sampleprior mvn_cholesky_factor mvnpdf mvnpdf_chol mvnrnd mvnrnd_chol systematic_resampling varcomp_artificial_logprior varcomp_gibbsflow varcomp_gibbsvelocity varcomp_gradloglikelihood varcomp_gradlogprior varcomp_gradlogprior_artificial varcomp_loglikelihood varcomp_logprior varcomp_sample_artificial_prior

# Generated by using Rcpp::compileAttributes() -> do not edit by hand
# Generator token: 10BE3573-1514-4C36-9D1C-5A225CD40393

#' @rdname banana_logprior
#' @title Evaluate banana example prior density
#' @param x evaluation points  
#' @return density values
#' @export
banana_logprior <- function(x) {
    .Call('_GibbsFlow_banana_logprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname banana_gradlogprior
#' @title Evaluate gradient of banana example prior density
#' @param x evaluation points  
#' @return gradient values
#' @export
banana_gradlogprior <- function(x) {
    .Call('_GibbsFlow_banana_gradlogprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname banana_partialderivative_logprior
#' @title Evaluate partial derivative of banana example prior density
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point
#' @return partial derivative value
#' @export
banana_partialderivative_logprior <- function(dim, x) {
    .Call('_GibbsFlow_banana_partialderivative_logprior', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname banana_sampleprior
#' @title Sample from banana example prior distribution
#' @param n number of samples 
#' @return samples 
#' @export
banana_sampleprior <- function(n) {
    .Call('_GibbsFlow_banana_sampleprior', PACKAGE = 'GibbsFlow', n)
}

#' @rdname banana_loglikelihood
#' @title Evaluate banana example loglikelihood function
#' @param x evaluation points
#' @return density values
#' @export
banana_loglikelihood <- function(x, like_alpha, like_beta) {
    .Call('_GibbsFlow_banana_loglikelihood', PACKAGE = 'GibbsFlow', x, like_alpha, like_beta)
}

#' @rdname banana_gradloglikelihood
#' @title Evaluate gradient of banana example loglikelihood function
#' @param x evaluation points
#' @return gradient values
#' @export
banana_gradloglikelihood <- function(x, like_alpha, like_beta) {
    .Call('_GibbsFlow_banana_gradloglikelihood', PACKAGE = 'GibbsFlow', x, like_alpha, like_beta)
}

#' @rdname banana_partialderivative_loglikelihood
#' @title Evaluate partial derivative of banana example likelihood function
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point
#' @return partial derivative value
#' @export
banana_partialderivative_loglikelihood <- function(dim, x, like_alpha, like_beta) {
    .Call('_GibbsFlow_banana_partialderivative_loglikelihood', PACKAGE = 'GibbsFlow', dim, x, like_alpha, like_beta)
}

#' @rdname banana_gibbsflow
#' @title Compute Gibbs flow for banana example
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
banana_gibbsflow <- function(stepsize, lambda, derivative_lambda, xparticles, logdensity, like_alpha, like_beta) {
    .Call('_GibbsFlow_banana_gibbsflow', PACKAGE = 'GibbsFlow', stepsize, lambda, derivative_lambda, xparticles, logdensity, like_alpha, like_beta)
}

#' @rdname baseball_artificial_logprior
#' @title Evaluate variance components model artificial prior density on baseball dataset
#' @param x evaluation points
#' @return density values
#' @export
baseball_artificial_logprior <- function(x) {
    .Call('_GibbsFlow_baseball_artificial_logprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname baseball_gradlogprior_artificial
#' @title Evaluate gradient of variance components artificial prior density on baseball dataset
#' @param x evaluation points  
#' @return gradient values
#' @export
baseball_gradlogprior_artificial <- function(x) {
    .Call('_GibbsFlow_baseball_gradlogprior_artificial', PACKAGE = 'GibbsFlow', x)
}

#' @rdname baseball_logprior
#' @title Evaluate variance components model prior density on baseball dataset
#' @param x evaluation points
#' @return density values
#' @export
baseball_logprior <- function(x) {
    .Call('_GibbsFlow_baseball_logprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname baseball_gradlogprior
#' @title Evaluate gradient of variance components prior density on baseball dataset
#' @param x evaluation points  
#' @return gradient values
#' @export
baseball_gradlogprior <- function(x) {
    .Call('_GibbsFlow_baseball_gradlogprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname baseball_sample_artificial_prior
#' @title Sample from variance components model artificial prior distribution
#' @param n number of samples
#' @return samples
#' @export
baseball_sample_artificial_prior <- function(N) {
    .Call('_GibbsFlow_baseball_sample_artificial_prior', PACKAGE = 'GibbsFlow', N)
}

#' @rdname baseball_loglikelihood
#' @title Evaluate variance components model loglikelihood function on baseball dataset
#' @param x evaluation points
#' @return density values
#' @export
baseball_loglikelihood <- function(x) {
    .Call('_GibbsFlow_baseball_loglikelihood', PACKAGE = 'GibbsFlow', x)
}

#' @rdname baseball_gradloglikelihood
#' @title Evaluate gradient of variance components loglikelihood on baseball dataset
#' @param x evaluation points  
#' @return gradient values
#' @export
baseball_gradloglikelihood <- function(x) {
    .Call('_GibbsFlow_baseball_gradloglikelihood', PACKAGE = 'GibbsFlow', x)
}

#' @rdname baseball_gibbsflow
#' @title Compute Gibbs flow for variance components model on baseball dataset
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param lambda_next next tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
baseball_gibbsflow <- function(stepsize, lambda, lambda_next, derivative_lambda, xparticles, logdensity) {
    .Call('_GibbsFlow_baseball_gibbsflow', PACKAGE = 'GibbsFlow', stepsize, lambda, lambda_next, derivative_lambda, xparticles, logdensity)
}

#' @rdname baseball_gibbsvelocity
#' @title Compute Gibbs velocity for variance components model on baseball dataset
#' @param time time
#' @param xparticles particle positions
#' @param exponent exponent of tempering schedule
#' @return gibbs_velocity gibbs velocity field
#' @export
baseball_gibbsvelocity <- function(time, xparticles, exponent) {
    .Call('_GibbsFlow_baseball_gibbsvelocity', PACKAGE = 'GibbsFlow', time, xparticles, exponent)
}

#' @rdname coxprocess_logprior
#' @title Evaluate multivariate Gaussian prior density
#' @param x evaluation points
#' @return density values
#' @export
coxprocess_logprior <- function(x) {
    .Call('_GibbsFlow_coxprocess_logprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname coxprocess_gradlogprior
#' @title Evaluate gradient of multivariate Gaussian prior density
#' @param x evaluation points  
#' @return gradient values
#' @export
coxprocess_gradlogprior <- function(x) {
    .Call('_GibbsFlow_coxprocess_gradlogprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname coxprocess_partialderivative_logprior
#' @title Evaluate partial derivative of multivariate Gaussian prior density
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point  
#' @return partial derivative value
#' @export
coxprocess_partialderivative_logprior <- function(dim, x) {
    .Call('_GibbsFlow_coxprocess_partialderivative_logprior', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname coxprocess_sampleprior
#' @title Sample from multivariate Gaussian prior distribution
#' @param n number of samples 
#' @return samples 
#' @export
coxprocess_sampleprior <- function(n) {
    .Call('_GibbsFlow_coxprocess_sampleprior', PACKAGE = 'GibbsFlow', n)
}

#' @rdname coxprocess_logprior_conditional
#' @title Evaluate conditional density of multivariate Gaussian prior 
#' @param dim dimension of interest (dim = 0 is the first coordinate)
#' @param x evaluation points along dim
#' @param other_x conditional values
#' @return density values
#' @export
coxprocess_logprior_conditional <- function(dim, x, other_x) {
    .Call('_GibbsFlow_coxprocess_logprior_conditional', PACKAGE = 'GibbsFlow', dim, x, other_x)
}

#' @rdname coxprocess_loglikelihood
#' @title Evaluate Cox process loglikelihood function
#' @param x evaluation points  
#' @return density values
#' @export
coxprocess_loglikelihood <- function(x, counts) {
    .Call('_GibbsFlow_coxprocess_loglikelihood', PACKAGE = 'GibbsFlow', x, counts)
}

#' @rdname coxprocess_loglikelihood_term
#' @title Evaluate a particular term of Cox process loglikelihood function
#' @param dim loglikelihood term depends only on this dimension (dim = 0 is the first coordinate)
#' @param x evaluation points  
#' @return density values
#' @export
coxprocess_loglikelihood_term <- function(dim, x, counts) {
    .Call('_GibbsFlow_coxprocess_loglikelihood_term', PACKAGE = 'GibbsFlow', dim, x, counts)
}

#' @rdname coxprocess_gradloglikelihood
#' @title Evaluate gradient of Cox process loglikelihood function
#' @param x evaluation points  
#' @return gradient values
#' @export
coxprocess_gradloglikelihood <- function(x, counts) {
    .Call('_GibbsFlow_coxprocess_gradloglikelihood', PACKAGE = 'GibbsFlow', x, counts)
}

#' @rdname coxprocess_partialderivative_loglikelihood
#' @title Evaluate partial derivative of Cox process likelihood function
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point  
#' @return partial derivative value
#' @export
coxprocess_partialderivative_loglikelihood <- function(dim, x, counts) {
    .Call('_GibbsFlow_coxprocess_partialderivative_loglikelihood', PACKAGE = 'GibbsFlow', dim, x, counts)
}

#' @rdname coxprocess_gibbsflow
#' @title Compute Gibbs flow for Cox process model
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @param counts dataset 
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
coxprocess_gibbsflow <- function(stepsize, lambda, derivative_lambda, xparticles, logdensity, counts) {
    .Call('_GibbsFlow_coxprocess_gibbsflow', PACKAGE = 'GibbsFlow', stepsize, lambda, derivative_lambda, xparticles, logdensity, counts)
}

#' @rdname coxprocess_gibbsvelocity
#' @title Compute Gibbs velocity for Cox process model
#' @param time time
#' @param xparticles particle positions
#' @param exponent exponent of tempering schedule
#' @param counts dataset 
#' @return gibbs_velocity gibbs velocity field
#' @export
coxprocess_gibbsvelocity <- function(time, xparticles, exponent, counts) {
    .Call('_GibbsFlow_coxprocess_gibbsvelocity', PACKAGE = 'GibbsFlow', time, xparticles, exponent, counts)
}

#' @rdname coxprocess_stein_variational_importance_sampling
#' @title Perform Stein variational importance sampling
#' @param nfparticles number of follower particles
#' @param nlparticles number of leader particles
#' @param niterations number of time iterations 
#' @param stepsize stepsize of each iteration
#' @param counts dataset
#' @return list with keys:
#' \code{xparticles} new particle locations
#' @export
coxprocess_stein_variational_importance_sampling <- function(nfparticles, nlparticles, niterations, stepsize, counts) {
    .Call('_GibbsFlow_coxprocess_stein_variational_importance_sampling', PACKAGE = 'GibbsFlow', nfparticles, nlparticles, niterations, stepsize, counts)
}

#' @rdname coxprocess_log_ep_proposal
#' @title Evaluate EP Gaussian proposal density
#' @param x evaluation points
#' @return density values
#' @export
coxprocess_log_ep_proposal <- function(x) {
    .Call('_GibbsFlow_coxprocess_log_ep_proposal', PACKAGE = 'GibbsFlow', x)
}

#' @rdname coxprocess_gradlog_ep_proposal
#' @title Evaluate gradient of EP Gaussian proposal density
#' @param x evaluation points  
#' @return gradient values
#' @export
coxprocess_gradlog_ep_proposal <- function(x) {
    .Call('_GibbsFlow_coxprocess_gradlog_ep_proposal', PACKAGE = 'GibbsFlow', x)
}

#' @rdname coxprocess_sample_ep_proposal
#' @title Sample from EP Gaussian proposal distribution
#' @param n number of samples 
#' @return samples 
#' @export
coxprocess_sample_ep_proposal <- function(n) {
    .Call('_GibbsFlow_coxprocess_sample_ep_proposal', PACKAGE = 'GibbsFlow', n)
}

#' @rdname coxprocess_log_ep_proposal_conditional
#' @title Evaluate conditional density of EP Gaussian proposal 
#' @param dim dimension of interest (dim = 0 is the first coordinate)
#' @param x evaluation points along dim
#' @param other_x conditional values
#' @param other_index logical vector indexing conditioned coordinates
#' @return density values
#' @export
coxprocess_log_ep_proposal_conditional <- function(dim, x, other_x, other_index) {
    .Call('_GibbsFlow_coxprocess_log_ep_proposal_conditional', PACKAGE = 'GibbsFlow', dim, x, other_x, other_index)
}

#' @rdname coxprocess_partialderivative_log_ep_proposal
#' @title Evaluate partial derivative of EP Gaussian proposal density
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point  
#' @return partial derivative value
#' @export
coxprocess_partialderivative_log_ep_proposal <- function(dim, x) {
    .Call('_GibbsFlow_coxprocess_partialderivative_log_ep_proposal', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname coxprocess_gibbsflow_ep_proposal
#' @title Compute Gibbs flow for Cox process model with EP Gaussian proposal initialization
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @param counts dataset
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
coxprocess_gibbsflow_ep_proposal <- function(stepsize, lambda, derivative_lambda, xparticles, logdensity, counts) {
    .Call('_GibbsFlow_coxprocess_gibbsflow_ep_proposal', PACKAGE = 'GibbsFlow', stepsize, lambda, derivative_lambda, xparticles, logdensity, counts)
}

#' @rdname coxprocess_gibbsvelocity_ep_proposal
#' @title Compute Gibbs velocity for Cox process model with EP Gaussian proposal initialization
#' @param time time
#' @param xparticles particle positions
#' @param exponent exponent of tempering schedule
#' @param counts dataset
#' @return gibbs_velocity gibbs velocity field
#' @export
coxprocess_gibbsvelocity_ep_proposal <- function(time, xparticles, exponent, counts) {
    .Call('_GibbsFlow_coxprocess_gibbsvelocity_ep_proposal', PACKAGE = 'GibbsFlow', time, xparticles, exponent, counts)
}

#' @rdname coxprocess_log_vi_proposal
#' @title Evaluate VI Gaussian proposal density
#' @param x evaluation points
#' @return density values
#' @export
coxprocess_log_vi_proposal <- function(x) {
    .Call('_GibbsFlow_coxprocess_log_vi_proposal', PACKAGE = 'GibbsFlow', x)
}

#' @rdname coxprocess_gradlog_vi_proposal
#' @title Evaluate gradient of VI Gaussian proposal density
#' @param x evaluation points  
#' @return gradient values
#' @export
coxprocess_gradlog_vi_proposal <- function(x) {
    .Call('_GibbsFlow_coxprocess_gradlog_vi_proposal', PACKAGE = 'GibbsFlow', x)
}

#' @rdname coxprocess_sample_vi_proposal
#' @title Sample from VI Gaussian proposal distribution
#' @param n number of samples 
#' @return samples 
#' @export
coxprocess_sample_vi_proposal <- function(n) {
    .Call('_GibbsFlow_coxprocess_sample_vi_proposal', PACKAGE = 'GibbsFlow', n)
}

#' @rdname coxprocess_partialderivative_log_vi_proposal
#' @title Evaluate partial derivative of VI Gaussian proposal density
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point  
#' @return partial derivative value
#' @export
coxprocess_partialderivative_log_vi_proposal <- function(dim, x) {
    .Call('_GibbsFlow_coxprocess_partialderivative_log_vi_proposal', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname coxprocess_gibbsflow_vi_proposal
#' @title Compute Gibbs flow for Cox process model with VI Gaussian proposal initialization
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @param counts dataset
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
coxprocess_gibbsflow_vi_proposal <- function(stepsize, lambda, derivative_lambda, xparticles, logdensity, counts) {
    .Call('_GibbsFlow_coxprocess_gibbsflow_vi_proposal', PACKAGE = 'GibbsFlow', stepsize, lambda, derivative_lambda, xparticles, logdensity, counts)
}

#' @rdname coxprocess_gibbsvelocity_vi_proposal
#' @title Compute Gibbs velocity for Cox process model with VI Gaussian proposal initialization
#' @param time time
#' @param xparticles particle positions
#' @param exponent exponent of tempering schedule
#' @param counts dataset
#' @return gibbs_velocity gibbs velocity field
#' @export
coxprocess_gibbsvelocity_vi_proposal <- function(time, xparticles, exponent, counts) {
    .Call('_GibbsFlow_coxprocess_gibbsvelocity_vi_proposal', PACKAGE = 'GibbsFlow', time, xparticles, exponent, counts)
}

#' @rdname gaussian_logprior
#' @title Evaluate multivariate Gaussian prior density
#' @param x evaluation points  
#' @return density values
#' @export
gaussian_logprior <- function(x) {
    .Call('_GibbsFlow_gaussian_logprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname gaussian_gradlogprior
#' @title Evaluate gradient of multivariate Gaussian prior density
#' @param x evaluation points  
#' @return gradient values
#' @export
gaussian_gradlogprior <- function(x) {
    .Call('_GibbsFlow_gaussian_gradlogprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname gaussian_partialderivative_logprior
#' @title Evaluate partial derivative of multivariate Gaussian prior density
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point
#' @return partial derivative value
#' @export
gaussian_partialderivative_logprior <- function(dim, x) {
    .Call('_GibbsFlow_gaussian_partialderivative_logprior', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname gaussian_sampleprior
#' @title Sample from multivariate Gaussian prior distribution
#' @param n number of samples 
#' @return samples 
#' @export
gaussian_sampleprior <- function(n) {
    .Call('_GibbsFlow_gaussian_sampleprior', PACKAGE = 'GibbsFlow', n)
}

#' @rdname gaussian_loglikelihood
#' @title Evaluate multivariate Gaussian loglikelihood function
#' @param x evaluation points  
#' @return density values
#' @export
gaussian_loglikelihood <- function(x) {
    .Call('_GibbsFlow_gaussian_loglikelihood', PACKAGE = 'GibbsFlow', x)
}

#' @rdname gaussian_gradloglikelihood
#' @title Evaluate gradient of multivariate Gaussian loglikelihood function
#' @param x evaluation points  
#' @return gradient values
#' @export
gaussian_gradloglikelihood <- function(x) {
    .Call('_GibbsFlow_gaussian_gradloglikelihood', PACKAGE = 'GibbsFlow', x)
}

#' @rdname gaussian_partialderivative_loglikelihood
#' @title Evaluate partial derivative of multivariate Gaussian likelihood function
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point  
#' @return partial derivative value
#' @export
gaussian_partialderivative_loglikelihood <- function(dim, x) {
    .Call('_GibbsFlow_gaussian_partialderivative_loglikelihood', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname gaussian_posterior_cov
#' @title Compute posterior covariance of multivariate Gaussian example
#' @param lambda temperature
#' @return posterior covariance
#' @export
gaussian_posterior_cov <- function(lambda) {
    .Call('_GibbsFlow_gaussian_posterior_cov', PACKAGE = 'GibbsFlow', lambda)
}

#' @rdname gaussian_posterior_mean
#' @title Compute posterior mean of multivariate Gaussian example
#' @param lambda temperature
#' @return posterior mean
#' @export
gaussian_posterior_mean <- function(lambda) {
    .Call('_GibbsFlow_gaussian_posterior_mean', PACKAGE = 'GibbsFlow', lambda)
}

#' @rdname gaussian_log_normconst
#' @title Compute log normalizing constant of multivariate Gaussian example
#' @param lambda temperature
#' @return log normalizing constant
#' @export
gaussian_log_normconst <- function(lambda) {
    .Call('_GibbsFlow_gaussian_log_normconst', PACKAGE = 'GibbsFlow', lambda)
}

#' @rdname gaussian_logposterior
#' @title Evaluate multivariate Gaussian posterior density
#' @param x evaluation points  
#' @param lambda temperature
#' @return density values
#' @export
gaussian_logposterior <- function(x, lambda) {
    .Call('_GibbsFlow_gaussian_logposterior', PACKAGE = 'GibbsFlow', x, lambda)
}

#' @rdname gaussian_gibbsflow
#' @title Compute Gibbs flow for Gaussian model
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values 
#' @return list with keys: 
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
gaussian_gibbsflow <- function(stepsize, lambda, derivative_lambda, xparticles, logdensity) {
    .Call('_GibbsFlow_gaussian_gibbsflow', PACKAGE = 'GibbsFlow', stepsize, lambda, derivative_lambda, xparticles, logdensity)
}

#' @rdname gaussian_gibbsvelocity 
#' @title Compute Gibbs velocity for Gaussian model
#' @param time time
#' @param xpoint particle position
#' @param exponent exponent of tempering schedule
#' @return gibbs_velocity gibbs velocity field
#' @export
gaussian_gibbsvelocity <- function(time, xpoint, exponent) {
    .Call('_GibbsFlow_gaussian_gibbsvelocity', PACKAGE = 'GibbsFlow', time, xpoint, exponent)
}

#' @rdname gaussian_stein_variational_importance_sampling
#' @title Perform Stein variational importance sampling
#' @param nfparticles number of follower particles
#' @param nlparticles number of leader particles
#' @param niterations number of time iterations 
#' @param stepsize stepsize of each iteration
#' @return list with keys:
#' \code{xparticles} new particle locations
#' \code{ess} effective sample size
#' \code{log_normconst} log normalizing constant estimate
#' @export
gaussian_stein_variational_importance_sampling <- function(nfparticles, nlparticles, niterations, stepsize, bandwidth) {
    .Call('_GibbsFlow_gaussian_stein_variational_importance_sampling', PACKAGE = 'GibbsFlow', nfparticles, nlparticles, niterations, stepsize, bandwidth)
}

#' @rdname mixtureexample_logprior
#' @title Evaluate mixture example prior density
#' @param x evaluation points  
#' @return density values
#' @export
mixtureexample_logprior <- function(x) {
    .Call('_GibbsFlow_mixtureexample_logprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname mixtureexample_gradlogprior
#' @title Evaluate gradient of mixture example prior density
#' @param x evaluation points  
#' @return gradient values
#' @export
mixtureexample_gradlogprior <- function(x) {
    .Call('_GibbsFlow_mixtureexample_gradlogprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname mixtureexample_partialderivative_logprior
#' @title Evaluate partial derivative of mixture example prior density
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point
#' @return partial derivative value
#' @export
mixtureexample_partialderivative_logprior <- function(dim, x) {
    .Call('_GibbsFlow_mixtureexample_partialderivative_logprior', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname mixtureexample_sampleprior
#' @title Sample from mixture example prior distribution
#' @param n number of samples 
#' @return samples 
#' @export
mixtureexample_sampleprior <- function(n) {
    .Call('_GibbsFlow_mixtureexample_sampleprior', PACKAGE = 'GibbsFlow', n)
}

#' @rdname mixtureexample_loglikelihood
#' @title Evaluate mixture example loglikelihood function
#' @param x evaluation points
#' @return density values
#' @export
mixtureexample_loglikelihood <- function(x) {
    .Call('_GibbsFlow_mixtureexample_loglikelihood', PACKAGE = 'GibbsFlow', x)
}

#' @rdname mixtureexample_gradloglikelihood
#' @title Evaluate gradient of mixture example loglikelihood function
#' @param x evaluation points
#' @return gradient values
#' @export
mixtureexample_gradloglikelihood <- function(x) {
    .Call('_GibbsFlow_mixtureexample_gradloglikelihood', PACKAGE = 'GibbsFlow', x)
}

#' @rdname mixtureexample_partialderivative_loglikelihood
#' @title Evaluate partial derivative of mixture example likelihood function
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point
#' @return partial derivative value
#' @export
mixtureexample_partialderivative_loglikelihood <- function(dim, x) {
    .Call('_GibbsFlow_mixtureexample_partialderivative_loglikelihood', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname mixtureexample_posterior_cov
#' @title Compute posterior covariance of mixture example
#' @param component of mixture
#' @return posterior covariance
#' @export
mixtureexample_posterior_cov <- function(component) {
    .Call('_GibbsFlow_mixtureexample_posterior_cov', PACKAGE = 'GibbsFlow', component)
}

#' @rdname mixtureexample_posterior_mean
#' @title Compute posterior mean of mixture example
#' @param component of mixture
#' @return posterior mean
#' @export
mixtureexample_posterior_mean <- function(component) {
    .Call('_GibbsFlow_mixtureexample_posterior_mean', PACKAGE = 'GibbsFlow', component)
}

#' @rdname mixtureexample_log_normconst
#' @title Compute log normalizing constant of mixture example
#' @return log normalizing constant
#' @export
mixtureexample_log_normconst <- function() {
    .Call('_GibbsFlow_mixtureexample_log_normconst', PACKAGE = 'GibbsFlow')
}

#' @rdname mixtureexample_logposterior
#' @title Evaluate mixture example posterior density
#' @param x evaluation points
#' @return density values
#' @export
mixtureexample_logposterior <- function(x) {
    .Call('_GibbsFlow_mixtureexample_logposterior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname mixtureexample_gibbsflow
#' @title Compute Gibbs flow for mixture example
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
mixtureexample_gibbsflow <- function(stepsize, lambda, derivative_lambda, xparticles, logdensity) {
    .Call('_GibbsFlow_mixtureexample_gibbsflow', PACKAGE = 'GibbsFlow', stepsize, lambda, derivative_lambda, xparticles, logdensity)
}

#' @rdname mixtureexample_gibbsvelocity
#' @title Compute Gibbs flow for mixture example
#' @param time time
#' @param xpoint particle position
#' @param exponent exponent of tempering schedule
#' @return gibbs_velocity gibbs velocity field
#' @export
mixtureexample_gibbsvelocity <- function(time, xpoint, exponent) {
    .Call('_GibbsFlow_mixtureexample_gibbsvelocity', PACKAGE = 'GibbsFlow', time, xpoint, exponent)
}

#' @rdname mixturemodel_logprior
#' @title Evaluate mixture model prior density
#' @param x evaluation points
#' @return density values
#' @export
mixturemodel_logprior <- function(x) {
    .Call('_GibbsFlow_mixturemodel_logprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname mixturemodel_gradlogprior
#' @title Evaluate gradient of mixture model prior density
#' @param x evaluation points
#' @return gradient values
#' @export
mixturemodel_gradlogprior <- function(x) {
    .Call('_GibbsFlow_mixturemodel_gradlogprior', PACKAGE = 'GibbsFlow', x)
}

#' @rdname mixturemodel_partialderivative_logprior
#' @title Evaluate partial derivative of mixture model prior density
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point
#' @return partial derivative value
#' @export
mixturemodel_partialderivative_logprior <- function(dim, x) {
    .Call('_GibbsFlow_mixturemodel_partialderivative_logprior', PACKAGE = 'GibbsFlow', dim, x)
}

#' @rdname mixturemodel_sampleprior
#' @title Sample from mixture model prior distribution
#' @param n number of samples
#' @return samples
#' @export
mixturemodel_sampleprior <- function(n) {
    .Call('_GibbsFlow_mixturemodel_sampleprior', PACKAGE = 'GibbsFlow', n)
}

#' @rdname mixturemodel_loglikelihood
#' @title Evaluate mixture model loglikelihood function
#' @param x evaluation points
#' @return density values
#' @export
mixturemodel_loglikelihood <- function(x, observations, mixturelogweights) {
    .Call('_GibbsFlow_mixturemodel_loglikelihood', PACKAGE = 'GibbsFlow', x, observations, mixturelogweights)
}

#' @rdname mixturemodel_gradloglikelihood
#' @title Evaluate gradient of mixture model loglikelihood function
#' @param x evaluation points
#' @return gradient values
#' @export
mixturemodel_gradloglikelihood <- function(x, observations, mixturelogweights) {
    .Call('_GibbsFlow_mixturemodel_gradloglikelihood', PACKAGE = 'GibbsFlow', x, observations, mixturelogweights)
}

#' @rdname mixturemodel_partialderivative_loglikelihood
#' @title Evaluate partial derivative of mixture model likelihood function
#' @param dim dimension along which partial derivative is taken (dim = 0 is the first coordinate)
#' @param x evaluation point
#' @return partial derivative value
#' @export
mixturemodel_partialderivative_loglikelihood <- function(dim, x, observations, mixturelogweights) {
    .Call('_GibbsFlow_mixturemodel_partialderivative_loglikelihood', PACKAGE = 'GibbsFlow', dim, x, observations, mixturelogweights)
}

#' @rdname mixturemodel_gibbsflow
#' @title Compute Gibbs flow for mixture model
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @param observations dataset
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
mixturemodel_gibbsflow <- function(stepsize, lambda, derivative_lambda, xparticles, logdensity, observations, mixturelogweights) {
    .Call('_GibbsFlow_mixturemodel_gibbsflow', PACKAGE = 'GibbsFlow', stepsize, lambda, derivative_lambda, xparticles, logdensity, observations, mixturelogweights)
}

#' @rdname mixturemodel_gibbsvelocity
#' @title Compute Gibbs flow for mixture model
#' @param time time
#' @param xpoint particle position
#' @param exponent exponent of tempering schedule
#' @param observations dataset
#' @return gibbs_velocity gibbs velocity field
#' @export
mixturemodel_gibbsvelocity <- function(time, xpoint, exponent, observations, mixturelogweights) {
    .Call('_GibbsFlow_mixturemodel_gibbsvelocity', PACKAGE = 'GibbsFlow', time, xpoint, exponent, observations, mixturelogweights)
}

#' @rdname varcomp_artificial_logprior
#' @title Evaluate variance components model artificial prior density on simulated dataset
#' @param x evaluation points
#' @return density values
#' @export
varcomp_artificial_logprior <- function(x, dimension) {
    .Call('_GibbsFlow_varcomp_artificial_logprior', PACKAGE = 'GibbsFlow', x, dimension)
}

#' @rdname varcomp_gradlogprior_artificial
#' @title Evaluate gradient of variance components artificial prior density on simulated dataset
#' @param x evaluation points
#' @return gradient values
#' @export
varcomp_gradlogprior_artificial <- function(x, dimension) {
    .Call('_GibbsFlow_varcomp_gradlogprior_artificial', PACKAGE = 'GibbsFlow', x, dimension)
}

#' @rdname varcomp_logprior
#' @title Evaluate variance components model prior density on simulated dataset
#' @param x evaluation points
#' @return density values
#' @export
varcomp_logprior <- function(x, dimension) {
    .Call('_GibbsFlow_varcomp_logprior', PACKAGE = 'GibbsFlow', x, dimension)
}

#' @rdname varcomp_gradlogprior
#' @title Evaluate gradient of variance components prior density on simulated dataset
#' @param x evaluation points
#' @return gradient values
#' @export
varcomp_gradlogprior <- function(x, dimension) {
    .Call('_GibbsFlow_varcomp_gradlogprior', PACKAGE = 'GibbsFlow', x, dimension)
}

#' @rdname varcomp_sample_artificial_prior
#' @title Sample from variance components model artificial prior distribution
#' @param n number of samples
#' @return samples
#' @export
varcomp_sample_artificial_prior <- function(N, dimension) {
    .Call('_GibbsFlow_varcomp_sample_artificial_prior', PACKAGE = 'GibbsFlow', N, dimension)
}

#' @rdname varcomp_loglikelihood
#' @title Evaluate variance components model loglikelihood function on simulated dataset
#' @param x evaluation points
#' @return density values
#' @export
varcomp_loglikelihood <- function(x, dataset) {
    .Call('_GibbsFlow_varcomp_loglikelihood', PACKAGE = 'GibbsFlow', x, dataset)
}

#' @rdname varcomp_gradloglikelihood
#' @title Evaluate gradient of variance components loglikelihood on simulated dataset
#' @param x evaluation points
#' @return gradient values
#' @export
varcomp_gradloglikelihood <- function(x, dataset_rowsums, dimension, nrepetitions) {
    .Call('_GibbsFlow_varcomp_gradloglikelihood', PACKAGE = 'GibbsFlow', x, dataset_rowsums, dimension, nrepetitions)
}

#' @rdname varcomp_gibbsflow
#' @title Compute Gibbs flow for variance components model on simulated dataset
#' @param stepsize numerical integration step size
#' @param lambda tempering level
#' @param lambda_next next tempering level
#' @param derivative_lambda time derivative of tempering schedule
#' @param xparticles particle locations
#' @param logdensity corresponding log density values
#' @return list with keys:
#' \code{xparticles} new particle locations,
#' \code{log_jacobian_dets} log Jacobian determinant of the flow
#' @export
varcomp_gibbsflow <- function(stepsize, lambda, lambda_next, derivative_lambda, xparticles, logdensity, dataset_rowsums, dimension) {
    .Call('_GibbsFlow_varcomp_gibbsflow', PACKAGE = 'GibbsFlow', stepsize, lambda, lambda_next, derivative_lambda, xparticles, logdensity, dataset_rowsums, dimension)
}

#' @rdname varcomp_gibbsvelocity
#' @title Compute Gibbs velocity for variance components model on simulated dataset
#' @param time time
#' @param xparticles particle positions
#' @param exponent exponent of tempering schedule
#' @return gibbs_velocity gibbs velocity field
#' @export
varcomp_gibbsvelocity <- function(time, xparticles, exponent, dataset_rowsums, dimension) {
    .Call('_GibbsFlow_varcomp_gibbsvelocity', PACKAGE = 'GibbsFlow', time, xparticles, exponent, dataset_rowsums, dimension)
}

#' @rdname mvnpdf
#' @title Evaluate multivariate Gaussian density
#' @param x evaluation points  
#' @param mu mean vector  
#' @param sigma covariance matrix
#' @return density values
#' @export
mvnpdf <- function(x, mu, sigma) {
    .Call('_GibbsFlow_mvnpdf', PACKAGE = 'GibbsFlow', x, mu, sigma)
}

#' @rdname mvn_cholesky_factor
#' @title Compute Cholesky factor
#' @param mu mean vector  
#' @param sigma covariance matrix
#' @return density values
#' @export
mvn_cholesky_factor <- function(sigma) {
    .Call('_GibbsFlow_mvn_cholesky_factor', PACKAGE = 'GibbsFlow', sigma)
}

#' @rdname mvnpdf_chol
#' @title Evaluate multivariate Gaussian density (with pre-computed Cholesky factor)
#' @param x evaluation points  
#' @param mu mean vector  
#' @param rooti inverse of Cholesky factor
#' @param rootisum normalizing constant term
#' @return density values
#' @export
mvnpdf_chol <- function(x, mu, rooti, rootisum) {
    .Call('_GibbsFlow_mvnpdf_chol', PACKAGE = 'GibbsFlow', x, mu, rooti, rootisum)
}

#' @rdname gradmvnpdf
#' @title Evaluate gradient of multivariate Gaussian prior density
#' @param x evaluation points  
#' @param mu mean vector  
#' @param precision precision matrix
#' @return gradient values
#' @export
gradmvnpdf <- function(x, mu, precision) {
    .Call('_GibbsFlow_gradmvnpdf', PACKAGE = 'GibbsFlow', x, mu, precision)
}

#' @rdname mvnrnd
#' @title Simulate from multivariate Gaussian distribution
#' @param n number of samples
#' @param mu mean vector  
#' @param sigma covariance matrix
#' @return samples 
#' @export
mvnrnd <- function(n, mu, sigma) {
    .Call('_GibbsFlow_mvnrnd', PACKAGE = 'GibbsFlow', n, mu, sigma)
}

#' @rdname mvnrnd_chol
#' @title Simulate from multivariate Gaussian distribution (with pre-computed Cholesky factor)
#' @param n number of samples
#' @param mu mean vector  
#' @param chol Cholesky factor of covariance matrix
#' @return samples 
#' @export
mvnrnd_chol <- function(n, mu, chol) {
    .Call('_GibbsFlow_mvnrnd_chol', PACKAGE = 'GibbsFlow', n, mu, chol)
}

#' @rdname systematic_resampling
#' @title Perform systematic resampling
#' @param normweights normalized particle weights 
#' @param nparticles number of particles
#' @param uniform uniform variable between 0 to 1 / nparticles 
#' @return \code{ancestors} ancestor indices
#' @export
systematic_resampling <- function(normweights, nparticles, uniform) {
    .Call('_GibbsFlow_systematic_resampling', PACKAGE = 'GibbsFlow', normweights, nparticles, uniform)
}
jeremyhengjm/GibbsFlow documentation built on Feb. 14, 2021, 9:21 p.m.