Version 1.5 of DynaML, released August 11, 2017. Updates to global optimization api, improvements and new features in the gaussian process and stochastic process api.


Package dynaml.algebra

//Zero Dual
val zero = DualNumber.zero[Double]  

val dnum = DualNumber(1.5, -1.0) 
val dnum1 = DualNumber(-1.5, 1.0) 

//Algebraic operations: multiplication and addition/subtraction
dnum1 - dnum

Package dynaml.probability

  • Added support for mixture distributions and mixture random variables. MixtureRV, ContinuousDistrMixture for random variables and MixtureDistribution for constructing mixtures of breeze distributions.

Package dynaml.optimization

  • Added ModelTuner[T, T1] trait as a super trait to GlobalOptimizer[T]
  • GridSearch and CoupledSimulatedAnnealing now extend AbstractGridSearch and AbstractCSA respectively.
  • Added ProbGPMixtureMachine: constructs a mixture model after a CSA or grid search routine by calculating the mixture probabilities of members of the final hyper-parameter ensemble.

Stochastic Mixture Models

Package dynaml.models

  • Added StochasticProcessMixtureModelas top level class for stochastic mixture models.
  • Added GaussianProcessMixture: implementation of gaussian process mixture models.
  • Added MVTMixture: implementation of mixture model over multioutput matrix T processes.

Kulback-Leibler Divergence

Package dynaml.probability

  • Added method KL() to probability package object, to calculate the Kulback Leibler divergence between two continuous random variables backed by breeze distributions.

Adaptive Metropolis Algorithms.

Splines and B-Spline Generators

Package dynaml.analysis

Cubic Spline Interpolation Kernels

Package dynaml.kernels

Gaussian Process Models for Linear Partial Differential Equations

Based on a legacy ICML 2003 paper by Graepel. DynaML now ships with capability of performing PDE forward and inverse inference using the Gaussian Process API.

Package dynaml.models.gp

  • GPOperatorModel: models a quantity of interest which is governed by a linear PDE in space and time.

Package dynaml.kernels

  • LinearPDEKernel: The core kernel primitive accepted by the GPOperatorModel class.

  • GenExpSpaceTimeKernel: a kernel of the exponential family which can serve as a handy base kernel for LinearPDEKernel class.

Basis Function Gaussian Processes

DynaML now supports GP models with explicitly incorporated basis functions as linear mean/trend functions.

Package dynaml.models.gp

Log Gaussian Processes


Package dynaml.probability

  • Changes to RandomVarWithDistr: made type parameter Dist covariant.
  • Reform to IIDRandomVar hierarchy.

Package dynaml.probability.mcmc

  • Bug-fixes to the HyperParameterMCMC class.


  • DynaML now ships with Ammonite v1.0.0.


Package dynaml.optimization

  • Corrected energy calculation in CoupledSimulatedAnnealing; added log likelihood due to hyper-prior.

Package dynaml.optimization

  • Corrected energy calculation in CoupledSimulatedAnnealing; added log likelihood due to hyper-prior.