We make software available for our research. Note that it is not ‘production code’, it is often just a snapshot of the software used to produce the results in a particular paper. This makes it easier for other people to make comparisons and to reproduce our results.


MATweave is a couple of tricks for integrating your MATLAB/Octave code into LaTeX documents.

Making Software Available

Really Reproducible Research in the Computational Sciences

I believe machine learning researchers should be making their software available at the same time they submit (or before) their papers to conference papers or journals, and I’ve carried out this practice since 2001. I wanted to put together the reasons why we should be doing this at some point, but it turns out that other researchers have already laid out reasons that pretty much match my own. So if you want to know why I (and why you should) make your code available that reproduces the figures in your papers please read this which was inspired by ideas of Jon Claerbout. See his white paper here.

Thanks to Kevin Murphy for pointing out these papers.

Neil Lawrence, 05 December 2005

Software on Github via the SheffieldML Group Repo

Software Author Description
Python GPy Software on Github Python Toolbox GP, GP-LVM, Bayesian GP-LVM software and many other extentions from our group and range of collaborators.
MATLAB GPmat Software on Github MATLAB Toolbox IVM, GP and GP-LVM software and many other extentions from a range of collaborators.
C++ GPc Software on Github C++ Toolbox IVM, GP and GP-LVM software in C++.
R gprege Software on Github R Toolbox GP software in R.

Repositories Available Under lawrennd

package description  
ambassadors14 Sheffield Computer Science 2014 Cutler’s Ambassadors Programme for Schools 0 github watchers
bfd MATLAB code for Bayesian interpretation of Fisher’s discriminant 0 github watchers
blf MATLAB code for mean field theory for sigmoid belief networks from my PhD thesis. 1 github watchers
chipdyno Dynamical model for inference of transcription factor activities. 0 github watchers
chipvar Software for variational Inference of transcription factor activities in MATLAB. 0 github watchers
collab   1 github watchers
datasets MATLAB datasets repository. 0 github watchers
dgplvm Discriminative GP-LVM. 1 github watchers
dimred Dimensional reduction in MATLAB. 0 github watchers
disimrank Gene target ranking by driven input single input motif Matlab code. 0 github watchers
drawing MATLAB tools for drawing (originally with image labelling in mind). 0 github watchers
drbook Dimensionality Reduction for Machine Learning Book 1 github watchers
dsschool- Base repo containing barebones page for schools and workshops. 0 github watchers
ensmlp MATLAB Code for Variational Learning of Neural Networks 0 github watchers
fgplvm Faster GP-LVM software in MATLAB. 8 github watchers
gca Generalized Component Analysis MATLAB software. 0 github watchers
gp Gaussian process software in MATLAB. 2 github watchers
gplvm Deprecated MATLAB software for IVM Based GPLVM 0 github watchers
gpsim Gaussian Process Single Input Motif software in MATLAB. 0 github watchers
hgplvm Hierarchical GP-LVM code in MATLAB 0 github watchers
ivm MATLAB software for the Informative Vector Machine. 0 github watchers
kappenball Code for the Kappenball game and other code from my 2012 lecture on uncertainty. 1 github watchers
kern Kernel toolbox for MATLAB. 2 github watchers
kpca MATLAB Software for missing data in KPCA. 0 github watchers
meu MATLAB code for maximum entropy unfolding. 0 github watchers
mgplvm Mixtures of GP-LVM models in MATLAB. 0 github watchers
mi2013 Machines and Intelligence 2013 0 github watchers
mlai2012 Machine Learning and Adaptive Intelligence, 2012 0 github watchers
mlai2013 Machine Learning and Adaptive Intelligence 2013 1 github watchers
mlai2014 Machine Learning and Adaptive Intelligence Module 2013-2014 3 github watchers
mlai2015 Machine learning and adaptive intelligence module for 2015. 11 github watchers
mltools Machine learning tools in MATLAB 7 github watchers
mocap Matlab software for processing motion capture files. 4 github watchers
mtivm Multitask IVM software in MATLAB. 0 github watchers
ncca MATLAB Code for non-consolidating CCA. 0 github watchers
ncnm Null category noise model for semi-supervised learning. 0 github watchers
ndlutil General utilities for MATLAB. 0 github watchers
nips2016 Papers presented from the NIPS 2016 conference. 0 github watchers
nkfd MATLAB Code for Kernel linear discriminant analysis with Noisy Labels. 1 github watchers
noise Noise models implemented in MATLAB. 0 github watchers
nppca MATLAB code for PCA in data with heteroschedastic noise. Originally targeted at gene expression analysis. 0 github watchers
optimi MATLAB helper functions and constraint functions for optimization. 0 github watchers
oxford MATLAB demos first created for a tutorial at Oxford University. 0 github watchers
plot2svg Save MATLAB plots as svg files 0 github watchers
ppa Probabilistic Point Assimilation: Variational Inference Software for Gaussian Processes. 0 github watchers
prior prior distributions in MATLAB. 0 github watchers
publications Papers published. 0 github watchers
rca Residual Component Analysis software in MATLAB. 0 github watchers
rochol Rank one Cholesky update in MATLAB. 0 github watchers
sdlfmgp Switching dynamic latent force model Gaussian processes code in MATLAB. 0 github watchers
sgplvm Shared GP-LVM model in MATLAB. 1 github watchers
spectral MATLAB Software for assessing the number of clusters in Spectral Clustering. 0 github watchers
synth MATLAB software for speech synthesis through eigenvoices. 0 github watchers
talks Talks from Neil Lawrence 4 github watchers
vargplvm Variational Bayesian GP-LVM model in MATLAB. 1 github watchers
vis Variational Importance Sampler 0 github watchers

Code Restructuring

Code is currently being restructured to update git repos with old SVN and CVS history.

MATLAB/Octave Toolkits

These toolboxes make use of the core functionality in the GPmat toolbox. To download these software packages you need to register, the packages are freely available for academic use, you must seek a license for commercial use. Follow instructions on the sites to access the software. Some will be merged into the core toolbox over time. They tend to reflect more recent research innovations than the core material.

Older Toolboxes

  • GPREGE Gaussian Process Ranking and Estimation of Gene Expression time-series.
  • MULTIGP Latent force Model Software and General Software for Gaussian Processes for Multiple Outputs. Includes sparse approximations.