From d16ffdb24ec25095e624a072b7075e61333b03c9 Mon Sep 17 00:00:00 2001
From: Tiago Freitas Pereira <tiagofrepereira@gmail.com>
Date: Sat, 7 Feb 2015 23:19:27 +0100
Subject: [PATCH] Preparing first commit of bob.learn.em. Still some warnings
 and documentation issues to solve

---
 bob/learn/em/.DS_Store                        |  Bin 0 -> 6148 bytes
 bob/learn/em/MAP_gmm_trainer.cpp              |  431 +++++++
 bob/learn/em/ML_gmm_trainer.cpp               |  335 +++++
 bob/learn/em/__MAP_gmm_trainer__.py           |   99 ++
 bob/learn/em/__ML_gmm_trainer__.py            |   85 ++
 bob/learn/em/__empca_trainer__.py             |   77 ++
 bob/learn/em/__init__.py                      |   58 +
 bob/learn/em/__isv_trainer__.py               |   49 +
 bob/learn/em/__ivector_trainer__.py           |   51 +
 bob/learn/em/__jfa_trainer__.py               |   71 ++
 bob/learn/em/__kmeans_trainer__.py            |   81 ++
 bob/learn/em/__plda_trainer__.py              |   50 +
 bob/learn/em/cpp/BICMachine.cpp               |  348 ++++++
 bob/learn/em/cpp/BICTrainer.cpp               |   94 ++
 bob/learn/em/cpp/EMPCATrainer.cpp             |  418 +++++++
 bob/learn/em/cpp/FABase.cpp                   |  307 +++++
 bob/learn/em/cpp/FABaseTrainer.cpp            |  547 ++++++++
 bob/learn/em/cpp/GMMBaseTrainer.cpp           |   94 ++
 bob/learn/em/cpp/GMMMachine.cpp               |  436 +++++++
 bob/learn/em/cpp/GMMStats.cpp                 |  151 +++
 bob/learn/em/cpp/Gaussian.cpp                 |  184 +++
 bob/learn/em/cpp/ISVBase.cpp                  |   76 ++
 bob/learn/em/cpp/ISVMachine.cpp               |  182 +++
 bob/learn/em/cpp/ISVTrainer.cpp               |  130 ++
 bob/learn/em/cpp/IVectorMachine.cpp           |  249 ++++
 bob/learn/em/cpp/IVectorTrainer.cpp           |  228 ++++
 bob/learn/em/cpp/JFABase.cpp                  |   75 ++
 bob/learn/em/cpp/JFAMachine.cpp               |  206 ++++
 bob/learn/em/cpp/JFATrainer.cpp               |  200 +++
 bob/learn/em/cpp/KMeansMachine.cpp            |  258 ++++
 bob/learn/em/cpp/KMeansTrainer.cpp            |  228 ++++
 bob/learn/em/cpp/LinearScoring.cpp            |  168 +++
 bob/learn/em/cpp/MAP_GMMTrainer.cpp           |  199 +++
 bob/learn/em/cpp/ML_GMMTrainer.cpp            |  112 ++
 bob/learn/em/cpp/PLDAMachine.cpp              |  960 +++++++++++++++
 bob/learn/em/cpp/PLDATrainer.cpp              |  800 ++++++++++++
 bob/learn/em/cpp/ZTNorm.cpp                   |  182 +++
 bob/learn/em/data/data.hdf5                   |  Bin 0 -> 2544 bytes
 bob/learn/em/data/dataNormalized.hdf5         |  Bin 0 -> 259592 bytes
 bob/learn/em/data/dataforMAP.hdf5             |  Bin 0 -> 259592 bytes
 bob/learn/em/data/faithful.torch3.hdf5        |  Bin 0 -> 21448 bytes
 bob/learn/em/data/faithful.torch3_f64.hdf5    |  Bin 0 -> 23240 bytes
 bob/learn/em/data/gmm.init_means.hdf5         |  Bin 0 -> 2176 bytes
 bob/learn/em/data/gmm.init_variances.hdf5     |  Bin 0 -> 2176 bytes
 bob/learn/em/data/gmm.init_weights.hdf5       |  Bin 0 -> 2160 bytes
 bob/learn/em/data/gmm_MAP.hdf5                |  Bin 0 -> 41136 bytes
 bob/learn/em/data/gmm_ML.hdf5                 |  Bin 0 -> 41135 bytes
 bob/learn/em/data/gmm_ML_32bit_debug.hdf5     |  Bin 0 -> 41135 bytes
 bob/learn/em/data/gmm_ML_32bit_release.hdf5   |  Bin 0 -> 41135 bytes
 bob/learn/em/data/means.hdf5                  |  Bin 0 -> 2944 bytes
 bob/learn/em/data/meansAfterKMeans.hdf5       |  Bin 0 -> 3044 bytes
 bob/learn/em/data/meansAfterMAP.hdf5          |  Bin 0 -> 6336 bytes
 bob/learn/em/data/meansAfterML.hdf5           |  Bin 0 -> 3944 bytes
 bob/learn/em/data/new_adapted_mean.hdf5       |  Bin 0 -> 2944 bytes
 bob/learn/em/data/samplesFrom2G_f64.hdf5      |  Bin 0 -> 18576 bytes
 bob/learn/em/data/stats.hdf5                  |  Bin 0 -> 22635 bytes
 bob/learn/em/data/variances.hdf5              |  Bin 0 -> 2944 bytes
 bob/learn/em/data/variancesAfterKMeans.hdf5   |  Bin 0 -> 3044 bytes
 bob/learn/em/data/variancesAfterMAP.hdf5      |  Bin 0 -> 6336 bytes
 bob/learn/em/data/variancesAfterML.hdf5       |  Bin 0 -> 3944 bytes
 bob/learn/em/data/weights.hdf5                |  Bin 0 -> 2160 bytes
 bob/learn/em/data/weightsAfterKMeans.hdf5     |  Bin 0 -> 2164 bytes
 bob/learn/em/data/weightsAfterMAP.hdf5        |  Bin 0 -> 4056 bytes
 bob/learn/em/data/weightsAfterML.hdf5         |  Bin 0 -> 2184 bytes
 bob/learn/em/data/ztnorm_eval_eval.hdf5       |  Bin 0 -> 569984 bytes
 bob/learn/em/data/ztnorm_eval_tnorm.hdf5      |  Bin 0 -> 438944 bytes
 bob/learn/em/data/ztnorm_result.hdf5          |  Bin 0 -> 569984 bytes
 bob/learn/em/data/ztnorm_znorm_eval.hdf5      |  Bin 0 -> 22944 bytes
 bob/learn/em/data/ztnorm_znorm_tnorm.hdf5     |  Bin 0 -> 18144 bytes
 bob/learn/em/empca_trainer.cpp                |  378 ++++++
 bob/learn/em/gaussian.cpp                     |  571 +++++++++
 bob/learn/em/gmm_base_trainer.cpp             |  437 +++++++
 bob/learn/em/gmm_machine.cpp                  |  834 +++++++++++++
 bob/learn/em/gmm_stats.cpp                    |  623 ++++++++++
 bob/learn/em/include/.DS_Store                |  Bin 0 -> 6148 bytes
 .../em/include/bob.learn.em/EMPCATrainer.h    |  200 +++
 bob/learn/em/include/bob.learn.em/FABase.h    |  293 +++++
 .../em/include/bob.learn.em/FABaseTrainer.h   |  350 ++++++
 .../em/include/bob.learn.em/GMMBaseTrainer.h  |  161 +++
 .../em/include/bob.learn.em/GMMMachine.h      |  371 ++++++
 bob/learn/em/include/bob.learn.em/GMMStats.h  |  141 +++
 bob/learn/em/include/bob.learn.em/Gaussian.h  |  247 ++++
 bob/learn/em/include/bob.learn.em/ISVBase.h   |  228 ++++
 .../em/include/bob.learn.em/ISVMachine.h      |  230 ++++
 .../em/include/bob.learn.em/ISVTrainer.h      |  154 +++
 .../em/include/bob.learn.em/IVectorMachine.h  |  274 ++++
 .../em/include/bob.learn.em/IVectorTrainer.h  |  152 +++
 bob/learn/em/include/bob.learn.em/JFABase.h   |  253 ++++
 .../em/include/bob.learn.em/JFAMachine.h      |  254 ++++
 .../em/include/bob.learn.em/JFATrainer.h      |  238 ++++
 .../em/include/bob.learn.em/KMeansMachine.h   |  244 ++++
 .../em/include/bob.learn.em/KMeansTrainer.h   |  187 +++
 .../em/include/bob.learn.em/LinearScoring.h   |   98 ++
 .../em/include/bob.learn.em/MAP_GMMTrainer.h  |  170 +++
 .../em/include/bob.learn.em/ML_GMMTrainer.h   |  119 ++
 .../em/include/bob.learn.em/PLDAMachine.h     |  702 +++++++++++
 .../em/include/bob.learn.em/PLDATrainer.h     |  310 +++++
 bob/learn/em/include/bob.learn.em/ZTNorm.h    |   89 ++
 bob/learn/em/include/bob.learn.em/api.h       |  127 ++
 bob/learn/em/include/bob.learn.em/config.h    |   14 +
 bob/learn/em/isv_base.cpp                     |  528 ++++++++
 bob/learn/em/isv_machine.cpp                  |  604 +++++++++
 bob/learn/em/isv_trainer.cpp                  |  566 +++++++++
 bob/learn/em/ivector_machine.cpp              |  676 ++++++++++
 bob/learn/em/ivector_trainer.cpp              |  453 +++++++
 bob/learn/em/jfa_base.cpp                     |  578 +++++++++
 bob/learn/em/jfa_machine.cpp                  |  650 ++++++++++
 bob/learn/em/jfa_trainer.cpp                  | 1013 +++++++++++++++
 bob/learn/em/kmeans_machine.cpp               |  768 ++++++++++++
 bob/learn/em/kmeans_trainer.cpp               |  553 +++++++++
 bob/learn/em/linear_scoring.cpp               |  266 ++++
 bob/learn/em/main.cpp                         |  145 +++
 bob/learn/em/main.h                           |  312 +++++
 bob/learn/em/plda_base.cpp                    | 1097 +++++++++++++++++
 bob/learn/em/plda_machine.cpp                 |  801 ++++++++++++
 bob/learn/em/plda_trainer.cpp                 |  704 +++++++++++
 bob/learn/em/test/test_em.py                  |  252 ++++
 bob/learn/em/test/test_gaussian.py            |  112 ++
 bob/learn/em/test/test_gmm.py                 |  240 ++++
 bob/learn/em/test/test_ivector.py             |  159 +++
 bob/learn/em/test/test_ivector_trainer.py     |  363 ++++++
 bob/learn/em/test/test_jfa.py                 |  396 ++++++
 bob/learn/em/test/test_jfa_trainer.py         |  316 +++++
 bob/learn/em/test/test_kmeans.py              |   96 ++
 bob/learn/em/test/test_kmeans_trainer.py      |  181 +++
 bob/learn/em/test/test_linearscoring.py       |  128 ++
 bob/learn/em/test/test_plda.py                |  565 +++++++++
 bob/learn/em/test/test_plda_trainer.py        |  741 +++++++++++
 bob/learn/em/test/test_ztnorm.py              |  122 ++
 bob/learn/em/version.cpp                      |  224 ++++
 bob/learn/em/ztnorm.cpp                       |  146 +++
 131 files changed, 30423 insertions(+)
 create mode 100644 bob/learn/em/.DS_Store
 create mode 100644 bob/learn/em/MAP_gmm_trainer.cpp
 create mode 100644 bob/learn/em/ML_gmm_trainer.cpp
 create mode 100644 bob/learn/em/__MAP_gmm_trainer__.py
 create mode 100644 bob/learn/em/__ML_gmm_trainer__.py
 create mode 100644 bob/learn/em/__empca_trainer__.py
 create mode 100644 bob/learn/em/__init__.py
 create mode 100644 bob/learn/em/__isv_trainer__.py
 create mode 100644 bob/learn/em/__ivector_trainer__.py
 create mode 100644 bob/learn/em/__jfa_trainer__.py
 create mode 100644 bob/learn/em/__kmeans_trainer__.py
 create mode 100644 bob/learn/em/__plda_trainer__.py
 create mode 100644 bob/learn/em/cpp/BICMachine.cpp
 create mode 100644 bob/learn/em/cpp/BICTrainer.cpp
 create mode 100644 bob/learn/em/cpp/EMPCATrainer.cpp
 create mode 100644 bob/learn/em/cpp/FABase.cpp
 create mode 100644 bob/learn/em/cpp/FABaseTrainer.cpp
 create mode 100644 bob/learn/em/cpp/GMMBaseTrainer.cpp
 create mode 100644 bob/learn/em/cpp/GMMMachine.cpp
 create mode 100644 bob/learn/em/cpp/GMMStats.cpp
 create mode 100644 bob/learn/em/cpp/Gaussian.cpp
 create mode 100644 bob/learn/em/cpp/ISVBase.cpp
 create mode 100644 bob/learn/em/cpp/ISVMachine.cpp
 create mode 100644 bob/learn/em/cpp/ISVTrainer.cpp
 create mode 100644 bob/learn/em/cpp/IVectorMachine.cpp
 create mode 100644 bob/learn/em/cpp/IVectorTrainer.cpp
 create mode 100644 bob/learn/em/cpp/JFABase.cpp
 create mode 100644 bob/learn/em/cpp/JFAMachine.cpp
 create mode 100644 bob/learn/em/cpp/JFATrainer.cpp
 create mode 100644 bob/learn/em/cpp/KMeansMachine.cpp
 create mode 100644 bob/learn/em/cpp/KMeansTrainer.cpp
 create mode 100644 bob/learn/em/cpp/LinearScoring.cpp
 create mode 100644 bob/learn/em/cpp/MAP_GMMTrainer.cpp
 create mode 100644 bob/learn/em/cpp/ML_GMMTrainer.cpp
 create mode 100644 bob/learn/em/cpp/PLDAMachine.cpp
 create mode 100644 bob/learn/em/cpp/PLDATrainer.cpp
 create mode 100644 bob/learn/em/cpp/ZTNorm.cpp
 create mode 100644 bob/learn/em/data/data.hdf5
 create mode 100644 bob/learn/em/data/dataNormalized.hdf5
 create mode 100644 bob/learn/em/data/dataforMAP.hdf5
 create mode 100644 bob/learn/em/data/faithful.torch3.hdf5
 create mode 100644 bob/learn/em/data/faithful.torch3_f64.hdf5
 create mode 100644 bob/learn/em/data/gmm.init_means.hdf5
 create mode 100644 bob/learn/em/data/gmm.init_variances.hdf5
 create mode 100644 bob/learn/em/data/gmm.init_weights.hdf5
 create mode 100644 bob/learn/em/data/gmm_MAP.hdf5
 create mode 100644 bob/learn/em/data/gmm_ML.hdf5
 create mode 100644 bob/learn/em/data/gmm_ML_32bit_debug.hdf5
 create mode 100644 bob/learn/em/data/gmm_ML_32bit_release.hdf5
 create mode 100644 bob/learn/em/data/means.hdf5
 create mode 100644 bob/learn/em/data/meansAfterKMeans.hdf5
 create mode 100644 bob/learn/em/data/meansAfterMAP.hdf5
 create mode 100644 bob/learn/em/data/meansAfterML.hdf5
 create mode 100644 bob/learn/em/data/new_adapted_mean.hdf5
 create mode 100644 bob/learn/em/data/samplesFrom2G_f64.hdf5
 create mode 100644 bob/learn/em/data/stats.hdf5
 create mode 100644 bob/learn/em/data/variances.hdf5
 create mode 100644 bob/learn/em/data/variancesAfterKMeans.hdf5
 create mode 100644 bob/learn/em/data/variancesAfterMAP.hdf5
 create mode 100644 bob/learn/em/data/variancesAfterML.hdf5
 create mode 100644 bob/learn/em/data/weights.hdf5
 create mode 100644 bob/learn/em/data/weightsAfterKMeans.hdf5
 create mode 100644 bob/learn/em/data/weightsAfterMAP.hdf5
 create mode 100644 bob/learn/em/data/weightsAfterML.hdf5
 create mode 100644 bob/learn/em/data/ztnorm_eval_eval.hdf5
 create mode 100644 bob/learn/em/data/ztnorm_eval_tnorm.hdf5
 create mode 100644 bob/learn/em/data/ztnorm_result.hdf5
 create mode 100644 bob/learn/em/data/ztnorm_znorm_eval.hdf5
 create mode 100644 bob/learn/em/data/ztnorm_znorm_tnorm.hdf5
 create mode 100644 bob/learn/em/empca_trainer.cpp
 create mode 100644 bob/learn/em/gaussian.cpp
 create mode 100644 bob/learn/em/gmm_base_trainer.cpp
 create mode 100644 bob/learn/em/gmm_machine.cpp
 create mode 100644 bob/learn/em/gmm_stats.cpp
 create mode 100644 bob/learn/em/include/.DS_Store
 create mode 100644 bob/learn/em/include/bob.learn.em/EMPCATrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/FABase.h
 create mode 100644 bob/learn/em/include/bob.learn.em/FABaseTrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/GMMBaseTrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/GMMMachine.h
 create mode 100644 bob/learn/em/include/bob.learn.em/GMMStats.h
 create mode 100644 bob/learn/em/include/bob.learn.em/Gaussian.h
 create mode 100644 bob/learn/em/include/bob.learn.em/ISVBase.h
 create mode 100644 bob/learn/em/include/bob.learn.em/ISVMachine.h
 create mode 100644 bob/learn/em/include/bob.learn.em/ISVTrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/IVectorMachine.h
 create mode 100644 bob/learn/em/include/bob.learn.em/IVectorTrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/JFABase.h
 create mode 100644 bob/learn/em/include/bob.learn.em/JFAMachine.h
 create mode 100644 bob/learn/em/include/bob.learn.em/JFATrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/KMeansMachine.h
 create mode 100644 bob/learn/em/include/bob.learn.em/KMeansTrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/LinearScoring.h
 create mode 100644 bob/learn/em/include/bob.learn.em/MAP_GMMTrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/ML_GMMTrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/PLDAMachine.h
 create mode 100644 bob/learn/em/include/bob.learn.em/PLDATrainer.h
 create mode 100644 bob/learn/em/include/bob.learn.em/ZTNorm.h
 create mode 100644 bob/learn/em/include/bob.learn.em/api.h
 create mode 100644 bob/learn/em/include/bob.learn.em/config.h
 create mode 100644 bob/learn/em/isv_base.cpp
 create mode 100644 bob/learn/em/isv_machine.cpp
 create mode 100644 bob/learn/em/isv_trainer.cpp
 create mode 100644 bob/learn/em/ivector_machine.cpp
 create mode 100644 bob/learn/em/ivector_trainer.cpp
 create mode 100644 bob/learn/em/jfa_base.cpp
 create mode 100644 bob/learn/em/jfa_machine.cpp
 create mode 100644 bob/learn/em/jfa_trainer.cpp
 create mode 100644 bob/learn/em/kmeans_machine.cpp
 create mode 100644 bob/learn/em/kmeans_trainer.cpp
 create mode 100644 bob/learn/em/linear_scoring.cpp
 create mode 100644 bob/learn/em/main.cpp
 create mode 100644 bob/learn/em/main.h
 create mode 100644 bob/learn/em/plda_base.cpp
 create mode 100644 bob/learn/em/plda_machine.cpp
 create mode 100644 bob/learn/em/plda_trainer.cpp
 create mode 100644 bob/learn/em/test/test_em.py
 create mode 100644 bob/learn/em/test/test_gaussian.py
 create mode 100644 bob/learn/em/test/test_gmm.py
 create mode 100644 bob/learn/em/test/test_ivector.py
 create mode 100644 bob/learn/em/test/test_ivector_trainer.py
 create mode 100644 bob/learn/em/test/test_jfa.py
 create mode 100644 bob/learn/em/test/test_jfa_trainer.py
 create mode 100644 bob/learn/em/test/test_kmeans.py
 create mode 100644 bob/learn/em/test/test_kmeans_trainer.py
 create mode 100644 bob/learn/em/test/test_linearscoring.py
 create mode 100644 bob/learn/em/test/test_plda.py
 create mode 100644 bob/learn/em/test/test_plda_trainer.py
 create mode 100644 bob/learn/em/test/test_ztnorm.py
 create mode 100644 bob/learn/em/version.cpp
 create mode 100644 bob/learn/em/ztnorm.cpp

diff --git a/bob/learn/em/.DS_Store b/bob/learn/em/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..47a80a664e3fd38c9114f0953bbebcd70e7d0146
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8z3~dZp0Z1N%F(jFwA|RR(Y(^<V3PWm2adJ*lK2(kn
z1=7pTkjaq8kj#+7fTTY^2c(sSp@boop_rirVkkrqBr%FdLtr!nMnhmU1V%$(Gz7>C
z0Y->64sHlNN{)uWXb6mk06YXh<%0sKufV{--~go?AT&sdfsug$)O-igEHF)wegFeV
z45SrAgS3KZkX8mp5DRPuSSte~14Jt$xElh}2kMf5Xs~t$MzGBwK3F>gBiLpJ21bZ>
z21bZ>21aNPg%P5iff1sefe~yw%ypymXb6mk04xNUAq)Xf{qM@afUExxQ8h}AhQMeD
z49gH;WN`_0aROJ$*!>5pYeDsC0#wZbs4_-Sy$lfpDFIdO;OdwOGN>p4RR$6VX$R5Z
Y>X?y%0bHApHU?lJG)j+#0DVIM0BW8Zm;e9(

literal 0
HcmV?d00001

diff --git a/bob/learn/em/MAP_gmm_trainer.cpp b/bob/learn/em/MAP_gmm_trainer.cpp
new file mode 100644
index 0000000..570ed8d
--- /dev/null
+++ b/bob/learn/em/MAP_gmm_trainer.cpp
@@ -0,0 +1,431 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Web 23 Jan 16:42:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static inline bool f(PyObject* o){return o != 0 && PyObject_IsTrue(o) > 0;}  /* converts PyObject to bool and returns false if object is NULL */
+
+static auto MAP_GMMTrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".MAP_GMMTrainer",
+  "This class implements the maximum a posteriori M-step of the expectation-maximisation algorithm for a GMM Machine. The prior parameters are encoded in the form of a GMM (e.g. a universal background model). The EM algorithm thus performs GMM adaptation."
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a MAP_GMMTrainer",
+    "",
+    true
+  )
+
+  .add_prototype("prior_gmm,relevance_factor, update_means, [update_variances], [update_weights], [mean_var_update_responsibilities_threshold]","")
+  .add_prototype("prior_gmm,alpha, update_means, [update_variances], [update_weights], [mean_var_update_responsibilities_threshold]","")
+  .add_prototype("other","")
+  .add_prototype("","")
+
+  .add_parameter("prior_gmm", ":py:class:`bob.learn.em.GMMMachine`", "The prior GMM to be adapted (Universal Backgroud Model UBM).")
+  .add_parameter("reynolds_adaptation", "bool", "Will use the Reynolds adaptation procedure? See Eq (14) from [Reynolds2000]_")
+  .add_parameter("relevance_factor", "double", "If set the reynolds_adaptation parameters, will apply the Reynolds Adaptation procedure. See Eq (14) from [Reynolds2000]_")
+  .add_parameter("alpha", "double", "Set directly the alpha parameter (Eq (14) from [Reynolds2000]_), ignoring zeroth order statistics as a weighting factor.")
+
+  .add_parameter("update_means", "bool", "Update means on each iteration")
+  .add_parameter("update_variances", "bool", "Update variances on each iteration")
+  .add_parameter("update_weights", "bool", "Update weights on each iteration")
+  .add_parameter("mean_var_update_responsibilities_threshold", "float", "Threshold over the responsibilities of the Gaussians Equations 9.24, 9.25 of Bishop, `Pattern recognition and machine learning`, 2006 require a division by the responsibilities, which might be equal to zero because of numerical issue. This threshold is used to avoid such divisions.")
+
+  .add_parameter("other", ":py:class:`bob.learn.em.MAP_GMMTrainer`", "A MAP_GMMTrainer object to be copied.")
+);
+
+
+static int PyBobLearnEMMAPGMMTrainer_init_copy(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = MAP_GMMTrainer_doc.kwlist(2);
+  PyBobLearnEMMAPGMMTrainerObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMMAPGMMTrainer_Type, &o)){
+    MAP_GMMTrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::MAP_GMMTrainer(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMMAPGMMTrainer_init_base_trainer(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist1 = MAP_GMMTrainer_doc.kwlist(0);
+  char** kwlist2 = MAP_GMMTrainer_doc.kwlist(1);
+  
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  bool reynolds_adaptation   = false;
+  double alpha = 0.5;
+  double relevance_factor = 4.0;
+  double aux = 0;
+
+  PyObject* update_means     = 0;
+  PyObject* update_variances = 0;
+  PyObject* update_weights   = 0;
+  double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon();
+
+  PyObject* keyword_relevance_factor = Py_BuildValue("s", kwlist1[1]);
+  PyObject* keyword_alpha            = Py_BuildValue("s", kwlist2[1]);
+
+  //Here we have to select which keyword argument to read  
+  if (kwargs && PyDict_Contains(kwargs, keyword_relevance_factor) && (PyArg_ParseTupleAndKeywords(args, kwargs, "O!dO!|O!O!d", kwlist1, 
+                                                                      &PyBobLearnEMGMMMachine_Type, &gmm_machine,
+                                                                      &aux,
+                                                                      &PyBool_Type, &update_means, 
+                                                                      &PyBool_Type, &update_variances, 
+                                                                      &PyBool_Type, &update_weights, 
+                                                                      &mean_var_update_responsibilities_threshold)))
+    reynolds_adaptation = true;    
+  else if (kwargs && PyDict_Contains(kwargs, keyword_alpha) && (PyArg_ParseTupleAndKeywords(args, kwargs, "O!dO!|O!O!d", kwlist2, 
+                                                                 &PyBobLearnEMGMMMachine_Type, &gmm_machine,
+                                                                 &aux,
+                                                                 &PyBool_Type, &update_means, 
+                                                                 &PyBool_Type, &update_variances, 
+                                                                 &PyBool_Type, &update_weights, 
+                                                                 &mean_var_update_responsibilities_threshold)))
+    reynolds_adaptation = false;
+  else{
+    PyErr_Format(PyExc_RuntimeError, "%s. The second argument must be a keyword argument.", Py_TYPE(self)->tp_name);
+    MAP_GMMTrainer_doc.print_usage();
+    return -1;
+  }
+
+  if (reynolds_adaptation)
+    relevance_factor = aux;
+  else
+    alpha = aux;
+  
+  
+  self->cxx.reset(new bob::learn::em::MAP_GMMTrainer(f(update_means), f(update_variances), f(update_weights), 
+                                                       mean_var_update_responsibilities_threshold, 
+                                                       reynolds_adaptation,relevance_factor, alpha, gmm_machine->cxx));
+  return 0;
+
+}
+
+
+
+static int PyBobLearnEMMAPGMMTrainer_init(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // If the constructor input is GMMBaseTrainer object
+  if(PyBobLearnEMMAPGMMTrainer_Check(args))
+    return PyBobLearnEMMAPGMMTrainer_init_copy(self, args, kwargs);
+  else{
+    return PyBobLearnEMMAPGMMTrainer_init_base_trainer(self, args, kwargs);
+  }
+
+  BOB_CATCH_MEMBER("cannot create MAP_GMMTrainer", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMMAPGMMTrainer_delete(PyBobLearnEMMAPGMMTrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMMAPGMMTrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMMAPGMMTrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMMAPGMMTrainer_RichCompare(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMMAPGMMTrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMMAPGMMTrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare MAP_GMMTrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** relevance_factor *****/
+static auto relevance_factor = bob::extension::VariableDoc(
+  "relevance_factor",
+  "double",
+  "If set the reynolds_adaptation parameters, will apply the Reynolds Adaptation Factor. See Eq (14) from [Reynolds2000]_",
+  ""
+);
+PyObject* PyBobLearnEMMAPGMMTrainer_getRelevanceFactor(PyBobLearnEMMAPGMMTrainerObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getRelevanceFactor());
+  BOB_CATCH_MEMBER("relevance_factor could not be read", 0)
+}
+int PyBobLearnEMMAPGMMTrainer_setRelevanceFactor(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  
+  if(!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a double", Py_TYPE(self)->tp_name, relevance_factor.name());
+    return -1;
+  }
+  
+  self->cxx->setRelevanceFactor(PyFloat_AS_DOUBLE(value));
+  return 0;
+  BOB_CATCH_MEMBER("relevance_factor could not be set", 0)
+}
+
+
+/***** alpha *****/
+static auto alpha = bob::extension::VariableDoc(
+  "alpha",
+  "double",
+  "Set directly the alpha parameter (Eq (14) from [Reynolds2000]_), ignoring zeroth order statistics as a weighting factor.",
+  ""
+);
+PyObject* PyBobLearnEMMAPGMMTrainer_getAlpha(PyBobLearnEMMAPGMMTrainerObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getAlpha());
+  BOB_CATCH_MEMBER("alpha could not be read", 0)
+}
+int PyBobLearnEMMAPGMMTrainer_setAlpha(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  
+  if(!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a double", Py_TYPE(self)->tp_name, alpha.name());
+    return -1;
+  }
+  
+  self->cxx->setAlpha(PyFloat_AS_DOUBLE(value));
+  return 0;
+  BOB_CATCH_MEMBER("alpha could not be set", 0)
+}
+
+
+
+static PyGetSetDef PyBobLearnEMMAPGMMTrainer_getseters[] = { 
+  {
+    alpha.name(),
+    (getter)PyBobLearnEMMAPGMMTrainer_getAlpha,
+    (setter)PyBobLearnEMMAPGMMTrainer_setAlpha,
+    alpha.doc(),
+    0
+  },
+  {
+    relevance_factor.name(),
+    (getter)PyBobLearnEMMAPGMMTrainer_getRelevanceFactor,
+    (setter)PyBobLearnEMMAPGMMTrainer_setRelevanceFactor,
+    relevance_factor.doc(),
+    0
+  },
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialization before the EM steps",
+  "",
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMMAPGMMTrainer_initialize(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)){
+    PyErr_Format(PyExc_RuntimeError, "%s.%s. Was not possible to read :py:class:`bob.learn.em.GMMMachine`", Py_TYPE(self)->tp_name, initialize.name());
+    Py_RETURN_NONE;
+  }
+  self->cxx->initialize(*gmm_machine->cxx);
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** eStep ***/
+static auto eStep = bob::extension::FunctionDoc(
+  "eStep",
+  "Calculates and saves statistics across the dataset,"
+  "and saves these as m_ss. ",
+
+  "Calculates the average log likelihood of the observations given the GMM,"
+  "and returns this in average_log_likelihood."
+  "The statistics, m_ss, will be used in the mStep() that follows.",
+
+  true
+)
+.add_prototype("gmm_machine,data")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMMAPGMMTrainer_eStep(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = eStep.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  PyBlitzArrayObject* data = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->eStep(*gmm_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+  BOB_CATCH_MEMBER("cannot perform the eStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** mStep ***/
+static auto mStep = bob::extension::FunctionDoc(
+  "mStep",
+
+   "Performs a maximum a posteriori (MAP) update of the GMM:"  
+   "* parameters using the accumulated statistics in :py:class:`bob.learn.em.GMMBaseTrainer.m_ss` and the" 
+   "* parameters of the prior model",
+  "",
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMMAPGMMTrainer_mStep(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = mStep.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)) Py_RETURN_NONE;
+
+  self->cxx->mStep(*gmm_machine->cxx);
+
+  BOB_CATCH_MEMBER("cannot perform the mStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** computeLikelihood ***/
+static auto compute_likelihood = bob::extension::FunctionDoc(
+  "compute_likelihood",
+  "This functions returns the average min (Square Euclidean) distance (average distance to the closest mean)",
+  0,
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMMAPGMMTrainer_compute_likelihood(PyBobLearnEMMAPGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = compute_likelihood.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)) Py_RETURN_NONE;
+
+  double value = self->cxx->computeLikelihood(*gmm_machine->cxx);
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot perform the computeLikelihood method", 0)
+}
+
+
+
+static PyMethodDef PyBobLearnEMMAPGMMTrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMMAPGMMTrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    eStep.name(),
+    (PyCFunction)PyBobLearnEMMAPGMMTrainer_eStep,
+    METH_VARARGS|METH_KEYWORDS,
+    eStep.doc()
+  },
+  {
+    mStep.name(),
+    (PyCFunction)PyBobLearnEMMAPGMMTrainer_mStep,
+    METH_VARARGS|METH_KEYWORDS,
+    mStep.doc()
+  },
+  {
+    compute_likelihood.name(),
+    (PyCFunction)PyBobLearnEMMAPGMMTrainer_compute_likelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_likelihood.doc()
+  },
+
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMMAPGMMTrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMMAPGMMTrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMMAPGMMTrainer_Type.tp_name      = MAP_GMMTrainer_doc.name();
+  PyBobLearnEMMAPGMMTrainer_Type.tp_basicsize = sizeof(PyBobLearnEMMAPGMMTrainerObject);
+  PyBobLearnEMMAPGMMTrainer_Type.tp_flags     = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance
+  PyBobLearnEMMAPGMMTrainer_Type.tp_doc       = MAP_GMMTrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMMAPGMMTrainer_Type.tp_new          = PyType_GenericNew;
+  PyBobLearnEMMAPGMMTrainer_Type.tp_init         = reinterpret_cast<initproc>(PyBobLearnEMMAPGMMTrainer_init);
+  PyBobLearnEMMAPGMMTrainer_Type.tp_dealloc      = reinterpret_cast<destructor>(PyBobLearnEMMAPGMMTrainer_delete);
+  PyBobLearnEMMAPGMMTrainer_Type.tp_richcompare  = reinterpret_cast<richcmpfunc>(PyBobLearnEMMAPGMMTrainer_RichCompare);
+  PyBobLearnEMMAPGMMTrainer_Type.tp_methods      = PyBobLearnEMMAPGMMTrainer_methods;
+  PyBobLearnEMMAPGMMTrainer_Type.tp_getset       = PyBobLearnEMMAPGMMTrainer_getseters;
+  PyBobLearnEMMAPGMMTrainer_Type.tp_call         = reinterpret_cast<ternaryfunc>(PyBobLearnEMMAPGMMTrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMMAPGMMTrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMMAPGMMTrainer_Type);
+  return PyModule_AddObject(module, "_MAP_GMMTrainer", (PyObject*)&PyBobLearnEMMAPGMMTrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/ML_gmm_trainer.cpp b/bob/learn/em/ML_gmm_trainer.cpp
new file mode 100644
index 0000000..51d6ce3
--- /dev/null
+++ b/bob/learn/em/ML_gmm_trainer.cpp
@@ -0,0 +1,335 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Web 22 Jan 16:45:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static inline bool f(PyObject* o){return o != 0 && PyObject_IsTrue(o) > 0;}  /* converts PyObject to bool and returns false if object is NULL */
+
+static auto ML_GMMTrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".ML_GMMTrainer",
+  "This class implements the maximum likelihood M-step of the expectation-maximisation algorithm for a GMM Machine."
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a ML_GMMTrainer",
+    "",
+    true
+  )
+  .add_prototype("update_means, [update_variances], [update_weights], [mean_var_update_responsibilities_threshold]","")
+  .add_prototype("other","")
+  .add_prototype("","")
+
+  .add_parameter("update_means", "bool", "Update means on each iteration")
+  .add_parameter("update_variances", "bool", "Update variances on each iteration")
+  .add_parameter("update_weights", "bool", "Update weights on each iteration")
+  .add_parameter("mean_var_update_responsibilities_threshold", "float", "Threshold over the responsibilities of the Gaussians Equations 9.24, 9.25 of Bishop, `Pattern recognition and machine learning`, 2006 require a division by the responsibilities, which might be equal to zero because of numerical issue. This threshold is used to avoid such divisions.")
+
+
+  .add_parameter("other", ":py:class:`bob.learn.em.ML_GMMTrainer`", "A ML_GMMTrainer object to be copied.")
+);
+
+
+static int PyBobLearnEMMLGMMTrainer_init_copy(PyBobLearnEMMLGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ML_GMMTrainer_doc.kwlist(1);
+  PyBobLearnEMMLGMMTrainerObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMMLGMMTrainer_Type, &o)){
+    ML_GMMTrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ML_GMMTrainer(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMMLGMMTrainer_init_base_trainer(PyBobLearnEMMLGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ML_GMMTrainer_doc.kwlist(0);
+  
+  PyObject* update_means     = 0;
+  PyObject* update_variances = 0;
+  PyObject* update_weights   = 0;
+  double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon();
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!|O!O!d", kwlist, 
+                                   &PyBool_Type, &update_means, 
+                                   &PyBool_Type, &update_variances, 
+                                   &PyBool_Type, &update_weights, 
+                                   &mean_var_update_responsibilities_threshold)){
+    ML_GMMTrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ML_GMMTrainer(f(update_means), f(update_variances), f(update_weights), 
+                                                       mean_var_update_responsibilities_threshold));
+  return 0;
+}
+
+
+
+static int PyBobLearnEMMLGMMTrainer_init(PyBobLearnEMMLGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  //Reading the input argument
+  PyObject* arg = 0;
+  if (PyTuple_Size(args))
+    arg = PyTuple_GET_ITEM(args, 0);
+  else {
+    PyObject* tmp = PyDict_Values(kwargs);
+    auto tmp_ = make_safe(tmp);
+    arg = PyList_GET_ITEM(tmp, 0);
+  }
+
+  // If the constructor input is GMMBaseTrainer object
+  if (PyBobLearnEMMLGMMTrainer_Check(arg))
+    return PyBobLearnEMMLGMMTrainer_init_copy(self, args, kwargs);
+  else
+    return PyBobLearnEMMLGMMTrainer_init_base_trainer(self, args, kwargs);
+
+
+
+  BOB_CATCH_MEMBER("cannot create GMMBaseTrainer_init_bool", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMMLGMMTrainer_delete(PyBobLearnEMMLGMMTrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMMLGMMTrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMMLGMMTrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMMLGMMTrainer_RichCompare(PyBobLearnEMMLGMMTrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMMLGMMTrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMMLGMMTrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare ML_GMMTrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+static PyGetSetDef PyBobLearnEMMLGMMTrainer_getseters[] = { 
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialization before the EM steps",
+  "",
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMMLGMMTrainer_initialize(PyBobLearnEMMLGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)){
+    PyErr_Format(PyExc_RuntimeError, "%s.%s. Was not possible to read :py:class:`bob.learn.em.GMMMachine`", Py_TYPE(self)->tp_name, initialize.name());
+    Py_RETURN_NONE;
+  }
+  self->cxx->initialize(*gmm_machine->cxx);
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** eStep ***/
+static auto eStep = bob::extension::FunctionDoc(
+  "eStep",
+  "Calculates and saves statistics across the dataset,"
+  "and saves these as m_ss. ",
+
+  "Calculates the average log likelihood of the observations given the GMM,"
+  "and returns this in average_log_likelihood."
+  "The statistics, m_ss, will be used in the mStep() that follows.",
+
+  true
+)
+.add_prototype("gmm_machine,data")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMMLGMMTrainer_eStep(PyBobLearnEMMLGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = eStep.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  PyBlitzArrayObject* data = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->eStep(*gmm_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+  BOB_CATCH_MEMBER("cannot perform the eStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** mStep ***/
+static auto mStep = bob::extension::FunctionDoc(
+  "mStep",
+  "Performs a maximum likelihood (ML) update of the GMM parameters "
+  "using the accumulated statistics in :py:class:`bob.learn.em.GMMBaseTrainer.m_ss`",
+
+  "See Section 9.2.2 of Bishop, \"Pattern recognition and machine learning\", 2006",
+
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMMLGMMTrainer_mStep(PyBobLearnEMMLGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = mStep.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)) Py_RETURN_NONE;
+
+  self->cxx->mStep(*gmm_machine->cxx);
+
+  BOB_CATCH_MEMBER("cannot perform the mStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** computeLikelihood ***/
+static auto compute_likelihood = bob::extension::FunctionDoc(
+  "compute_likelihood",
+  "This functions returns the average min (Square Euclidean) distance (average distance to the closest mean)",
+  0,
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMMLGMMTrainer_compute_likelihood(PyBobLearnEMMLGMMTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = compute_likelihood.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)) Py_RETURN_NONE;
+
+  double value = self->cxx->computeLikelihood(*gmm_machine->cxx);
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot perform the computeLikelihood method", 0)
+}
+
+
+
+static PyMethodDef PyBobLearnEMMLGMMTrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMMLGMMTrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    eStep.name(),
+    (PyCFunction)PyBobLearnEMMLGMMTrainer_eStep,
+    METH_VARARGS|METH_KEYWORDS,
+    eStep.doc()
+  },
+  {
+    mStep.name(),
+    (PyCFunction)PyBobLearnEMMLGMMTrainer_mStep,
+    METH_VARARGS|METH_KEYWORDS,
+    mStep.doc()
+  },
+  {
+    compute_likelihood.name(),
+    (PyCFunction)PyBobLearnEMMLGMMTrainer_compute_likelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_likelihood.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMMLGMMTrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMMLGMMTrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMMLGMMTrainer_Type.tp_name      = ML_GMMTrainer_doc.name();
+  PyBobLearnEMMLGMMTrainer_Type.tp_basicsize = sizeof(PyBobLearnEMMLGMMTrainerObject);
+  PyBobLearnEMMLGMMTrainer_Type.tp_flags     = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance
+  PyBobLearnEMMLGMMTrainer_Type.tp_doc       = ML_GMMTrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMMLGMMTrainer_Type.tp_new          = PyType_GenericNew;
+  PyBobLearnEMMLGMMTrainer_Type.tp_init         = reinterpret_cast<initproc>(PyBobLearnEMMLGMMTrainer_init);
+  PyBobLearnEMMLGMMTrainer_Type.tp_dealloc      = reinterpret_cast<destructor>(PyBobLearnEMMLGMMTrainer_delete);
+  PyBobLearnEMMLGMMTrainer_Type.tp_richcompare  = reinterpret_cast<richcmpfunc>(PyBobLearnEMMLGMMTrainer_RichCompare);
+  PyBobLearnEMMLGMMTrainer_Type.tp_methods      = PyBobLearnEMMLGMMTrainer_methods;
+  PyBobLearnEMMLGMMTrainer_Type.tp_getset       = PyBobLearnEMMLGMMTrainer_getseters;
+  PyBobLearnEMMLGMMTrainer_Type.tp_call         = reinterpret_cast<ternaryfunc>(PyBobLearnEMMLGMMTrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMMLGMMTrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMMLGMMTrainer_Type);
+  return PyModule_AddObject(module, "_ML_GMMTrainer", (PyObject*)&PyBobLearnEMMLGMMTrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/__MAP_gmm_trainer__.py b/bob/learn/em/__MAP_gmm_trainer__.py
new file mode 100644
index 0000000..6f4af38
--- /dev/null
+++ b/bob/learn/em/__MAP_gmm_trainer__.py
@@ -0,0 +1,99 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Mon Jan 23 18:31:10 2015
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _MAP_GMMTrainer
+import numpy
+
+# define the class
+class MAP_GMMTrainer(_MAP_GMMTrainer):
+
+  def __init__(self, prior_gmm, update_means=True, update_variances=False, update_weights=False, convergence_threshold=0.001, max_iterations=10, converge_by_likelihood=True, **kwargs):
+    """
+    :py:class:`bob.learn.em.MAP_GMMTrainer` constructor
+
+    Keyword Parameters:
+      update_means
+
+      update_variances
+
+      update_weights
+
+      prior_gmm
+        A :py:class:`bob.learn.em.GMMMachine` to be adapted
+      convergence_threshold
+        Convergence threshold
+      max_iterations
+        Number of maximum iterations
+      converge_by_likelihood
+        Tells whether we compute log_likelihood as a convergence criteria, or not 
+      alpha
+        Set directly the alpha parameter (Eq (14) from [Reynolds2000]_), ignoring zeroth order statistics as a weighting factor.
+      relevance_factor
+        If set the :py:class:`bob.learn.em.MAP_GMMTrainer.reynolds_adaptation` parameters, will apply the Reynolds Adaptation procedure. See Eq (14) from [Reynolds2000]_  
+    """
+
+    if kwargs.get('alpha')!=None:
+      alpha = kwargs.get('alpha')
+      _MAP_GMMTrainer.__init__(self, prior_gmm,alpha=alpha, update_means=update_means, update_variances=update_variances,update_weights=update_weights)
+    else:
+      relevance_factor = kwargs.get('relevance_factor')
+      _MAP_GMMTrainer.__init__(self, prior_gmm, relevance_factor=relevance_factor, update_means=update_means, update_variances=update_variances,update_weights=update_weights)
+    
+    self.convergence_threshold  = convergence_threshold
+    self.max_iterations         = max_iterations
+    self.converge_by_likelihood = converge_by_likelihood
+
+
+ 
+
+
+  def train(self, gmm_machine, data):
+    """
+    Train the :py:class:bob.learn.em.GMMMachine using data
+
+    Keyword Parameters:
+      gmm_machine
+        The :py:class:bob.learn.em.GMMMachine class
+      data
+        The data to be trained
+    """
+
+    #Initialization
+    self.initialize(gmm_machine);
+
+    #Do the Expectation-Maximization algorithm
+    average_output_previous = 0
+    average_output = -numpy.inf;
+
+
+    #eStep
+    self.eStep(gmm_machine, data);
+
+    if(self.converge_by_likelihood):
+      average_output = self.compute_likelihood(gmm_machine);    
+
+    for i in range(self.max_iterations):
+      #saves average output from last iteration
+      average_output_previous = average_output;
+
+      #mStep
+      self.mStep(gmm_machine);
+
+      #eStep
+      self.eStep(gmm_machine, data);
+
+      #Computes log likelihood if required
+      if(self.converge_by_likelihood):
+        average_output = self.compute_likelihood(gmm_machine);
+
+        #Terminates if converged (and likelihood computation is set)
+        if abs((average_output_previous - average_output)/average_output_previous) <= self.convergence_threshold:
+          break
+
+
+# copy the documentation from the base class
+__doc__ = _MAP_GMMTrainer.__doc__
diff --git a/bob/learn/em/__ML_gmm_trainer__.py b/bob/learn/em/__ML_gmm_trainer__.py
new file mode 100644
index 0000000..35ac30c
--- /dev/null
+++ b/bob/learn/em/__ML_gmm_trainer__.py
@@ -0,0 +1,85 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Mon Jan 22 18:29:10 2015
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _ML_GMMTrainer
+import numpy
+
+# define the class
+class ML_GMMTrainer(_ML_GMMTrainer):
+
+  def __init__(self, update_means=True, update_variances=False, update_weights=False, convergence_threshold=0.001, max_iterations=10, converge_by_likelihood=True):
+    """
+    :py:class:bob.learn.em.ML_GMMTrainer constructor
+
+    Keyword Parameters:
+      update_means
+
+      update_variances
+
+      update_weights
+ 
+      convergence_threshold
+        Convergence threshold
+      max_iterations
+        Number of maximum iterations
+      converge_by_likelihood
+        Tells whether we compute log_likelihood as a convergence criteria, or not 
+        
+    """
+
+    _ML_GMMTrainer.__init__(self, update_means=update_means, update_variances=update_variances, update_weights=update_weights)
+    self.convergence_threshold  = convergence_threshold
+    self.max_iterations         = max_iterations
+    self.converge_by_likelihood = converge_by_likelihood
+
+
+  def train(self, gmm_machine, data):
+    """
+    Train the :py:class:bob.learn.em.GMMMachine using data
+
+    Keyword Parameters:
+      gmm_machine
+        The :py:class:bob.learn.em.GMMMachine class
+      data
+        The data to be trained
+    """
+
+    #Initialization
+    self.initialize(gmm_machine);
+
+    #Do the Expectation-Maximization algorithm
+    average_output_previous = 0
+    average_output = -numpy.inf;
+
+
+    #eStep
+    self.eStep(gmm_machine, data);
+
+    if(self.converge_by_likelihood):
+      average_output = self.compute_likelihood(gmm_machine);    
+
+    for i in range(self.max_iterations):
+      #saves average output from last iteration
+      average_output_previous = average_output;
+
+      #mStep
+      self.mStep(gmm_machine);
+
+      #eStep
+      self.eStep(gmm_machine, data);
+
+      #Computes log likelihood if required
+      if(self.converge_by_likelihood):
+        average_output = self.compute_likelihood(gmm_machine);
+
+        #Terminates if converged (and likelihood computation is set)
+        if abs((average_output_previous - average_output)/average_output_previous) <= self.convergence_threshold:
+          break
+
+
+# copy the documentation from the base class
+__doc__ = _ML_GMMTrainer.__doc__
diff --git a/bob/learn/em/__empca_trainer__.py b/bob/learn/em/__empca_trainer__.py
new file mode 100644
index 0000000..d710dc8
--- /dev/null
+++ b/bob/learn/em/__empca_trainer__.py
@@ -0,0 +1,77 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Wed Fev 04 13:35:10 2015 +0200
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _EMPCATrainer
+import numpy
+
+# define the class
+class EMPCATrainer (_EMPCATrainer):
+
+  def __init__(self, convergence_threshold=0.001, max_iterations=10, compute_likelihood=True):
+    """
+    :py:class:`bob.learn.em.EMPCATrainer` constructor
+
+    Keyword Parameters:
+      convergence_threshold
+        Convergence threshold
+      max_iterations
+        Number of maximum iterations
+      compute_likelihood
+        
+    """
+
+    _EMPCATrainer.__init__(self,convergence_threshold)
+    self._max_iterations        = max_iterations
+    self._compute_likelihood    = compute_likelihood
+
+
+  def train(self, linear_machine, data):
+    """
+    Train the :py:class:bob.learn.em.LinearMachine using data
+
+    Keyword Parameters:
+      linear_machine
+        The :py:class:bob.learn.em.LinearMachine class
+      data
+        The data to be trained
+    """
+
+    #Initialization
+    self.initialize(linear_machine, data);
+      
+    #Do the Expectation-Maximization algorithm
+    average_output_previous = 0
+    average_output = -numpy.inf;
+
+    #eStep
+    self.eStep(linear_machine, data);
+
+    if(self._compute_likelihood):
+      average_output = self.compute_likelihood(linear_machine);
+    
+    for i in range(self._max_iterations):
+
+      #saves average output from last iteration
+      average_output_previous = average_output;
+
+      #mStep
+      self.mStep(linear_machine);
+
+      #eStep
+      self.eStep(linear_machine, data);
+
+      #Computes log likelihood if required
+      if(self._compute_likelihood):
+        average_output = self.compute_likelihood(linear_machine);
+
+        #Terminates if converged (and likelihood computation is set)
+        if abs((average_output_previous - average_output)/average_output_previous) <= self._convergence_threshold:
+          break
+
+
+# copy the documentation from the base class
+__doc__ = _EMPCATrainer.__doc__
diff --git a/bob/learn/em/__init__.py b/bob/learn/em/__init__.py
new file mode 100644
index 0000000..dbe487b
--- /dev/null
+++ b/bob/learn/em/__init__.py
@@ -0,0 +1,58 @@
+# import Libraries of other lib packages
+import bob.io.base
+import bob.math
+import bob.learn.linear
+
+# import our own Library
+import bob.extension
+bob.extension.load_bob_library('bob.learn.em', __file__)
+
+#from ._old_library import *
+from ._library import *
+from . import version
+from .version import module as __version__
+from .__kmeans_trainer__ import *
+from .__ML_gmm_trainer__ import *
+from .__MAP_gmm_trainer__ import *
+from .__jfa_trainer__ import *
+from .__isv_trainer__ import *
+from .__ivector_trainer__ import *
+from .__plda_trainer__ import *
+
+
+def ztnorm_same_value(vect_a, vect_b):
+  """Computes the matrix of boolean D for the ZT-norm, which indicates where
+     the client ids of the T-Norm models and Z-Norm samples match.
+
+     vect_a An (ordered) list of client_id corresponding to the T-Norm models
+     vect_b An (ordered) list of client_id corresponding to the Z-Norm impostor samples
+  """
+  import numpy
+  sameMatrix = numpy.ndarray((len(vect_a), len(vect_b)), 'bool')
+  for j in range(len(vect_a)):
+    for i in range(len(vect_b)):
+      sameMatrix[j, i] = (vect_a[j] == vect_b[i])
+  return sameMatrix
+
+
+def get_config():
+  """Returns a string containing the configuration information.
+  """
+
+  import pkg_resources
+  from .version import externals
+
+  packages = pkg_resources.require(__name__)
+  this = packages[0]
+  deps = packages[1:]
+
+  retval =  "%s: %s (%s)\n" % (this.key, this.version, this.location)
+  retval += "  - c/c++ dependencies:\n"
+  for k in sorted(externals): retval += "    - %s: %s\n" % (k, externals[k])
+  retval += "  - python dependencies:\n"
+  for d in deps: retval += "    - %s: %s (%s)\n" % (d.key, d.version, d.location)
+
+  return retval.strip()
+
+# gets sphinx autodoc done right - don't remove it
+__all__ = [_ for _ in dir() if not _.startswith('_')]
diff --git a/bob/learn/em/__isv_trainer__.py b/bob/learn/em/__isv_trainer__.py
new file mode 100644
index 0000000..9f4b84f
--- /dev/null
+++ b/bob/learn/em/__isv_trainer__.py
@@ -0,0 +1,49 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Mon Fev 02 21:40:10 2015 +0200
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _ISVTrainer
+import numpy
+
+# define the class
+class ISVTrainer (_ISVTrainer):
+
+  def __init__(self, max_iterations=10, relevance_factor=4.):
+    """
+    :py:class:`bob.learn.em.ISVTrainer` constructor
+
+    Keyword Parameters:
+      max_iterations
+        Number of maximum iterations
+    """
+    _ISVTrainer.__init__(self, relevance_factor)
+    self._max_iterations         = max_iterations
+
+
+  def train(self, isv_base, data):
+    """
+    Train the :py:class:`bob.learn.em.ISVBase` using data
+
+    Keyword Parameters:
+      jfa_base
+        The `:py:class:bob.learn.em.ISVBase` class
+      data
+        The data to be trained
+    """
+
+    #Initialization
+    self.initialize(isv_base, data);
+      
+    for i in range(self._max_iterations):
+      #eStep
+      self.eStep(isv_base, data);
+      #mStep
+      self.mStep(isv_base);
+
+
+
+# copy the documentation from the base class
+__doc__ = _ISVTrainer.__doc__
diff --git a/bob/learn/em/__ivector_trainer__.py b/bob/learn/em/__ivector_trainer__.py
new file mode 100644
index 0000000..b31e0ed
--- /dev/null
+++ b/bob/learn/em/__ivector_trainer__.py
@@ -0,0 +1,51 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Tue Fev 03 13:20:10 2015 +0200
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _IVectorTrainer
+import numpy
+
+# define the class
+class IVectorTrainer (_IVectorTrainer):
+
+  def __init__(self, max_iterations=10, update_sigma=False):
+    """
+    :py:class:`bob.learn.em.IVectorTrainer` constructor
+
+    Keyword Parameters:
+      max_iterations
+        Number of maximum iterations
+      update_sigma
+        
+    """
+    _IVectorTrainer.__init__(self, update_sigma)
+    self._max_iterations         = max_iterations
+
+
+  def train(self, ivector_machine, data):
+    """
+    Train the :py:class:`bob.learn.em.IVectorMachine` using data
+
+    Keyword Parameters:
+      ivector_machine
+        The `:py:class:bob.learn.em.IVectorMachine` class
+      data
+        The data to be trained
+    """
+
+    #Initialization
+    self.initialize(ivector_machine, data);
+      
+    for i in range(self._max_iterations):
+      #eStep
+      self.eStep(ivector_machine, data);
+      #mStep
+      self.mStep(ivector_machine);
+
+
+
+# copy the documentation from the base class
+__doc__ = _IVectorTrainer.__doc__
diff --git a/bob/learn/em/__jfa_trainer__.py b/bob/learn/em/__jfa_trainer__.py
new file mode 100644
index 0000000..2d8ccec
--- /dev/null
+++ b/bob/learn/em/__jfa_trainer__.py
@@ -0,0 +1,71 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Sun Fev 01 21:10:10 2015 +0200
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _JFATrainer
+import numpy
+
+# define the class
+class JFATrainer (_JFATrainer):
+
+  def __init__(self, max_iterations=10):
+    """
+    :py:class:`bob.learn.em.JFATrainer` constructor
+
+    Keyword Parameters:
+      max_iterations
+        Number of maximum iterations
+    """
+
+    _JFATrainer.__init__(self)
+    self._max_iterations         = max_iterations
+
+
+  def train_loop(self, jfa_base, data):
+    """
+    Train the :py:class:`bob.learn.em.JFABase` using data
+
+    Keyword Parameters:
+      jfa_base
+        The `:py:class:bob.learn.em.JFABase` class
+      data
+        The data to be trained
+    """
+    #V Subspace
+    for i in range(self._max_iterations):
+      self.e_step1(jfa_base, data)
+      self.m_step1(jfa_base, data)
+    self.finalize1(jfa_base, data)
+
+    #U subspace
+    for i in range(self._max_iterations):
+      self.e_step2(jfa_base, data)
+      self.m_step2(jfa_base, data)
+    self.finalize2(jfa_base, data)
+
+    # d subspace
+    for i in range(self._max_iterations):
+      self.e_step3(jfa_base, data)
+      self.m_step3(jfa_base, data)
+    self.finalize3(jfa_base, data)
+
+
+  def train(self, jfa_base, data):
+    """
+    Train the :py:class:`bob.learn.em.JFABase` using data
+
+    Keyword Parameters:
+      jfa_base
+        The `:py:class:bob.learn.em.JFABase` class
+      data
+        The data to be trained
+    """
+    self.initialize(jfa_base, data)
+    self.train_loop(jfa_base, data)
+
+
+# copy the documentation from the base class
+__doc__ = _JFATrainer.__doc__
diff --git a/bob/learn/em/__kmeans_trainer__.py b/bob/learn/em/__kmeans_trainer__.py
new file mode 100644
index 0000000..b7ef48e
--- /dev/null
+++ b/bob/learn/em/__kmeans_trainer__.py
@@ -0,0 +1,81 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Mon Jan 19 11:35:10 2015 +0200
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _KMeansTrainer
+import numpy
+
+# define the class
+class KMeansTrainer (_KMeansTrainer):
+
+  def __init__(self, initialization_method="RANDOM", convergence_threshold=0.001, max_iterations=10, converge_by_average_min_distance=True):
+    """
+    :py:class:`bob.learn.em.KMeansTrainer` constructor
+
+    Keyword Parameters:
+      initialization_method
+        The initialization method to generate the initial means
+      convergence_threshold
+        Convergence threshold
+      max_iterations
+        Number of maximum iterations
+      converge_by_average_min_distance
+        Tells whether we compute the average min (square Euclidean) distance, as a convergence criteria, or not 
+        
+    """
+
+    _KMeansTrainer.__init__(self, initialization_method="RANDOM", )
+    self._convergence_threshold = convergence_threshold
+    self._max_iterations         = max_iterations
+    self._converge_by_average_min_distance = converge_by_average_min_distance
+
+
+  def train(self, kmeans_machine, data):
+    """
+    Train the :py:class:bob.learn.em.KMeansMachine using data
+
+    Keyword Parameters:
+      kmeans_machine
+        The :py:class:bob.learn.em.KMeansMachine class
+      data
+        The data to be trained
+    """
+
+    #Initialization
+    self.initialize(kmeans_machine, data);
+      
+    #Do the Expectation-Maximization algorithm
+    average_output_previous = 0
+    average_output = -numpy.inf;
+
+    #eStep
+    self.eStep(kmeans_machine, data);
+
+    if(self._converge_by_average_min_distance):
+      average_output = self.compute_likelihood(kmeans_machine);
+    
+    for i in range(self._max_iterations):
+
+      #saves average output from last iteration
+      average_output_previous = average_output;
+
+      #mStep
+      self.mStep(kmeans_machine);
+
+      #eStep
+      self.eStep(kmeans_machine, data);
+
+      #Computes log likelihood if required
+      if(self._converge_by_average_min_distance):
+        average_output = self.compute_likelihood(kmeans_machine);
+
+        #Terminates if converged (and likelihood computation is set)
+        if abs((average_output_previous - average_output)/average_output_previous) <= self._convergence_threshold:
+          break
+
+
+# copy the documentation from the base class
+__doc__ = _KMeansTrainer.__doc__
diff --git a/bob/learn/em/__plda_trainer__.py b/bob/learn/em/__plda_trainer__.py
new file mode 100644
index 0000000..3989b8d
--- /dev/null
+++ b/bob/learn/em/__plda_trainer__.py
@@ -0,0 +1,50 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+# Mon Fev 02 21:40:10 2015 +0200
+#
+# Copyright (C) 2011-2015 Idiap Research Institute, Martigny, Switzerland
+
+from ._library import _PLDATrainer
+import numpy
+
+# define the class
+class PLDATrainer (_PLDATrainer):
+
+  def __init__(self, max_iterations=10, use_sum_second_order=False):
+    """
+    :py:class:`bob.learn.em.PLDATrainer` constructor
+
+    Keyword Parameters:
+      max_iterations
+        Number of maximum iterations
+    """
+    _PLDATrainer.__init__(self, use_sum_second_order)
+    self._max_iterations         = max_iterations
+
+
+  def train(self, plda_base, data):
+    """
+    Train the :py:class:`bob.learn.em.PLDABase` using data
+
+    Keyword Parameters:
+      jfa_base
+        The `:py:class:bob.learn.em.PLDABase` class
+      data
+        The data to be trained
+    """
+
+    #Initialization
+    self.initialize(plda_base, data);
+      
+    for i in range(self._max_iterations):
+      #eStep
+      self.e_step(plda_base, data);
+      #mStep
+      self.m_step(plda_base, data);
+    self.finalize(plda_base, data);
+
+
+
+# copy the documentation from the base class
+__doc__ = _PLDATrainer.__doc__
diff --git a/bob/learn/em/cpp/BICMachine.cpp b/bob/learn/em/cpp/BICMachine.cpp
new file mode 100644
index 0000000..4abe724
--- /dev/null
+++ b/bob/learn/em/cpp/BICMachine.cpp
@@ -0,0 +1,348 @@
+/**
+ * @date Tue Jun  5 16:54:27 CEST 2012
+ * @author Manuel Guenther <Manuel.Guenther@idiap.ch>
+ *
+ * A machine that implements the liner projection of input to the output using
+ * weights, biases and sums:
+ * output = sum(inputs * weights) + bias
+ * It is possible to setup the machine to previously normalize the input taking
+ * into consideration some input bias and division factor. It is also possible
+ * to set it up to have an activation function.
+ * A linear classifier. See C. M. Bishop, "Pattern Recognition and Machine
+ * Learning", chapter 4
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/BICMachine.h>
+#include <bob.math/linear.h>
+#include <bob.core/assert.h>
+#include <bob.core/check.h>
+
+/**
+ * Initializes an empty BIC Machine
+ *
+ * @param use_DFFS  Add the Distance From Feature Space during score computation?
+ */
+bob::learn::em::BICMachine::BICMachine(bool use_DFFS)
+:
+  m_project_data(use_DFFS),
+  m_use_DFFS(use_DFFS)
+{}
+
+/**
+ * Assigns the other BICMachine to this, i.e., makes a deep copy of the given machine.
+ *
+ * @param  other  The other BICMachine to get a shallow copy of
+ * @return a reference to *this
+ */
+bob::learn::em::BICMachine::BICMachine(const BICMachine& other)
+:
+  m_project_data(other.m_project_data),
+  m_use_DFFS(other.m_use_DFFS)
+{
+  if (m_project_data){
+    setBIC(false, other.m_mu_I, other.m_lambda_I, other.m_Phi_I, other.m_rho_I, true);
+    setBIC(true , other.m_mu_E, other.m_lambda_E, other.m_Phi_E, other.m_rho_E, true);
+  } else {
+    setIEC(false, other.m_mu_I, other.m_lambda_I, true);
+    setIEC(true , other.m_mu_E, other.m_lambda_E, true);
+  }
+}
+
+/**
+ * Assigns the other BICMachine to this, i.e., makes a deep copy of the given BICMachine
+ *
+ * @param  other  The other BICMachine to get a deep copy of
+ * @return a reference to *this
+ */
+bob::learn::em::BICMachine& bob::learn::em::BICMachine::operator=(const BICMachine& other)
+{
+  if (this != &other)
+  {
+    if (other.m_project_data){
+      m_use_DFFS = other.m_use_DFFS;
+      setBIC(false, other.m_mu_I, other.m_lambda_I, other.m_Phi_I, other.m_rho_I, true);
+      setBIC(true , other.m_mu_E, other.m_lambda_E, other.m_Phi_E, other.m_rho_E, true);
+    } else {
+      m_use_DFFS = false;
+      setIEC(false, other.m_mu_I, other.m_lambda_I, true);
+      setIEC(true , other.m_mu_E, other.m_lambda_E, true);
+    }
+  }
+  return *this;
+}
+
+/**
+ * Compares if this machine and the given one are identical
+ *
+ * @param  other  The BICMachine to compare with
+ * @return true if both machines are identical, i.e., have exactly the same parameters, otherwise false
+ */
+bool bob::learn::em::BICMachine::operator==(const BICMachine& other) const
+{
+  return (m_project_data == other.m_project_data &&
+          (!m_project_data || m_use_DFFS == other.m_use_DFFS) &&
+          bob::core::array::isEqual(m_mu_I, other.m_mu_I) &&
+          bob::core::array::isEqual(m_mu_E, other.m_mu_E) &&
+          bob::core::array::isEqual(m_lambda_I, other.m_lambda_I) &&
+          bob::core::array::isEqual(m_lambda_E, other.m_lambda_E) &&
+          (!m_project_data ||
+              (bob::core::array::isEqual(m_Phi_I, other.m_Phi_I) &&
+               bob::core::array::isEqual(m_Phi_E, other.m_Phi_E) &&
+               (!m_use_DFFS || (m_rho_I == other.m_rho_I && m_rho_E == other.m_rho_E)))));
+}
+
+/**
+ * Checks if this machine and the given one are different
+ *
+ * @param  other  The BICMachine to compare with
+ * @return false if both machines are identical, i.e., have exactly the same parameters, otherwise true
+ */
+bool bob::learn::em::BICMachine::operator!=(const BICMachine& other) const
+{
+  return !(this->operator==(other));
+}
+
+/**
+ * Compares the given machine with this for similarity
+ *
+ * @param  other  The BICMachine to compare with
+ * @param  r_epsilon  The largest value any parameter might relatively differ between the two machines
+ * @param  a_epsilon  The largest value any parameter might absolutely differ between the two machines
+
+ * @return true if both machines are approximately equal, otherwise false
+ */
+bool bob::learn::em::BICMachine::is_similar_to(const BICMachine& other,
+  const double r_epsilon, const double a_epsilon) const
+{
+  if (m_project_data){
+    // compare data
+    if (not bob::core::array::hasSameShape(m_Phi_I, other.m_Phi_I)) return false;
+    if (not bob::core::array::hasSameShape(m_Phi_E, other.m_Phi_E)) return false;
+    // check that the projection matrices are close,
+    // but allow that eigen vectors might have opposite directions
+    // (i.e., they are either identical -> difference is 0, or opposite -> sum is zero)
+    for (int i = m_Phi_I.extent(1); i--;){
+      const blitz::Array<double,1>& sub1 = m_Phi_I(blitz::Range::all(), i);
+      const blitz::Array<double,1>& sub2 = other.m_Phi_I(blitz::Range::all(), i);
+      blitz::Array<double,1> sub2_negative(-sub2);
+      if (!bob::core::array::isClose(sub1, sub2, r_epsilon, a_epsilon) && !bob::core::array::isClose(sub1, sub2_negative, r_epsilon, a_epsilon)) return false;
+    }
+    for (int i = m_Phi_E.shape()[1]; i--;){
+      const blitz::Array<double,1>& sub1 = m_Phi_E(blitz::Range::all(), i);
+      const blitz::Array<double,1>& sub2 = other.m_Phi_E(blitz::Range::all(), i);
+      blitz::Array<double,1> sub2_negative(-sub2);
+      if (!bob::core::array::isClose(sub1, sub2, r_epsilon, a_epsilon) && !bob::core::array::isClose(sub1, sub2_negative, r_epsilon, a_epsilon)) return false;
+    }
+  }
+
+  return (m_project_data == other.m_project_data &&
+          (!m_project_data || m_use_DFFS == other.m_use_DFFS) &&
+          bob::core::array::isClose(m_mu_I, other.m_mu_I, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_mu_E, other.m_mu_E, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_lambda_I, other.m_lambda_I, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_lambda_E, other.m_lambda_E, r_epsilon, a_epsilon) &&
+          (!m_project_data ||
+               (!m_use_DFFS || (bob::core::isClose(m_rho_I, other.m_rho_I, r_epsilon, a_epsilon) &&
+                                bob::core::isClose(m_rho_E, other.m_rho_E, r_epsilon, a_epsilon)))));
+}
+
+
+
+void bob::learn::em::BICMachine::initialize(bool clazz, int input_length, int projected_length){
+  blitz::Array<double,1>& diff = clazz ? m_diff_E : m_diff_I;
+  blitz::Array<double,1>& proj = clazz ? m_proj_E : m_proj_I;
+  diff.resize(input_length);
+  proj.resize(projected_length);
+}
+
+/**
+ * Sets the parameters of the given class that are required for computing the IEC scores (Guenther, Wuertz)
+ *
+ * @param  clazz   false for the intrapersonal class, true for the extrapersonal one.
+ * @param  mean    The mean vector of the training data
+ * @param  variances  The variances of the training data
+ * @param  copy_data  If true, makes a deep copy of the matrices, otherwise it just references it (the default)
+ */
+void bob::learn::em::BICMachine::setIEC(
+    bool clazz,
+    const blitz::Array<double,1>& mean,
+    const blitz::Array<double,1>& variances,
+    bool copy_data
+){
+  m_project_data = false;
+  // select the right matrices to write
+  blitz::Array<double,1>& mu = clazz ? m_mu_E : m_mu_I;
+  blitz::Array<double,1>& lambda = clazz ? m_lambda_E : m_lambda_I;
+
+  // copy mean and variances
+  if (copy_data){
+    mu.resize(mean.shape());
+    mu = mean;
+    lambda.resize(variances.shape());
+    lambda = variances;
+  } else {
+    mu.reference(mean);
+    lambda.reference(variances);
+  }
+}
+
+/**
+ * Sets the parameters of the given class that are required for computing the BIC scores (Teixeira)
+ *
+ * @param  clazz   false for the intrapersonal class, true for the extrapersonal one.
+ * @param  mean    The mean vector of the training data
+ * @param  variances  The eigenvalues of the training data
+ * @param  projection  The PCA projection matrix
+ * @param  rho     The residual eigenvalues, used for DFFS calculation
+ * @param  copy_data  If true, makes a deep copy of the matrices, otherwise it just references it (the default)
+ */
+void bob::learn::em::BICMachine::setBIC(
+    bool clazz,
+    const blitz::Array<double,1>& mean,
+    const blitz::Array<double,1>& variances,
+    const blitz::Array<double,2>& projection,
+    const double rho,
+    bool copy_data
+){
+  m_project_data = true;
+  // select the right matrices to write
+  blitz::Array<double,1>& mu = clazz ? m_mu_E : m_mu_I;
+  blitz::Array<double,1>& lambda = clazz ? m_lambda_E : m_lambda_I;
+  blitz::Array<double,2>& Phi = clazz ? m_Phi_E : m_Phi_I;
+  double& rho_ = clazz ? m_rho_E : m_rho_I;
+
+  // copy information
+  if (copy_data){
+    mu.resize(mean.shape());
+    mu = mean;
+    lambda.resize(variances.shape());
+    lambda = variances;
+    Phi.resize(projection.shape());
+    Phi = projection;
+  } else {
+    mu.reference(mean);
+    lambda.reference(variances);
+    Phi.reference(projection);
+  }
+  rho_ = rho;
+
+  // check that rho has a reasonable value (if it is used)
+  if (m_use_DFFS && rho_ < 1e-12) throw std::runtime_error("The given average eigenvalue (rho) is too close to zero");
+
+  // initialize temporaries
+  initialize(clazz, Phi.shape()[0], Phi.shape()[1]);
+}
+
+/**
+ * Set or unset the usage of the Distance From Feature Space
+ *
+ * @param use_DFFS The new value of use_DFFS
+ */
+void bob::learn::em::BICMachine::use_DFFS(bool use_DFFS){
+  m_use_DFFS = use_DFFS;
+  if (m_project_data && m_use_DFFS && (m_rho_E < 1e-12 || m_rho_I < 1e-12)) std::runtime_error("The average eigenvalue (rho) is too close to zero, so using DFFS will not work");
+}
+
+/**
+ * Loads the BICMachine from the given hdf5 file.
+ *
+ * @param  config  The hdf5 file containing the required information.
+ */
+void bob::learn::em::BICMachine::load(bob::io::base::HDF5File& config){
+  //reads all data directly into the member variables
+  m_project_data = config.read<bool>("project_data");
+  m_mu_I.reference(config.readArray<double,1>("intra_mean"));
+  m_lambda_I.reference(config.readArray<double,1>("intra_variance"));
+  if (m_project_data){
+    m_use_DFFS = config.read<bool>("use_DFFS");
+    m_Phi_I.reference(config.readArray<double,2>("intra_subspace"));
+    initialize(false, m_Phi_I.shape()[0], m_Phi_I.shape()[1]);
+    m_rho_I = config.read<double>("intra_rho");
+  }
+
+  m_mu_E.reference(config.readArray<double,1>("extra_mean"));
+  m_lambda_E.reference(config.readArray<double,1>("extra_variance"));
+  if (m_project_data){
+    m_Phi_E.reference(config.readArray<double,2>("extra_subspace"));
+    initialize(true, m_Phi_E.shape()[0], m_Phi_E.shape()[1]);
+    m_rho_E = config.read<double>("extra_rho");
+  }
+  // check that rho has reasonable values
+  if (m_project_data && m_use_DFFS && (m_rho_E < 1e-12 || m_rho_I < 1e-12)) throw std::runtime_error("The loaded average eigenvalue (rho) is too close to zero");
+
+}
+
+/**
+ * Saves the parameters of the BICMachine to the given hdf5 file.
+ *
+ * @param  config  The hdf5 file to write the configuration into.
+ */
+void bob::learn::em::BICMachine::save(bob::io::base::HDF5File& config) const{
+  config.set("project_data", m_project_data);
+  config.setArray("intra_mean", m_mu_I);
+  config.setArray("intra_variance", m_lambda_I);
+  if (m_project_data){
+    config.set("use_DFFS", m_use_DFFS);
+    config.setArray("intra_subspace", m_Phi_I);
+    config.set("intra_rho", m_rho_I);
+  }
+
+  config.setArray("extra_mean", m_mu_E);
+  config.setArray("extra_variance", m_lambda_E);
+  if (m_project_data){
+    config.setArray("extra_subspace", m_Phi_E);
+    config.set("extra_rho", m_rho_E);
+  }
+}
+
+/**
+ * Computes the BIC or IEC score for the given input vector.
+ * The score itself is the log-likelihood score of the given input vector belonging to the intrapersonal class.
+ * No sanity checks of input and output are performed.
+ *
+ * @param  input  A vector (of difference values) to compute the BIC or IEC score for.
+ * @param  output The one-element array that will contain the score afterwards.
+ */
+void bob::learn::em::BICMachine::forward_(const blitz::Array<double,1>& input, double& output) const{
+  if (m_project_data){
+    // subtract mean
+    m_diff_I = input - m_mu_I;
+    m_diff_E = input - m_mu_E;
+    // project data to intrapersonal and extrapersonal subspace
+    bob::math::prod(m_diff_I, m_Phi_I, m_proj_I);
+    bob::math::prod(m_diff_E, m_Phi_E, m_proj_E);
+
+    // compute Mahalanobis distance
+    output = blitz::sum(blitz::pow2(m_proj_E) / m_lambda_E) - blitz::sum(blitz::pow2(m_proj_I) / m_lambda_I);
+
+    // add the DFFS?
+    if (m_use_DFFS){
+      output += blitz::sum(blitz::pow2(m_diff_E) - blitz::pow2(m_proj_E)) / m_rho_E;
+      output -= blitz::sum(blitz::pow2(m_diff_I) - blitz::pow2(m_proj_I)) / m_rho_I;
+    }
+    output /= (m_proj_E.extent(0) + m_proj_I.extent(0));
+  } else {
+    // forward without projection
+    output = blitz::mean( blitz::pow2(input - m_mu_E) / m_lambda_E
+                        - blitz::pow2(input - m_mu_I) / m_lambda_I);
+  }
+}
+
+/**
+ * Computes the BIC or IEC score for the given input vector.
+ * The score itself is the log-likelihood score of the given input vector belonging to the intrapersonal class.
+ * Sanity checks of input and output shape are performed.
+ *
+ * @param  input  A vector (of difference values) to compute the BIC or IEC score for.
+ * @param  output The one-element array that will contain the score afterwards.
+ */
+void bob::learn::em::BICMachine::forward(const blitz::Array<double,1>& input, double& output) const{
+  // perform some checks
+  bob::core::array::assertSameShape(input, m_mu_E);
+
+  // call the actual method
+  forward_(input, output);
+}
+
diff --git a/bob/learn/em/cpp/BICTrainer.cpp b/bob/learn/em/cpp/BICTrainer.cpp
new file mode 100644
index 0000000..16d0726
--- /dev/null
+++ b/bob/learn/em/cpp/BICTrainer.cpp
@@ -0,0 +1,94 @@
+/**
+ * @date Wed Jun  6 10:29:09 CEST 2012
+ * @author Manuel Guenther <Manuel.Guenther@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/BICTrainer.h>
+#include <bob.learn.linear/pca.h>
+#include <bob.learn.linear/machine.h>
+
+static double sqr(const double& x){
+  return x*x;
+}
+
+/**
+ * This function trains one of the classes of the given machine with the given data.
+ * It computes either BIC projection matrices, or IEC mean and variance.
+ *
+ * @param  clazz    false for the intrapersonal class, true for the extrapersonal one.
+ * @param  machine  The machine to be trained.
+ * @param  differences  A set of (intra/extra)-personal difference vectors that should be trained.
+ */
+void bob::learn::em::BICTrainer::train_single(bool clazz, bob::learn::em::BICMachine& machine, const blitz::Array<double,2>& differences) const {
+  int subspace_dim = clazz ? m_M_E : m_M_I;
+  int input_dim = differences.extent(1);
+  int data_count = differences.extent(0);
+  blitz::Range a = blitz::Range::all();
+
+  if (subspace_dim){
+    // train the class using BIC
+
+    // Compute PCA on the given dataset
+    bob::learn::linear::PCATrainer trainer;
+    const int n_eigs = trainer.output_size(differences);
+    bob::learn::linear::Machine pca(input_dim, n_eigs);
+    blitz::Array<double,1> variances(n_eigs);
+    trainer.train(pca, variances, differences);
+
+    // compute rho
+    double rho = 0.;
+    int non_zero_eigenvalues = std::min(input_dim, data_count-1);
+    // assert that the number of kept eigenvalues is not chosen to big
+    if (subspace_dim >= non_zero_eigenvalues)
+      throw std::runtime_error((boost::format("The chosen subspace dimension %d is larger than the theoretical number of nonzero eigenvalues %d")%subspace_dim%non_zero_eigenvalues).str());
+    // compute the average of the reminding eigenvalues
+    for (int i = subspace_dim; i < non_zero_eigenvalues; ++i){
+      rho += variances(i);
+    }
+    rho /= non_zero_eigenvalues - subspace_dim;
+
+    // limit dimensionalities
+    pca.resize(input_dim, subspace_dim);
+    variances.resizeAndPreserve(subspace_dim);
+
+    // check that all variances are meaningful
+    for (int i = 0; i < subspace_dim; ++i){
+      if (variances(i) < 1e-12)
+        throw std::runtime_error((boost::format("The chosen subspace dimension is %d, but the %dth eigenvalue is already to small")%subspace_dim%i).str());
+    }
+
+    // initialize the machine
+    blitz::Array<double, 2> projection = pca.getWeights();
+    blitz::Array<double, 1> mean = pca.getInputSubtraction();
+    machine.setBIC(clazz, mean, variances, projection, rho);
+  } else {
+    // train the class using IEC
+    // => compute mean and variance only
+    blitz::Array<double,1> mean(input_dim), variance(input_dim);
+
+    // compute mean and variance
+    mean = 0.;
+    variance = 0.;
+    for (int n = data_count; n--;){
+      const blitz::Array<double,1>& diff = differences(n,a);
+      assert(diff.shape()[0] == input_dim);
+      for (int i = input_dim; i--;){
+        mean(i) += diff(i);
+        variance(i) += sqr(diff(i));
+      }
+    }
+    // normalize mean and variances
+    for (int i = 0; i < input_dim; ++i){
+      // intrapersonal
+      variance(i) = (variance(i) - sqr(mean(i)) / data_count) / (data_count - 1.);
+      mean(i) /= data_count;
+      if (variance(i) < 1e-12)
+        throw std::runtime_error((boost::format("The variance of the %dth dimension is too small. Check your data!")%i).str());
+    }
+
+    // set the results to the machine
+    machine.setIEC(clazz, mean, variance);
+  }
+}
diff --git a/bob/learn/em/cpp/EMPCATrainer.cpp b/bob/learn/em/cpp/EMPCATrainer.cpp
new file mode 100644
index 0000000..c27a010
--- /dev/null
+++ b/bob/learn/em/cpp/EMPCATrainer.cpp
@@ -0,0 +1,418 @@
+/**
+ * @date Tue Oct 11 12:18:23 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <vector>
+#include <algorithm>
+#include <boost/random.hpp>
+#include <cmath>
+
+#include <bob.learn.em/EMPCATrainer.h>
+#include <bob.core/array_copy.h>
+#include <bob.core/check.h>
+#include <bob.math/linear.h>
+#include <bob.math/det.h>
+#include <bob.math/inv.h>
+#include <bob.math/stats.h>
+
+bob::learn::em::EMPCATrainer::EMPCATrainer(bool compute_likelihood):
+  m_compute_likelihood(compute_likelihood),
+  m_rng(new boost::mt19937()),
+  m_S(0,0),
+  m_z_first_order(0,0), m_z_second_order(0,0,0),
+  m_inW(0,0), m_invM(0,0), m_sigma2(0), m_f_log2pi(0),
+  m_tmp_dxf(0,0), m_tmp_d(0), m_tmp_f(0),
+  m_tmp_dxd_1(0,0), m_tmp_dxd_2(0,0),
+  m_tmp_fxd_1(0,0), m_tmp_fxd_2(0,0),
+  m_tmp_fxf_1(0,0), m_tmp_fxf_2(0,0)
+{
+}
+
+bob::learn::em::EMPCATrainer::EMPCATrainer(const bob::learn::em::EMPCATrainer& other):
+  m_compute_likelihood(other.m_compute_likelihood),
+  m_rng(other.m_rng),
+  m_S(bob::core::array::ccopy(other.m_S)),
+  m_z_first_order(bob::core::array::ccopy(other.m_z_first_order)),
+  m_z_second_order(bob::core::array::ccopy(other.m_z_second_order)),
+  m_inW(bob::core::array::ccopy(other.m_inW)),
+  m_invM(bob::core::array::ccopy(other.m_invM)),
+  m_sigma2(other.m_sigma2), m_f_log2pi(other.m_f_log2pi),
+  m_tmp_dxf(bob::core::array::ccopy(other.m_tmp_dxf)),
+  m_tmp_d(bob::core::array::ccopy(other.m_tmp_d)),
+  m_tmp_f(bob::core::array::ccopy(other.m_tmp_f)),
+  m_tmp_dxd_1(bob::core::array::ccopy(other.m_tmp_dxd_1)),
+  m_tmp_dxd_2(bob::core::array::ccopy(other.m_tmp_dxd_2)),
+  m_tmp_fxd_1(bob::core::array::ccopy(other.m_tmp_fxd_1)),
+  m_tmp_fxd_2(bob::core::array::ccopy(other.m_tmp_fxd_2)),
+  m_tmp_fxf_1(bob::core::array::ccopy(other.m_tmp_fxf_1)),
+  m_tmp_fxf_2(bob::core::array::ccopy(other.m_tmp_fxf_2))
+{
+}
+
+bob::learn::em::EMPCATrainer::~EMPCATrainer()
+{
+}
+
+bob::learn::em::EMPCATrainer& bob::learn::em::EMPCATrainer::operator=
+  (const bob::learn::em::EMPCATrainer& other)
+{
+  if (this != &other)
+  {
+    m_rng                   = other.m_rng;
+	m_compute_likelihood    = other.m_compute_likelihood;
+    m_S = bob::core::array::ccopy(other.m_S);
+    m_z_first_order = bob::core::array::ccopy(other.m_z_first_order);
+    m_z_second_order = bob::core::array::ccopy(other.m_z_second_order);
+    m_inW = bob::core::array::ccopy(other.m_inW);
+    m_invM = bob::core::array::ccopy(other.m_invM);
+    m_sigma2 = other.m_sigma2;
+    m_f_log2pi = other.m_f_log2pi;
+    m_tmp_dxf = bob::core::array::ccopy(other.m_tmp_dxf);
+    m_tmp_d = bob::core::array::ccopy(other.m_tmp_d);
+    m_tmp_f = bob::core::array::ccopy(other.m_tmp_f);
+    m_tmp_dxd_1 = bob::core::array::ccopy(other.m_tmp_dxd_1);
+    m_tmp_dxd_2 = bob::core::array::ccopy(other.m_tmp_dxd_2);
+    m_tmp_fxd_1 = bob::core::array::ccopy(other.m_tmp_fxd_1);
+    m_tmp_fxd_2 = bob::core::array::ccopy(other.m_tmp_fxd_2);
+    m_tmp_fxf_1 = bob::core::array::ccopy(other.m_tmp_fxf_1);
+    m_tmp_fxf_2 = bob::core::array::ccopy(other.m_tmp_fxf_2);
+  }
+  return *this;
+}
+
+bool bob::learn::em::EMPCATrainer::operator==
+  (const bob::learn::em::EMPCATrainer &other) const
+{
+  return m_compute_likelihood == other.m_compute_likelihood &&
+        m_rng                   == other.m_rng &&
+        bob::core::array::isEqual(m_S, other.m_S) &&
+        bob::core::array::isEqual(m_z_first_order, other.m_z_first_order) &&
+        bob::core::array::isEqual(m_z_second_order, other.m_z_second_order) &&
+        bob::core::array::isEqual(m_inW, other.m_inW) &&
+        bob::core::array::isEqual(m_invM, other.m_invM) &&
+        m_sigma2 == other.m_sigma2 &&
+        m_f_log2pi == other.m_f_log2pi;
+}
+
+bool bob::learn::em::EMPCATrainer::operator!=
+  (const bob::learn::em::EMPCATrainer &other) const
+{
+  return !(this->operator==(other));
+}
+
+bool bob::learn::em::EMPCATrainer::is_similar_to
+  (const bob::learn::em::EMPCATrainer &other, const double r_epsilon,
+   const double a_epsilon) const
+{
+  return m_compute_likelihood == other.m_compute_likelihood &&
+         m_rng                == other.m_rng &&
+         bob::core::array::isClose(m_S, other.m_S, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_z_first_order, other.m_z_first_order, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_z_second_order, other.m_z_second_order, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_inW, other.m_inW, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_invM, other.m_invM, r_epsilon, a_epsilon) &&
+         bob::core::isClose(m_sigma2, other.m_sigma2, r_epsilon, a_epsilon) &&
+         bob::core::isClose(m_f_log2pi, other.m_f_log2pi, r_epsilon, a_epsilon);
+}
+
+void bob::learn::em::EMPCATrainer::initialize(bob::learn::linear::Machine& machine,
+  const blitz::Array<double,2>& ar)
+{
+  // reinitializes array members and checks dimensionality
+  initMembers(machine, ar);
+
+  // computes the mean and the covariance if required
+  computeMeanVariance(machine, ar);
+
+  // Random initialization of W and sigma2
+  initRandomWSigma2(machine);
+
+  // Computes the product m_inW = W^T.W
+  computeWtW(machine);
+  // Computes inverse(M), where M = Wt * W + sigma2 * Id
+  computeInvM();
+}
+
+
+void bob::learn::em::EMPCATrainer::initMembers(
+  const bob::learn::linear::Machine& machine,
+  const blitz::Array<double,2>& ar)
+{
+  // Gets dimensions
+  const size_t n_samples = ar.extent(0);
+  const size_t n_features = ar.extent(1);
+
+  // Checks that the dimensions are matching
+  const size_t n_inputs = machine.inputSize();
+  const size_t n_outputs = machine.outputSize();
+
+  // Checks that the dimensions are matching
+  if (n_inputs != n_features) {
+    boost::format m("number of inputs (%u) does not match the number of features (%u)");
+    m % n_inputs % n_features;
+    throw std::runtime_error(m.str());
+  }
+
+  // Covariance matrix S is only required to compute the log likelihood
+  if (m_compute_likelihood)
+    m_S.resize(n_features,n_features);
+  else
+    m_S.resize(0,0);
+  m_z_first_order.resize(n_samples, n_outputs);
+  m_z_second_order.resize(n_samples, n_outputs, n_outputs);
+  m_inW.resize(n_outputs, n_outputs);
+  m_invM.resize(n_outputs, n_outputs);
+  m_sigma2 = 0.;
+  m_f_log2pi = n_features * log(2*M_PI);
+
+  // Cache
+  m_tmp_dxf.resize(n_outputs, n_features);
+  m_tmp_d.resize(n_outputs);
+  m_tmp_f.resize(n_features);
+  m_tmp_dxd_1.resize(n_outputs, n_outputs);
+  m_tmp_dxd_2.resize(n_outputs, n_outputs);
+  m_tmp_fxd_1.resize(n_features, n_outputs);
+  m_tmp_fxd_2.resize(n_features, n_outputs);
+  // The following large cache matrices are only required to compute the
+  // log likelihood.
+  if (m_compute_likelihood)
+  {
+    m_tmp_fxf_1.resize(n_features, n_features);
+    m_tmp_fxf_2.resize(n_features, n_features);
+  }
+  else
+  {
+    m_tmp_fxf_1.resize(0,0);
+    m_tmp_fxf_2.resize(0,0);
+  }
+}
+
+void bob::learn::em::EMPCATrainer::computeMeanVariance(bob::learn::linear::Machine& machine,
+  const blitz::Array<double,2>& ar)
+{
+  size_t n_samples = ar.extent(0);
+  blitz::Array<double,1> mu = machine.updateInputSubtraction();
+  blitz::Range all = blitz::Range::all();
+  if (m_compute_likelihood)
+  {
+    // Mean and scatter computation
+    bob::math::scatter(ar, m_S, mu);
+    // divides scatter by N-1
+    m_S /= static_cast<double>(n_samples-1);
+  }
+  else
+  {
+    // computes the mean and updates mu
+    mu = 0.;
+    for (size_t i=0; i<n_samples; ++i)
+      mu += ar(i,all);
+    mu /= static_cast<double>(n_samples);
+  }
+}
+
+void bob::learn::em::EMPCATrainer::initRandomWSigma2(bob::learn::linear::Machine& machine)
+{
+  // Initializes the random number generator
+  boost::uniform_01<> range01;
+  boost::variate_generator<boost::mt19937&, boost::uniform_01<> > die(*m_rng, range01);
+
+  // W initialization (TODO: add method in core)
+  blitz::Array<double,2> W = machine.updateWeights();
+  double ratio = 2.; /// Follows matlab implementation using a ratio of 2
+  for (int i=0; i<W.extent(0); ++i)
+    for (int j=0; j<W.extent(1); ++j)
+      W(i,j) = die() * ratio;
+  // sigma2 initialization
+  m_sigma2 = die() * ratio;
+}
+
+void bob::learn::em::EMPCATrainer::computeWtW(bob::learn::linear::Machine& machine)
+{
+  const blitz::Array<double,2> W = machine.getWeights();
+  const blitz::Array<double,2> Wt = W.transpose(1,0);
+  bob::math::prod(Wt, W, m_inW);
+}
+
+void bob::learn::em::EMPCATrainer::computeInvM()
+{
+  // Compute inverse(M), where M = W^T * W + sigma2 * Id
+  bob::math::eye(m_tmp_dxd_1); // m_tmp_dxd_1 = Id
+  m_tmp_dxd_1 *= m_sigma2; // m_tmp_dxd_1 = sigma2 * Id
+  m_tmp_dxd_1 += m_inW; // m_tmp_dxd_1 = M = W^T * W + sigma2 * Id
+  bob::math::inv(m_tmp_dxd_1, m_invM); // m_invM = inv(M)
+}
+
+
+
+void bob::learn::em::EMPCATrainer::eStep(bob::learn::linear::Machine& machine, const blitz::Array<double,2>& ar)
+{
+  // Gets mu and W from the machine
+  const blitz::Array<double,1>& mu = machine.getInputSubtraction();
+  const blitz::Array<double,2>& W = machine.getWeights();
+  const blitz::Array<double,2> Wt = W.transpose(1,0); // W^T
+
+  // Computes the statistics
+  blitz::Range a = blitz::Range::all();
+  for(int i=0; i<ar.extent(0); ++i)
+  {
+    /// 1/ First order statistics: \f$z_first_order_i = inv(M) W^T (t - \mu)\f$
+    // m_tmp_f = t (sample) - mu (normalized sample)
+    m_tmp_f = ar(i,a) - mu;
+    // m_tmp_dxf = inv(M) * W^T
+    bob::math::prod(m_invM, Wt, m_tmp_dxf);
+    blitz::Array<double,1> z_first_order_i = m_z_first_order(i,blitz::Range::all());
+    // z_first_order_i = inv(M) * W^T * (t - mu)
+    bob::math::prod(m_tmp_dxf, m_tmp_f, z_first_order_i);
+
+    /// 2/ Second order statistics:
+    ///     z_second_order_i = sigma2 * inv(M) + z_first_order_i * z_first_order_i^T
+    blitz::Array<double,2> z_second_order_i = m_z_second_order(i,blitz::Range::all(),blitz::Range::all());
+    // m_tmp_dxd = z_first_order_i * z_first_order_i^T
+    bob::math::prod(z_first_order_i, z_first_order_i, m_tmp_dxd_1); // outer product
+    // z_second_order_i = sigma2 * inv(M)
+    z_second_order_i = m_invM;
+    z_second_order_i *= m_sigma2;
+    // z_second_order_i = sigma2 * inv(M) + z_first_order_i * z_first_order_i^T
+    z_second_order_i += m_tmp_dxd_1;
+  }
+}
+
+void bob::learn::em::EMPCATrainer::mStep(bob::learn::linear::Machine& machine, const blitz::Array<double,2>& ar)
+{
+  // 1/ New estimate of W
+  updateW(machine, ar);
+
+  // 2/ New estimate of sigma2
+  updateSigma2(machine, ar);
+
+  // Computes the new value of inverse(M), where M = Wt * W + sigma2 * Id
+  computeInvM();
+}
+
+void bob::learn::em::EMPCATrainer::updateW(bob::learn::linear::Machine& machine, const blitz::Array<double,2>& ar) {
+  // Get the mean mu and the projection matrix W
+  const blitz::Array<double,1>& mu = machine.getInputSubtraction();
+  blitz::Array<double,2>& W = machine.updateWeights();
+  const blitz::Array<double,2> Wt = W.transpose(1,0); // W^T
+
+  // Compute W = sum{ (t_{i} - mu) z_first_order_i^T} * inv( sum{z_second_order_i} )
+  m_tmp_fxd_1 = 0.;
+  m_tmp_dxd_1 = 0.;
+  blitz::Range a = blitz::Range::all();
+  for(int i=0; i<ar.extent(0); ++i)
+  {
+    // m_tmp_f = t (sample) - mu (normalized sample)
+    m_tmp_f = ar(i,a) - mu;
+    // first order statistics of sample i
+    blitz::Array<double,1> z_first_order_i = m_z_first_order(i,blitz::Range::all());
+    // m_tmp_fxd_2 = (t - mu)*z_first_order_i
+    bob::math::prod(m_tmp_f, z_first_order_i, m_tmp_fxd_2);
+    m_tmp_fxd_1 += m_tmp_fxd_2;
+
+    // second order statistics of sample i
+    blitz::Array<double,2> z_second_order_i = m_z_second_order(i,blitz::Range::all(),blitz::Range::all());
+    m_tmp_dxd_1 += z_second_order_i;
+  }
+
+  // m_tmp_dxd_2 = inv( sum(E(x_i.x_i^T)) )
+  bob::math::inv(m_tmp_dxd_1, m_tmp_dxd_2);
+  // New estimates of W
+  bob::math::prod(m_tmp_fxd_1, m_tmp_dxd_2, W);
+  // Updates W'*W as well
+  bob::math::prod(Wt, W, m_inW);
+}
+
+void bob::learn::em::EMPCATrainer::updateSigma2(bob::learn::linear::Machine& machine, const blitz::Array<double,2>& ar) {
+  // Get the mean mu and the projection matrix W
+  const blitz::Array<double,1>& mu = machine.getInputSubtraction();
+  const blitz::Array<double,2>& W = machine.getWeights();
+  const blitz::Array<double,2> Wt = W.transpose(1,0); // W^T
+
+  m_sigma2 = 0.;
+  blitz::Range a = blitz::Range::all();
+  for(int i=0; i<ar.extent(0); ++i)
+  {
+    // a. sigma2 += || t - mu ||^2
+    // m_tmp_f = t (sample) - mu (normalized sample)
+    m_tmp_f = ar(i,a) - mu;
+    // sigma2 += || t - mu ||^2
+    m_sigma2 += blitz::sum(blitz::pow2(m_tmp_f));
+
+    // b. sigma2 -= 2*E(x_i)^T*W^T*(t - mu)
+    // m_tmp_d = W^T*(t - mu)
+    bob::math::prod(Wt, m_tmp_f, m_tmp_d);
+    // first order of i
+    blitz::Array<double,1> z_first_order_i = m_z_first_order(i,blitz::Range::all());
+    // sigma2 -= 2*E(x_i)^T*W^T*(t - mu)
+    m_sigma2 -= 2*bob::math::dot(z_first_order_i, m_tmp_d);
+
+    // c. sigma2 += trace( E(x_i.x_i^T)*W^T*W )
+    // second order of i
+    blitz::Array<double,2> z_second_order_i = m_z_second_order(i,blitz::Range::all(),blitz::Range::all());
+    // m_tmp_dxd_1 = E(x_i.x_i^T)*W^T*W
+    bob::math::prod(z_second_order_i, m_inW, m_tmp_dxd_1);
+    // sigma2 += trace( E(x_i.x_i^T)*W^T*W )
+    m_sigma2 += bob::math::trace(m_tmp_dxd_1);
+  }
+  // Normalization factor
+  m_sigma2 /= (static_cast<double>(ar.extent(0)) * mu.extent(0));
+}
+
+double bob::learn::em::EMPCATrainer::computeLikelihood(bob::learn::linear::Machine& machine)
+{
+  // Get W projection matrix
+  const blitz::Array<double,2>& W = machine.getWeights();
+  const blitz::Array<double,2> Wt = W.transpose(1,0); // W^T
+  const size_t n_features = m_S.extent(0);
+
+  // 1/ Compute det(C), where C = sigma2.I + W.W^T
+  //            det(C) = det(sigma2 * C / sigma2) = det(sigma2 * Id) * det(C / sigma2)
+  //    We are using Sylvester's determinant theorem to compute a dxd
+  //    determinant rather than a fxf one: det(I + A.B) = det(I + B.A)
+  //            det(C) = sigma2^n_features * det(I + W.W^T/sigma2)
+  //                   = sigma2^n_features * det(I + W^T.W/sigma2) (cf. Bishop Appendix C)
+  // detC = det( eye(n_features) * sigma2 )
+
+  // detC = sigma2^n_features
+  double detC = pow(m_sigma2, n_features);
+  // m_tmp_dxd_1 = Id
+  bob::math::eye(m_tmp_dxd_1);
+  // m_tmp_dxd_2 = W^T.W
+  bob::math::prod(Wt, W, m_tmp_dxd_2);
+  // m_tmp_dxd_2 = W^T.W / sigma2
+  m_tmp_dxd_2 /= m_sigma2;
+  // m_tmp_dxd_1 = Id + W^T.W / sigma2
+  m_tmp_dxd_1 += m_tmp_dxd_2;
+  // detC = sigma2^n_features * det(I + W^T.W/sigma2)
+  detC *= bob::math::det(m_tmp_dxd_1);
+
+  // 2/ Compute inv(C), where C = sigma2.I + W.W^T
+  //    We are using the following identity (Property C.7 of Bishop's book)
+  //      (A + B.D^-1.C)^-1 = A^-1 - A^-1.B(D+C.A^-1.B)^-1.C.A^-1
+  //    Hence, inv(C) = sigma2^-1 .(I - W.M^-1.W^T)
+
+  // Compute inverse(M), where M = Wt * W + sigma2 * Id
+  computeInvM();
+  // m_tmp_fxf_1 = I = eye(n_features)
+  bob::math::eye(m_tmp_fxf_1);
+  // m_tmp_fxd_1 = W * inv(M)
+  bob::math::prod(W, m_invM, m_tmp_fxd_1);
+  // m_tmp_fxf_2 = (W * inv(M) * Wt)
+  bob::math::prod(m_tmp_fxd_1, Wt, m_tmp_fxf_2);
+  // m_tmp_fxd_1 = inv(C) = (I - W.M^-1.W^T) / sigma2
+  m_tmp_fxf_1 -= m_tmp_fxf_2;
+  m_tmp_fxf_1 /= m_sigma2;
+
+  // 3/ Compute inv(C).S
+  bob::math::prod(m_tmp_fxf_1, m_S, m_tmp_fxf_2);
+
+  // 4/ Use previous values to compute the log likelihood:
+  // Log likelihood =  - N/2*{ d*ln(2*PI) + ln |detC| + tr(C^-1.S) }
+  double llh = - static_cast<double>(m_z_first_order.extent(0)) / 2. *
+    ( m_f_log2pi + log(fabs(detC)) + bob::math::trace(m_tmp_fxf_2) );
+
+  return llh;
+}
diff --git a/bob/learn/em/cpp/FABase.cpp b/bob/learn/em/cpp/FABase.cpp
new file mode 100644
index 0000000..317a368
--- /dev/null
+++ b/bob/learn/em/cpp/FABase.cpp
@@ -0,0 +1,307 @@
+/**
+ * @date Tue Jan 27 15:51:15 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+
+#include <bob.learn.em/FABase.h>
+#include <bob.core/array_copy.h>
+#include <bob.math/linear.h>
+#include <bob.math/inv.h>
+#include <limits>
+
+
+//////////////////// FABase ////////////////////
+bob::learn::em::FABase::FABase():
+  m_ubm(boost::shared_ptr<bob::learn::em::GMMMachine>()), m_ru(1), m_rv(1),
+  m_U(0,1), m_V(0,1), m_d(0)
+{}
+
+bob::learn::em::FABase::FABase(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm,
+    const size_t ru, const size_t rv):
+  m_ubm(ubm), m_ru(ru), m_rv(rv),
+  m_U(getSupervectorLength(),ru), m_V(getSupervectorLength(),rv), m_d(getSupervectorLength())
+{
+  if (ru < 1) {
+    boost::format m("value for parameter `ru' (%lu) cannot be smaller than 1");
+    m % ru;
+    throw std::runtime_error(m.str());
+  }
+  if (rv < 1) {
+    boost::format m("value for parameter `rv' (%lu) cannot be smaller than 1");
+    m % ru;
+    throw std::runtime_error(m.str());
+  }
+  updateCache();
+}
+
+bob::learn::em::FABase::FABase(const bob::learn::em::FABase& other):
+  m_ubm(other.m_ubm), m_ru(other.m_ru), m_rv(other.m_rv),
+  m_U(bob::core::array::ccopy(other.m_U)),
+  m_V(bob::core::array::ccopy(other.m_V)),
+  m_d(bob::core::array::ccopy(other.m_d))
+{
+  updateCache();
+}
+
+bob::learn::em::FABase::~FABase() {
+}
+
+bob::learn::em::FABase& bob::learn::em::FABase::operator=
+(const bob::learn::em::FABase& other)
+{
+  if (this != &other)
+  {
+    m_ubm = other.m_ubm;
+    m_ru = other.m_ru;
+    m_rv = other.m_rv;
+    m_U.reference(bob::core::array::ccopy(other.m_U));
+    m_V.reference(bob::core::array::ccopy(other.m_V));
+    m_d.reference(bob::core::array::ccopy(other.m_d));
+
+    updateCache();
+  }
+  return *this;
+}
+
+bool bob::learn::em::FABase::operator==(const bob::learn::em::FABase& b) const
+{
+  return ( (((m_ubm && b.m_ubm) && *m_ubm == *(b.m_ubm)) || (!m_ubm && !b.m_ubm)) &&
+          m_ru == b.m_ru && m_rv == b.m_rv &&
+          bob::core::array::isEqual(m_U, b.m_U) &&
+          bob::core::array::isEqual(m_V, b.m_V) &&
+          bob::core::array::isEqual(m_d, b.m_d));
+}
+
+bool bob::learn::em::FABase::operator!=(const bob::learn::em::FABase& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::FABase::is_similar_to(const bob::learn::em::FABase& b,
+    const double r_epsilon, const double a_epsilon) const
+{
+  // TODO: update is_similar_to of the GMMMachine with the 2 epsilon's
+  return (( ((m_ubm && b.m_ubm) && m_ubm->is_similar_to(*(b.m_ubm), a_epsilon)) ||
+            (!m_ubm && !b.m_ubm) ) &&
+          m_ru == b.m_ru && m_rv == b.m_rv &&
+          bob::core::array::isClose(m_U, b.m_U, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_V, b.m_V, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_d, b.m_d, r_epsilon, a_epsilon));
+}
+
+void bob::learn::em::FABase::resize(const size_t ru, const size_t rv)
+{
+  if (ru < 1) {
+    boost::format m("value for parameter `ru' (%lu) cannot be smaller than 1");
+    m % ru;
+    throw std::runtime_error(m.str());
+  }
+  if (rv < 1) {
+    boost::format m("value for parameter `rv' (%lu) cannot be smaller than 1");
+    m % ru;
+    throw std::runtime_error(m.str());
+  }
+
+  m_ru = ru;
+  m_rv = rv;
+  m_U.resizeAndPreserve(m_U.extent(0), ru);
+  m_V.resizeAndPreserve(m_V.extent(0), rv);
+
+  updateCacheUbmUVD();
+}
+
+void bob::learn::em::FABase::resize(const size_t ru, const size_t rv, const size_t cd)
+{
+  if (ru < 1) {
+    boost::format m("value for parameter `ru' (%lu) cannot be smaller than 1");
+    m % ru;
+    throw std::runtime_error(m.str());
+  }
+  if (rv < 1) {
+    boost::format m("value for parameter `rv' (%lu) cannot be smaller than 1");
+    m % ru;
+    throw std::runtime_error(m.str());
+  }
+
+  if (!m_ubm || (m_ubm && getSupervectorLength() == cd))
+  {
+    m_ru = ru;
+    m_rv = rv;
+    m_U.resizeAndPreserve(cd, ru);
+    m_V.resizeAndPreserve(cd, rv);
+    m_d.resizeAndPreserve(cd);
+
+    updateCacheUbmUVD();
+  }
+  else {
+    boost::format m("value for parameter `cd' (%lu) is not set to %lu");
+    m % cd % getSupervectorLength();
+    throw std::runtime_error(m.str());
+  }
+}
+
+void bob::learn::em::FABase::setUbm(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm)
+{
+  m_ubm = ubm;
+  m_U.resizeAndPreserve(getSupervectorLength(), m_ru);
+  m_V.resizeAndPreserve(getSupervectorLength(), m_rv);
+  m_d.resizeAndPreserve(getSupervectorLength());
+
+  updateCache();
+}
+
+void bob::learn::em::FABase::setU(const blitz::Array<double,2>& U)
+{
+  if(U.extent(0) != m_U.extent(0)) { //checks dimension
+    boost::format m("number of rows in parameter `U' (%d) does not match the expected size (%d)");
+    m % U.extent(0) % m_U.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  if(U.extent(1) != m_U.extent(1)) { //checks dimension
+    boost::format m("number of columns in parameter `U' (%d) does not match the expected size (%d)");
+    m % U.extent(1) % m_U.extent(1);
+    throw std::runtime_error(m.str());
+  }
+  m_U.reference(bob::core::array::ccopy(U));
+
+  // update cache
+  updateCacheUbmUVD();
+}
+
+void bob::learn::em::FABase::setV(const blitz::Array<double,2>& V)
+{
+  if(V.extent(0) != m_V.extent(0)) { //checks dimension
+    boost::format m("number of rows in parameter `V' (%d) does not match the expected size (%d)");
+    m % V.extent(0) % m_V.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  if(V.extent(1) != m_V.extent(1)) { //checks dimension
+    boost::format m("number of columns in parameter `V' (%d) does not match the expected size (%d)");
+    m % V.extent(1) % m_V.extent(1);
+    throw std::runtime_error(m.str());
+  }
+  m_V.reference(bob::core::array::ccopy(V));
+}
+
+void bob::learn::em::FABase::setD(const blitz::Array<double,1>& d)
+{
+  if(d.extent(0) != m_d.extent(0)) { //checks dimension
+    boost::format m("size of input vector `d' (%d) does not match the expected size (%d)");
+    m % d.extent(0) % m_d.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  m_d.reference(bob::core::array::ccopy(d));
+}
+
+
+void bob::learn::em::FABase::updateCache()
+{
+  updateCacheUbm();
+  updateCacheUbmUVD();
+  resizeTmp();
+}
+
+void bob::learn::em::FABase::resizeTmp()
+{
+  m_tmp_IdPlusUSProdInv.resize(getDimRu(),getDimRu());
+  m_tmp_Fn_x.resize(getSupervectorLength());
+  m_tmp_ru.resize(getDimRu());
+  m_tmp_ruD.resize(getDimRu(), getNInputs());
+  m_tmp_ruru.resize(getDimRu(), getDimRu());
+}
+
+void bob::learn::em::FABase::updateCacheUbm()
+{
+  // Put supervectors in cache
+  if (m_ubm)
+  {
+    m_cache_mean.resize(getSupervectorLength());
+    m_cache_sigma.resize(getSupervectorLength());
+    m_cache_mean  = m_ubm->getMeanSupervector();
+    m_cache_sigma = m_ubm->getVarianceSupervector();
+  }
+}
+
+void bob::learn::em::FABase::updateCacheUbmUVD()
+{
+  // Compute and put  U^{T}.diag(sigma)^{-1} in cache
+  if (m_ubm)
+  {
+    blitz::firstIndex i;
+    blitz::secondIndex j;
+    m_cache_UtSigmaInv.resize(getDimRu(), getSupervectorLength());
+    m_cache_UtSigmaInv = m_U(j,i) / m_cache_sigma(j); // Ut * diag(sigma)^-1
+  }
+}
+
+void bob::learn::em::FABase::computeIdPlusUSProdInv(const bob::learn::em::GMMStats& gmm_stats,
+  blitz::Array<double,2>& output) const
+{
+  // Computes (Id + U^T.Sigma^-1.U.N_{i,h}.U)^-1 =
+  // (Id + sum_{c=1..C} N_{i,h}.U_{c}^T.Sigma_{c}^-1.U_{c})^-1
+
+  // Blitz compatibility: ugly fix (const_cast, as old blitz version does not
+  // provide a non-const version of transpose())
+  blitz::Array<double,2> Ut = const_cast<blitz::Array<double,2>&>(m_U).transpose(1,0);
+
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  blitz::Range rall = blitz::Range::all();
+
+  bob::math::eye(m_tmp_ruru); // m_tmp_ruru = Id
+  // Loop and add N_{i,h}.U_{c}^T.Sigma_{c}^-1.U_{c} to m_tmp_ruru at each iteration
+  const size_t dim_c = getNGaussians();
+  const size_t dim_d = getNInputs();
+  for(size_t c=0; c<dim_c; ++c) {
+    blitz::Range rc(c*dim_d,(c+1)*dim_d-1);
+    blitz::Array<double,2> Ut_c = Ut(rall,rc);
+    blitz::Array<double,1> sigma_c = m_cache_sigma(rc);
+    m_tmp_ruD = Ut_c(i,j) / sigma_c(j); // U_{c}^T.Sigma_{c}^-1
+    blitz::Array<double,2> U_c = m_U(rc,rall);
+    // Use m_cache_IdPlusUSProdInv as an intermediate array
+    bob::math::prod(m_tmp_ruD, U_c, output); // U_{c}^T.Sigma_{c}^-1.U_{c}
+    // Finally, add N_{i,h}.U_{c}^T.Sigma_{c}^-1.U_{c} to m_tmp_ruru
+    m_tmp_ruru += output * gmm_stats.n(c);
+  }
+  // Computes the inverse
+  bob::math::inv(m_tmp_ruru, output);
+}
+
+
+void bob::learn::em::FABase::computeFn_x(const bob::learn::em::GMMStats& gmm_stats,
+  blitz::Array<double,1>& output) const
+{
+  // Compute Fn_x = sum_{sessions h}(N*(o - m) (Normalised first order statistics)
+  blitz::Range rall = blitz::Range::all();
+  const size_t dim_c = getNGaussians();
+  const size_t dim_d = getNInputs();
+  for(size_t c=0; c<dim_c; ++c) {
+    blitz::Range rc(c*dim_d,(c+1)*dim_d-1);
+    blitz::Array<double,1> Fn_x_c = output(rc);
+    blitz::Array<double,1> mean_c = m_cache_mean(rc);
+    Fn_x_c = gmm_stats.sumPx(c,rall) - mean_c*gmm_stats.n(c);
+  }
+}
+
+void bob::learn::em::FABase::estimateX(const blitz::Array<double,2>& IdPlusUSProdInv,
+  const blitz::Array<double,1>& Fn_x, blitz::Array<double,1>& x) const
+{
+  // m_tmp_ru = UtSigmaInv * Fn_x = Ut*diag(sigma)^-1 * N*(o - m)
+  bob::math::prod(m_cache_UtSigmaInv, Fn_x, m_tmp_ru);
+  // x = IdPlusUSProdInv * m_cache_UtSigmaInv * Fn_x
+  bob::math::prod(IdPlusUSProdInv, m_tmp_ru, x);
+}
+
+
+void bob::learn::em::FABase::estimateX(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& x) const
+{
+  if (!m_ubm) throw std::runtime_error("No UBM was set in the JFA machine.");
+  computeIdPlusUSProdInv(gmm_stats, m_tmp_IdPlusUSProdInv); // Computes first term
+  computeFn_x(gmm_stats, m_tmp_Fn_x); // Computes last term
+  estimateX(m_tmp_IdPlusUSProdInv, m_tmp_Fn_x, x); // Estimates the value of x
+}
+
diff --git a/bob/learn/em/cpp/FABaseTrainer.cpp b/bob/learn/em/cpp/FABaseTrainer.cpp
new file mode 100644
index 0000000..09e4a4b
--- /dev/null
+++ b/bob/learn/em/cpp/FABaseTrainer.cpp
@@ -0,0 +1,547 @@
+/**
+ * @date Sat Jan 31 17:16:17 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief FABaseTrainer functions
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/FABaseTrainer.h>
+#include <bob.core/check.h>
+#include <bob.core/array_copy.h>
+#include <bob.core/array_random.h>
+#include <bob.math/inv.h>
+#include <bob.math/linear.h>
+#include <bob.core/check.h>
+#include <bob.core/array_repmat.h>
+#include <algorithm>
+
+
+bob::learn::em::FABaseTrainer::FABaseTrainer():
+  m_Nid(0), m_dim_C(0), m_dim_D(0), m_dim_ru(0), m_dim_rv(0),
+  m_x(0), m_y(0), m_z(0), m_Nacc(0), m_Facc(0)
+{
+}
+
+bob::learn::em::FABaseTrainer::FABaseTrainer(const bob::learn::em::FABaseTrainer& other)
+{
+}
+
+bob::learn::em::FABaseTrainer::~FABaseTrainer()
+{
+}
+
+void bob::learn::em::FABaseTrainer::checkStatistics(
+  const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  for (size_t id=0; id<stats.size(); ++id) {
+    for (size_t s=0; s<stats[id].size(); ++s) {
+      if (stats[id][s]->sumPx.extent(0) != (int)m_dim_C) {
+        boost::format m("GMMStats C dimension parameter = %d is different than the expected value of %d");
+        m % stats[id][s]->sumPx.extent(0) % (int)m_dim_C;
+        throw std::runtime_error(m.str());
+      }
+      if (stats[id][s]->sumPx.extent(1) != (int)m_dim_D) {
+        boost::format m("GMMStats D dimension parameter = %d is different than the expected value of %d");
+        m % stats[id][s]->sumPx.extent(1) % (int)m_dim_D;
+        throw std::runtime_error(m.str());
+      }
+    }
+  }
+}
+
+
+void bob::learn::em::FABaseTrainer::initUbmNidSumStatistics(
+  const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  m_Nid = stats.size();
+  boost::shared_ptr<bob::learn::em::GMMMachine> ubm = m.getUbm();
+  // Put UBM in cache
+  m_dim_C = ubm->getNGaussians();
+  m_dim_D = ubm->getNInputs();
+  m_dim_ru = m.getDimRu();
+  m_dim_rv = m.getDimRv();
+  // Check statistics dimensionality
+  checkStatistics(m, stats);
+  // Precomputes the sum of the statistics for each client/identity
+  precomputeSumStatisticsN(stats);
+  precomputeSumStatisticsF(stats);
+  // Cache and working arrays
+  initCache();
+}
+
+void bob::learn::em::FABaseTrainer::precomputeSumStatisticsN(
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  m_Nacc.clear();
+  blitz::Array<double,1> Nsum(m_dim_C);
+  for (size_t id=0; id<stats.size(); ++id) {
+    Nsum = 0.;
+    for (size_t s=0; s<stats[id].size(); ++s) {
+      Nsum += stats[id][s]->n;
+    }
+    m_Nacc.push_back(bob::core::array::ccopy(Nsum));
+  }
+}
+
+void bob::learn::em::FABaseTrainer::precomputeSumStatisticsF(
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  m_Facc.clear();
+  blitz::Array<double,1> Fsum(m_dim_C*m_dim_D);
+  for (size_t id=0; id<stats.size(); ++id) {
+    Fsum = 0.;
+    for (size_t s=0; s<stats[id].size(); ++s) {
+      for (size_t c=0; c<m_dim_C; ++c) {
+        blitz::Array<double,1> Fsum_c = Fsum(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1));
+        Fsum_c += stats[id][s]->sumPx(c,blitz::Range::all());
+      }
+    }
+    m_Facc.push_back(bob::core::array::ccopy(Fsum));
+  }
+}
+
+void bob::learn::em::FABaseTrainer::initializeXYZ(const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& vec)
+{
+  m_x.clear();
+  m_y.clear();
+  m_z.clear();
+
+  blitz::Array<double,1> z0(m_dim_C*m_dim_D);
+  z0 = 0;
+  blitz::Array<double,1> y0(m_dim_rv);
+  y0 = 0;
+  blitz::Array<double,2> x0(m_dim_ru,0);
+  x0 = 0;
+  for (size_t i=0; i<vec.size(); ++i)
+  {
+    m_z.push_back(bob::core::array::ccopy(z0));
+    m_y.push_back(bob::core::array::ccopy(y0));
+    x0.resize(m_dim_ru, vec[i].size());
+    x0 = 0;
+    m_x.push_back(bob::core::array::ccopy(x0));
+  }
+}
+
+void bob::learn::em::FABaseTrainer::resetXYZ()
+{
+  for (size_t i=0; i<m_x.size(); ++i)
+  {
+    m_x[i] = 0.;
+    m_y[i] = 0.;
+    m_z[i] = 0.;
+  }
+}
+
+void bob::learn::em::FABaseTrainer::initCache()
+{
+  const size_t dim_CD = m_dim_C*m_dim_D;
+  // U
+  m_cache_UtSigmaInv.resize(m_dim_ru, dim_CD);
+  m_cache_UProd.resize(m_dim_C, m_dim_ru, m_dim_ru);
+  m_cache_IdPlusUProd_ih.resize(m_dim_ru, m_dim_ru);
+  m_cache_Fn_x_ih.resize(dim_CD);
+  m_acc_U_A1.resize(m_dim_C, m_dim_ru, m_dim_ru);
+  m_acc_U_A2.resize(dim_CD, m_dim_ru);
+  // V
+  m_cache_VtSigmaInv.resize(m_dim_rv, dim_CD);
+  m_cache_VProd.resize(m_dim_C, m_dim_rv, m_dim_rv);
+  m_cache_IdPlusVProd_i.resize(m_dim_rv, m_dim_rv);
+  m_cache_Fn_y_i.resize(dim_CD);
+  m_acc_V_A1.resize(m_dim_C, m_dim_rv, m_dim_rv);
+  m_acc_V_A2.resize(dim_CD, m_dim_rv);
+  // D
+  m_cache_DtSigmaInv.resize(dim_CD);
+  m_cache_DProd.resize(dim_CD);
+  m_cache_IdPlusDProd_i.resize(dim_CD);
+  m_cache_Fn_z_i.resize(dim_CD);
+  m_acc_D_A1.resize(dim_CD);
+  m_acc_D_A2.resize(dim_CD);
+
+  // tmp
+  m_tmp_CD.resize(dim_CD);
+  m_tmp_CD_b.resize(dim_CD);
+
+  m_tmp_ru.resize(m_dim_ru);
+  m_tmp_ruD.resize(m_dim_ru, m_dim_D);
+  m_tmp_ruru.resize(m_dim_ru, m_dim_ru);
+
+  m_tmp_rv.resize(m_dim_rv);
+  m_tmp_rvD.resize(m_dim_rv, m_dim_D);
+  m_tmp_rvrv.resize(m_dim_rv, m_dim_rv);
+}
+
+
+
+//////////////////////////// V ///////////////////////////
+void bob::learn::em::FABaseTrainer::computeVtSigmaInv(const bob::learn::em::FABase& m)
+{
+  const blitz::Array<double,2>& V = m.getV();
+  // Blitz compatibility: ugly fix (const_cast, as old blitz version does not
+  // provide a non-const version of transpose())
+  const blitz::Array<double,2> Vt = const_cast<blitz::Array<double,2>&>(V).transpose(1,0);
+  const blitz::Array<double,1>& sigma = m.getUbmVariance();
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  m_cache_VtSigmaInv = Vt(i,j) / sigma(j); // Vt * diag(sigma)^-1
+}
+
+void bob::learn::em::FABaseTrainer::computeVProd(const bob::learn::em::FABase& m)
+{
+  const blitz::Array<double,2>& V = m.getV();
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  const blitz::Array<double,1>& sigma = m.getUbmVariance();
+  blitz::Range rall = blitz::Range::all();
+  for (size_t c=0; c<m_dim_C; ++c)
+  {
+    blitz::Array<double,2> VProd_c = m_cache_VProd(c, rall, rall);
+    blitz::Array<double,2> Vv_c = V(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1), rall);
+    blitz::Array<double,2> Vt_c = Vv_c.transpose(1,0);
+    blitz::Array<double,1> sigma_c = sigma(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1));
+    m_tmp_rvD = Vt_c(i,j) / sigma_c(j); // Vt_c * diag(sigma)^-1
+    bob::math::prod(m_tmp_rvD, Vv_c, VProd_c);
+  }
+}
+
+void bob::learn::em::FABaseTrainer::computeIdPlusVProd_i(const size_t id)
+{
+  const blitz::Array<double,1>& Ni = m_Nacc[id];
+  bob::math::eye(m_tmp_rvrv); // m_tmp_rvrv = I
+  blitz::Range rall = blitz::Range::all();
+  for (size_t c=0; c<m_dim_C; ++c) {
+    blitz::Array<double,2> VProd_c = m_cache_VProd(c, rall, rall);
+    m_tmp_rvrv += VProd_c * Ni(c);
+  }
+  bob::math::inv(m_tmp_rvrv, m_cache_IdPlusVProd_i); // m_cache_IdPlusVProd_i = ( I+Vt*diag(sigma)^-1*Ni*V)^-1
+}
+
+void bob::learn::em::FABaseTrainer::computeFn_y_i(const bob::learn::em::FABase& mb,
+  const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& stats, const size_t id)
+{
+  const blitz::Array<double,2>& U = mb.getU();
+  const blitz::Array<double,1>& d = mb.getD();
+  // Compute Fn_yi = sum_{sessions h}(N_{i,h}*(o_{i,h} - m - D*z_{i} - U*x_{i,h}) (Normalised first order statistics)
+  const blitz::Array<double,1>& Fi = m_Facc[id];
+  const blitz::Array<double,1>& m = mb.getUbmMean();
+  const blitz::Array<double,1>& z = m_z[id];
+  bob::core::array::repelem(m_Nacc[id], m_tmp_CD);
+  m_cache_Fn_y_i = Fi - m_tmp_CD * (m + d * z); // Fn_yi = sum_{sessions h}(N_{i,h}*(o_{i,h} - m - D*z_{i})
+  const blitz::Array<double,2>& X = m_x[id];
+  blitz::Range rall = blitz::Range::all();
+  for (int h=0; h<X.extent(1); ++h) // Loops over the sessions
+  {
+    blitz::Array<double,1> Xh = X(rall, h); // Xh = x_{i,h} (length: ru)
+    bob::math::prod(U, Xh, m_tmp_CD_b); // m_tmp_CD_b = U*x_{i,h}
+    const blitz::Array<double,1>& Nih = stats[h]->n;
+    bob::core::array::repelem(Nih, m_tmp_CD);
+    m_cache_Fn_y_i -= m_tmp_CD * m_tmp_CD_b; // N_{i,h} * U * x_{i,h}
+  }
+  // Fn_yi = sum_{sessions h}(N_{i,h}*(o_{i,h} - m - D*z_{i} - U*x_{i,h})
+}
+
+void bob::learn::em::FABaseTrainer::updateY_i(const size_t id)
+{
+  // Computes yi = Ayi * Cvs * Fn_yi
+  blitz::Array<double,1>& y = m_y[id];
+  // m_tmp_rv = m_cache_VtSigmaInv * m_cache_Fn_y_i = Vt*diag(sigma)^-1 * sum_{sessions h}(N_{i,h}*(o_{i,h} - m - D*z_{i} - U*x_{i,h})
+  bob::math::prod(m_cache_VtSigmaInv, m_cache_Fn_y_i, m_tmp_rv);
+  bob::math::prod(m_cache_IdPlusVProd_i, m_tmp_rv, y);
+}
+
+void bob::learn::em::FABaseTrainer::updateY(const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  // Precomputation
+  computeVtSigmaInv(m);
+  computeVProd(m);
+  // Loops over all people
+  for (size_t id=0; id<stats.size(); ++id) {
+    computeIdPlusVProd_i(id);
+    computeFn_y_i(m, stats[id], id);
+    updateY_i(id);
+  }
+}
+
+void bob::learn::em::FABaseTrainer::computeAccumulatorsV(
+  const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  // Initializes the cache accumulator
+  m_acc_V_A1 = 0.;
+  m_acc_V_A2 = 0.;
+  // Loops over all people
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  blitz::Range rall = blitz::Range::all();
+  for (size_t id=0; id<stats.size(); ++id) {
+    computeIdPlusVProd_i(id);
+    computeFn_y_i(m, stats[id], id);
+
+    // Needs to return values to be accumulated for estimating V
+    const blitz::Array<double,1>& y = m_y[id];
+    m_tmp_rvrv = m_cache_IdPlusVProd_i;
+    m_tmp_rvrv += y(i) * y(j);
+    for (size_t c=0; c<m_dim_C; ++c)
+    {
+      blitz::Array<double,2> A1_y_c = m_acc_V_A1(c, rall, rall);
+      A1_y_c += m_tmp_rvrv * m_Nacc[id](c);
+    }
+    m_acc_V_A2 += m_cache_Fn_y_i(i) * y(j);
+  }
+}
+
+void bob::learn::em::FABaseTrainer::updateV(blitz::Array<double,2>& V)
+{
+  blitz::Range rall = blitz::Range::all();
+  for (size_t c=0; c<m_dim_C; ++c)
+  {
+    const blitz::Array<double,2> A1 = m_acc_V_A1(c, rall, rall);
+    bob::math::inv(A1, m_tmp_rvrv);
+    const blitz::Array<double,2> A2 = m_acc_V_A2(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1), rall);
+    blitz::Array<double,2> V_c = V(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1), rall);
+    bob::math::prod(A2, m_tmp_rvrv, V_c);
+  }
+}
+
+
+//////////////////////////// U ///////////////////////////
+void bob::learn::em::FABaseTrainer::computeUtSigmaInv(const bob::learn::em::FABase& m)
+{
+  const blitz::Array<double,2>& U = m.getU();
+  // Blitz compatibility: ugly fix (const_cast, as old blitz version does not
+  // provide a non-const version of transpose())
+  const blitz::Array<double,2> Ut = const_cast<blitz::Array<double,2>&>(U).transpose(1,0);
+  const blitz::Array<double,1>& sigma = m.getUbmVariance();
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  m_cache_UtSigmaInv = Ut(i,j) / sigma(j); // Ut * diag(sigma)^-1
+}
+
+void bob::learn::em::FABaseTrainer::computeUProd(const bob::learn::em::FABase& m)
+{
+  const blitz::Array<double,2>& U = m.getU();
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  const blitz::Array<double,1>& sigma = m.getUbmVariance();
+  for (size_t c=0; c<m_dim_C; ++c)
+  {
+    blitz::Array<double,2> UProd_c = m_cache_UProd(c, blitz::Range::all(), blitz::Range::all());
+    blitz::Array<double,2> Uu_c = U(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1), blitz::Range::all());
+    blitz::Array<double,2> Ut_c = Uu_c.transpose(1,0);
+    blitz::Array<double,1> sigma_c = sigma(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1));
+    m_tmp_ruD = Ut_c(i,j) / sigma_c(j); // Ut_c * diag(sigma)^-1
+    bob::math::prod(m_tmp_ruD, Uu_c, UProd_c);
+  }
+}
+
+void bob::learn::em::FABaseTrainer::computeIdPlusUProd_ih(
+  const boost::shared_ptr<bob::learn::em::GMMStats>& stats)
+{
+  const blitz::Array<double,1>& Nih = stats->n;
+  bob::math::eye(m_tmp_ruru); // m_tmp_ruru = I
+  for (size_t c=0; c<m_dim_C; ++c) {
+    blitz::Array<double,2> UProd_c = m_cache_UProd(c,blitz::Range::all(),blitz::Range::all());
+    m_tmp_ruru += UProd_c * Nih(c);
+  }
+  bob::math::inv(m_tmp_ruru, m_cache_IdPlusUProd_ih); // m_cache_IdPlusUProd_ih = ( I+Ut*diag(sigma)^-1*Ni*U)^-1
+}
+
+void bob::learn::em::FABaseTrainer::computeFn_x_ih(const bob::learn::em::FABase& mb,
+  const boost::shared_ptr<bob::learn::em::GMMStats>& stats, const size_t id)
+{
+  const blitz::Array<double,2>& V = mb.getV();
+  const blitz::Array<double,1>& d =  mb.getD();
+  // Compute Fn_x_ih = sum_{sessions h}(N_{i,h}*(o_{i,h} - m - D*z_{i} - V*y_{i}) (Normalised first order statistics)
+  const blitz::Array<double,2>& Fih = stats->sumPx;
+  const blitz::Array<double,1>& m = mb.getUbmMean();
+  const blitz::Array<double,1>& z = m_z[id];
+  const blitz::Array<double,1>& Nih = stats->n;
+  bob::core::array::repelem(Nih, m_tmp_CD);
+  for (size_t c=0; c<m_dim_C; ++c) {
+    blitz::Array<double,1> Fn_x_ih_c = m_cache_Fn_x_ih(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1));
+    Fn_x_ih_c = Fih(c,blitz::Range::all());
+  }
+  m_cache_Fn_x_ih -= m_tmp_CD * (m + d * z); // Fn_x_ih = N_{i,h}*(o_{i,h} - m - D*z_{i})
+
+  const blitz::Array<double,1>& y = m_y[id];
+  bob::math::prod(V, y, m_tmp_CD_b);
+  m_cache_Fn_x_ih -= m_tmp_CD * m_tmp_CD_b;
+  // Fn_x_ih = N_{i,h}*(o_{i,h} - m - D*z_{i} - V*y_{i})
+}
+
+void bob::learn::em::FABaseTrainer::updateX_ih(const size_t id, const size_t h)
+{
+  // Computes xih = Axih * Cus * Fn_x_ih
+  blitz::Array<double,1> x = m_x[id](blitz::Range::all(), h);
+  // m_tmp_ru = m_cache_UtSigmaInv * m_cache_Fn_x_ih = Ut*diag(sigma)^-1 * N_{i,h}*(o_{i,h} - m - D*z_{i} - V*y_{i})
+  bob::math::prod(m_cache_UtSigmaInv, m_cache_Fn_x_ih, m_tmp_ru);
+  bob::math::prod(m_cache_IdPlusUProd_ih, m_tmp_ru, x);
+}
+
+void bob::learn::em::FABaseTrainer::updateX(const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  // Precomputation
+  computeUtSigmaInv(m);
+  computeUProd(m);
+  // Loops over all people
+  for (size_t id=0; id<stats.size(); ++id) {
+    int n_session_i = stats[id].size();
+    for (int s=0; s<n_session_i; ++s) {
+      computeIdPlusUProd_ih(stats[id][s]);
+      computeFn_x_ih(m, stats[id][s], id);
+      updateX_ih(id, s);
+    }
+  }
+}
+
+void bob::learn::em::FABaseTrainer::computeAccumulatorsU(
+  const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  // Initializes the cache accumulator
+  m_acc_U_A1 = 0.;
+  m_acc_U_A2 = 0.;
+  // Loops over all people
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  blitz::Range rall = blitz::Range::all();
+  for (size_t id=0; id<stats.size(); ++id) {
+    int n_session_i = stats[id].size();
+    for (int h=0; h<n_session_i; ++h) {
+      computeIdPlusUProd_ih(stats[id][h]);
+      computeFn_x_ih(m, stats[id][h], id);
+
+      // Needs to return values to be accumulated for estimating U
+      blitz::Array<double,1> x = m_x[id](rall, h);
+      m_tmp_ruru = m_cache_IdPlusUProd_ih;
+      m_tmp_ruru += x(i) * x(j);
+      for (int c=0; c<(int)m_dim_C; ++c)
+      {
+        blitz::Array<double,2> A1_x_c = m_acc_U_A1(c,rall,rall);
+        A1_x_c += m_tmp_ruru * stats[id][h]->n(c);
+      }
+      m_acc_U_A2 += m_cache_Fn_x_ih(i) * x(j);
+    }
+  }
+}
+
+void bob::learn::em::FABaseTrainer::updateU(blitz::Array<double,2>& U)
+{
+  for (size_t c=0; c<m_dim_C; ++c)
+  {
+    const blitz::Array<double,2> A1 = m_acc_U_A1(c,blitz::Range::all(),blitz::Range::all());
+    bob::math::inv(A1, m_tmp_ruru);
+    const blitz::Array<double,2> A2 = m_acc_U_A2(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1),blitz::Range::all());
+    blitz::Array<double,2> U_c = U(blitz::Range(c*m_dim_D,(c+1)*m_dim_D-1),blitz::Range::all());
+    bob::math::prod(A2, m_tmp_ruru, U_c);
+  }
+}
+
+
+//////////////////////////// D ///////////////////////////
+void bob::learn::em::FABaseTrainer::computeDtSigmaInv(const bob::learn::em::FABase& m)
+{
+  const blitz::Array<double,1>& d = m.getD();
+  const blitz::Array<double,1>& sigma = m.getUbmVariance();
+  m_cache_DtSigmaInv = d / sigma; // Dt * diag(sigma)^-1
+}
+
+void bob::learn::em::FABaseTrainer::computeDProd(const bob::learn::em::FABase& m)
+{
+  const blitz::Array<double,1>& d = m.getD();
+  const blitz::Array<double,1>& sigma = m.getUbmVariance();
+  m_cache_DProd = d / sigma * d; // Dt * diag(sigma)^-1 * D
+}
+
+void bob::learn::em::FABaseTrainer::computeIdPlusDProd_i(const size_t id)
+{
+  const blitz::Array<double,1>& Ni = m_Nacc[id];
+  bob::core::array::repelem(Ni, m_tmp_CD); // m_tmp_CD = Ni 'repmat'
+  m_cache_IdPlusDProd_i = 1.; // m_cache_IdPlusDProd_i = Id
+  m_cache_IdPlusDProd_i += m_cache_DProd * m_tmp_CD; // m_cache_IdPlusDProd_i = I+Dt*diag(sigma)^-1*Ni*D
+  m_cache_IdPlusDProd_i = 1 / m_cache_IdPlusDProd_i; // m_cache_IdPlusVProd_i = (I+Dt*diag(sigma)^-1*Ni*D)^-1
+}
+
+void bob::learn::em::FABaseTrainer::computeFn_z_i(
+  const bob::learn::em::FABase& mb,
+  const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& stats, const size_t id)
+{
+  const blitz::Array<double,2>& U = mb.getU();
+  const blitz::Array<double,2>& V = mb.getV();
+  // Compute Fn_z_i = sum_{sessions h}(N_{i,h}*(o_{i,h} - m - V*y_{i} - U*x_{i,h}) (Normalised first order statistics)
+  const blitz::Array<double,1>& Fi = m_Facc[id];
+  const blitz::Array<double,1>& m = mb.getUbmMean();
+  const blitz::Array<double,1>& y = m_y[id];
+  bob::core::array::repelem(m_Nacc[id], m_tmp_CD);
+  bob::math::prod(V, y, m_tmp_CD_b); // m_tmp_CD_b = V * y
+  m_cache_Fn_z_i = Fi - m_tmp_CD * (m + m_tmp_CD_b); // Fn_yi = sum_{sessions h}(N_{i,h}*(o_{i,h} - m - V*y_{i})
+
+  const blitz::Array<double,2>& X = m_x[id];
+  blitz::Range rall = blitz::Range::all();
+  for (int h=0; h<X.extent(1); ++h) // Loops over the sessions
+  {
+    const blitz::Array<double,1>& Nh = stats[h]->n; // Nh = N_{i,h} (length: C)
+    bob::core::array::repelem(Nh, m_tmp_CD);
+    blitz::Array<double,1> Xh = X(rall, h); // Xh = x_{i,h} (length: ru)
+    bob::math::prod(U, Xh, m_tmp_CD_b);
+    m_cache_Fn_z_i -= m_tmp_CD * m_tmp_CD_b;
+  }
+  // Fn_z_i = sum_{sessions h}(N_{i,h}*(o_{i,h} - m - V*y_{i} - U*x_{i,h})
+}
+
+void bob::learn::em::FABaseTrainer::updateZ_i(const size_t id)
+{
+  // Computes zi = Azi * D^T.Sigma^-1 * Fn_zi
+  blitz::Array<double,1>& z = m_z[id];
+  // m_tmp_CD = m_cache_DtSigmaInv * m_cache_Fn_z_i = Dt*diag(sigma)^-1 * sum_{sessions h}(N_{i,h}*(o_{i,h} - m - V*y_{i} - U*x_{i,h})
+  z = m_cache_IdPlusDProd_i * m_cache_DtSigmaInv * m_cache_Fn_z_i;
+}
+
+void bob::learn::em::FABaseTrainer::updateZ(const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  // Precomputation
+  computeDtSigmaInv(m);
+  computeDProd(m);
+  // Loops over all people
+  for (size_t id=0; id<m_Nid; ++id) {
+    computeIdPlusDProd_i(id);
+    computeFn_z_i(m, stats[id], id);
+    updateZ_i(id);
+  }
+}
+
+void bob::learn::em::FABaseTrainer::computeAccumulatorsD(
+  const bob::learn::em::FABase& m,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats)
+{
+  // Initializes the cache accumulator
+  m_acc_D_A1 = 0.;
+  m_acc_D_A2 = 0.;
+  // Loops over all people
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  for (size_t id=0; id<stats.size(); ++id) {
+    computeIdPlusDProd_i(id);
+    computeFn_z_i(m, stats[id], id);
+
+    // Needs to return values to be accumulated for estimating D
+    blitz::Array<double,1> z = m_z[id];
+    bob::core::array::repelem(m_Nacc[id], m_tmp_CD);
+    m_acc_D_A1 += (m_cache_IdPlusDProd_i + z * z) * m_tmp_CD;
+    m_acc_D_A2 += m_cache_Fn_z_i * z;
+  }
+}
+
+void bob::learn::em::FABaseTrainer::updateD(blitz::Array<double,1>& d)
+{
+  d = m_acc_D_A2 / m_acc_D_A1;
+}
+
+
diff --git a/bob/learn/em/cpp/GMMBaseTrainer.cpp b/bob/learn/em/cpp/GMMBaseTrainer.cpp
new file mode 100644
index 0000000..9351975
--- /dev/null
+++ b/bob/learn/em/cpp/GMMBaseTrainer.cpp
@@ -0,0 +1,94 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/GMMBaseTrainer.h>
+#include <bob.core/assert.h>
+#include <bob.core/check.h>
+
+bob::learn::em::GMMBaseTrainer::GMMBaseTrainer(const bool update_means,
+    const bool update_variances, const bool update_weights,
+    const double mean_var_update_responsibilities_threshold):
+  m_update_means(update_means), m_update_variances(update_variances),
+  m_update_weights(update_weights),
+  m_mean_var_update_responsibilities_threshold(mean_var_update_responsibilities_threshold)
+{}
+
+bob::learn::em::GMMBaseTrainer::GMMBaseTrainer(const bob::learn::em::GMMBaseTrainer& b):
+  m_update_means(b.m_update_means), m_update_variances(b.m_update_variances),
+  m_mean_var_update_responsibilities_threshold(b.m_mean_var_update_responsibilities_threshold)
+{}
+
+bob::learn::em::GMMBaseTrainer::~GMMBaseTrainer()
+{}
+
+void bob::learn::em::GMMBaseTrainer::initialize(bob::learn::em::GMMMachine& gmm)
+{
+  // Allocate memory for the sufficient statistics and initialise
+  m_ss.resize(gmm.getNGaussians(),gmm.getNInputs());
+}
+
+void bob::learn::em::GMMBaseTrainer::eStep(bob::learn::em::GMMMachine& gmm,
+  const blitz::Array<double,2>& data)
+{
+  m_ss.init();
+  // Calculate the sufficient statistics and save in m_ss
+  gmm.accStatistics(data, m_ss);
+}
+
+double bob::learn::em::GMMBaseTrainer::computeLikelihood(bob::learn::em::GMMMachine& gmm)
+{
+  return m_ss.log_likelihood / m_ss.T;
+}
+
+
+bob::learn::em::GMMBaseTrainer& bob::learn::em::GMMBaseTrainer::operator=
+  (const bob::learn::em::GMMBaseTrainer &other)
+{
+  if (this != &other)
+  {
+    m_ss = other.m_ss;
+    m_update_means = other.m_update_means;
+    m_update_variances = other.m_update_variances;
+    m_update_weights = other.m_update_weights;
+    m_mean_var_update_responsibilities_threshold = other.m_mean_var_update_responsibilities_threshold;
+  }
+  return *this;
+}
+
+bool bob::learn::em::GMMBaseTrainer::operator==
+  (const bob::learn::em::GMMBaseTrainer &other) const
+{
+  return m_ss == other.m_ss &&
+         m_update_means == other.m_update_means &&
+         m_update_variances == other.m_update_variances &&
+         m_update_weights == other.m_update_weights &&
+         m_mean_var_update_responsibilities_threshold == other.m_mean_var_update_responsibilities_threshold;
+}
+
+bool bob::learn::em::GMMBaseTrainer::operator!=
+  (const bob::learn::em::GMMBaseTrainer &other) const
+{
+  return !(this->operator==(other));
+}
+
+bool bob::learn::em::GMMBaseTrainer::is_similar_to
+  (const bob::learn::em::GMMBaseTrainer &other, const double r_epsilon,
+   const double a_epsilon) const
+{
+  return m_ss == other.m_ss &&
+         m_update_means == other.m_update_means &&
+         m_update_variances == other.m_update_variances &&
+         m_update_weights == other.m_update_weights &&
+         bob::core::isClose(m_mean_var_update_responsibilities_threshold,
+          other.m_mean_var_update_responsibilities_threshold, r_epsilon, a_epsilon);
+}
+
+void bob::learn::em::GMMBaseTrainer::setGMMStats(const bob::learn::em::GMMStats& stats)
+{
+  bob::core::array::assertSameShape(m_ss.sumPx, stats.sumPx);
+  m_ss = stats;
+}
diff --git a/bob/learn/em/cpp/GMMMachine.cpp b/bob/learn/em/cpp/GMMMachine.cpp
new file mode 100644
index 0000000..7b8b3da
--- /dev/null
+++ b/bob/learn/em/cpp/GMMMachine.cpp
@@ -0,0 +1,436 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.core/assert.h>
+#include <bob.math/log.h>
+
+bob::learn::em::GMMMachine::GMMMachine(): m_gaussians(0) {
+  resize(0,0);
+}
+
+bob::learn::em::GMMMachine::GMMMachine(const size_t n_gaussians, const size_t n_inputs):
+  m_gaussians(0)
+{
+  resize(n_gaussians,n_inputs);
+}
+
+bob::learn::em::GMMMachine::GMMMachine(bob::io::base::HDF5File& config):
+  m_gaussians(0)
+{
+  load(config);
+}
+
+bob::learn::em::GMMMachine::GMMMachine(const GMMMachine& other)  
+{
+  copy(other);
+}
+
+bob::learn::em::GMMMachine& bob::learn::em::GMMMachine::operator=(const bob::learn::em::GMMMachine &other) {
+  // protect against invalid self-assignment
+  if (this != &other)
+    copy(other);
+
+  // by convention, always return *this
+  return *this;
+}
+
+bool bob::learn::em::GMMMachine::operator==(const bob::learn::em::GMMMachine& b) const
+{
+  if (m_n_gaussians != b.m_n_gaussians || m_n_inputs != b.m_n_inputs ||
+      !bob::core::array::isEqual(m_weights, b.m_weights))
+    return false;
+
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    if(!(*(m_gaussians[i]) == *(b.m_gaussians[i])))
+      return false;
+  }
+
+  return true;
+}
+
+bool bob::learn::em::GMMMachine::operator!=(const bob::learn::em::GMMMachine& b) const {
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::GMMMachine::is_similar_to(const bob::learn::em::GMMMachine& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  if (m_n_gaussians != b.m_n_gaussians || m_n_inputs != b.m_n_inputs ||
+      !bob::core::array::isClose(m_weights, b.m_weights, r_epsilon, a_epsilon))
+    return false;
+
+  for (size_t i = 0; i < m_n_gaussians; ++i)
+    if (!m_gaussians[i]->is_similar_to(*b.m_gaussians[i], r_epsilon, a_epsilon))
+      return false;
+
+  return true;
+}
+
+void bob::learn::em::GMMMachine::copy(const GMMMachine& other) {
+  m_n_gaussians = other.m_n_gaussians;
+  m_n_inputs = other.m_n_inputs;
+
+  // Initialise weights
+  m_weights.resize(m_n_gaussians);
+  m_weights = other.m_weights;
+
+  // Initialise Gaussians
+  m_gaussians.clear();
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    boost::shared_ptr<bob::learn::em::Gaussian> g(new bob::learn::em::Gaussian(*(other.m_gaussians[i])));
+    m_gaussians.push_back(g);
+  }
+
+  // Initialise cache
+  initCache();
+}
+
+bob::learn::em::GMMMachine::~GMMMachine() { }
+
+
+/////////////////////
+// Setters 
+////////////////////
+
+void bob::learn::em::GMMMachine::setWeights(const blitz::Array<double,1> &weights) {
+  bob::core::array::assertSameShape(weights, m_weights);
+  m_weights = weights;
+  recomputeLogWeights();
+}
+
+void bob::learn::em::GMMMachine::recomputeLogWeights() const
+{
+  m_cache_log_weights = blitz::log(m_weights);
+}
+
+void bob::learn::em::GMMMachine::setMeans(const blitz::Array<double,2> &means) {
+  bob::core::array::assertSameDimensionLength(means.extent(0), m_n_gaussians);
+  bob::core::array::assertSameDimensionLength(means.extent(1), m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    m_gaussians[i]->updateMean() = means(i,blitz::Range::all());
+  m_cache_supervector = false;
+}
+
+void bob::learn::em::GMMMachine::setMeanSupervector(const blitz::Array<double,1> &mean_supervector) {
+  bob::core::array::assertSameDimensionLength(mean_supervector.extent(0), m_n_gaussians*m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    m_gaussians[i]->updateMean() = mean_supervector(blitz::Range(i*m_n_inputs, (i+1)*m_n_inputs-1));
+  m_cache_supervector = false;
+}
+
+
+void bob::learn::em::GMMMachine::setVariances(const blitz::Array<double, 2 >& variances) {
+  bob::core::array::assertSameDimensionLength(variances.extent(0), m_n_gaussians);
+  bob::core::array::assertSameDimensionLength(variances.extent(1), m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    m_gaussians[i]->updateVariance() = variances(i,blitz::Range::all());
+    m_gaussians[i]->applyVarianceThresholds();
+  }
+  m_cache_supervector = false;
+}
+
+void bob::learn::em::GMMMachine::setVarianceSupervector(const blitz::Array<double,1> &variance_supervector) {
+  bob::core::array::assertSameDimensionLength(variance_supervector.extent(0), m_n_gaussians*m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    m_gaussians[i]->updateVariance() = variance_supervector(blitz::Range(i*m_n_inputs, (i+1)*m_n_inputs-1));
+    m_gaussians[i]->applyVarianceThresholds();
+  }
+  m_cache_supervector = false;
+}
+
+void bob::learn::em::GMMMachine::setVarianceThresholds(const double value) {
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    m_gaussians[i]->setVarianceThresholds(value);
+  m_cache_supervector = false;
+}
+
+void bob::learn::em::GMMMachine::setVarianceThresholds(blitz::Array<double, 1> variance_thresholds) {
+  bob::core::array::assertSameDimensionLength(variance_thresholds.extent(0), m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    m_gaussians[i]->setVarianceThresholds(variance_thresholds);
+  m_cache_supervector = false;
+}
+
+void bob::learn::em::GMMMachine::setVarianceThresholds(const blitz::Array<double, 2>& variance_thresholds) {
+  bob::core::array::assertSameDimensionLength(variance_thresholds.extent(0), m_n_gaussians);
+  bob::core::array::assertSameDimensionLength(variance_thresholds.extent(1), m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    m_gaussians[i]->setVarianceThresholds(variance_thresholds(i,blitz::Range::all()));
+  m_cache_supervector = false;
+}
+
+/////////////////////
+// Getters 
+////////////////////
+
+const blitz::Array<double,2> bob::learn::em::GMMMachine::getMeans() const {
+
+  blitz::Array<double,2> means(m_n_gaussians,m_n_inputs);  
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    means(i,blitz::Range::all()) = m_gaussians[i]->getMean();
+    
+  return means;
+}
+
+const blitz::Array<double,2> bob::learn::em::GMMMachine::getVariances() const{
+  
+  blitz::Array<double,2> variances(m_n_gaussians,m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    variances(i,blitz::Range::all()) = m_gaussians[i]->getVariance();
+
+  return variances;
+}
+
+
+const blitz::Array<double,2>  bob::learn::em::GMMMachine::getVarianceThresholds() const {
+  //bob::core::array::assertSameDimensionLength(variance_thresholds.extent(0), m_n_gaussians);
+  //bob::core::array::assertSameDimensionLength(variance_thresholds.extent(1), m_n_inputs);
+  blitz::Array<double, 2> variance_thresholds(m_n_gaussians, m_n_inputs);
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    variance_thresholds(i,blitz::Range::all()) = m_gaussians[i]->getVarianceThresholds();
+
+  return variance_thresholds;
+}
+
+
+/////////////////////
+// Methods
+////////////////////
+
+
+void bob::learn::em::GMMMachine::resize(const size_t n_gaussians, const size_t n_inputs) {
+  m_n_gaussians = n_gaussians;
+  m_n_inputs = n_inputs;
+
+  // Initialise weights
+  m_weights.resize(m_n_gaussians);
+  m_weights = 1.0 / m_n_gaussians;
+
+  // Initialise Gaussians
+  m_gaussians.clear();
+  for(size_t i=0; i<m_n_gaussians; ++i)
+    m_gaussians.push_back(boost::shared_ptr<bob::learn::em::Gaussian>(new bob::learn::em::Gaussian(n_inputs)));
+
+  // Initialise cache arrays
+  initCache();
+}
+
+double bob::learn::em::GMMMachine::logLikelihood(const blitz::Array<double, 1> &x,
+  blitz::Array<double,1> &log_weighted_gaussian_likelihoods) const
+{
+  // Check dimension
+  bob::core::array::assertSameDimensionLength(log_weighted_gaussian_likelihoods.extent(0), m_n_gaussians);
+  bob::core::array::assertSameDimensionLength(x.extent(0), m_n_inputs);
+  return logLikelihood_(x,log_weighted_gaussian_likelihoods);
+}
+
+double bob::learn::em::GMMMachine::logLikelihood_(const blitz::Array<double, 1> &x,
+  blitz::Array<double,1> &log_weighted_gaussian_likelihoods) const
+{
+  // Initialise variables
+  double log_likelihood = bob::math::Log::LogZero;
+
+  // Accumulate the weighted log likelihoods from each Gaussian
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    double l = m_cache_log_weights(i) + m_gaussians[i]->logLikelihood_(x);
+    log_weighted_gaussian_likelihoods(i) = l;
+    log_likelihood = bob::math::Log::logAdd(log_likelihood, l);
+  }
+
+  // Return log(p(x|GMMMachine))
+  return log_likelihood;
+}
+
+double bob::learn::em::GMMMachine::logLikelihood(const blitz::Array<double, 1> &x) const {
+  // Check dimension
+  bob::core::array::assertSameDimensionLength(x.extent(0), m_n_inputs);
+  // Call the other logLikelihood_ (overloaded) function
+  // (log_weighted_gaussian_likelihoods will be discarded)
+  return logLikelihood_(x,m_cache_log_weighted_gaussian_likelihoods);
+}
+
+double bob::learn::em::GMMMachine::logLikelihood_(const blitz::Array<double, 1> &x) const {
+  // Call the other logLikelihood (overloaded) function
+  // (log_weighted_gaussian_likelihoods will be discarded)
+  return logLikelihood_(x,m_cache_log_weighted_gaussian_likelihoods);
+}
+
+void bob::learn::em::GMMMachine::accStatistics(const blitz::Array<double,2>& input,
+    bob::learn::em::GMMStats& stats) const {
+  // iterate over data
+  blitz::Range a = blitz::Range::all();
+  for(int i=0; i<input.extent(0); ++i) {
+    // Get example
+    blitz::Array<double,1> x(input(i,a));
+    // Accumulate statistics
+    accStatistics(x,stats);
+  }
+}
+
+void bob::learn::em::GMMMachine::accStatistics_(const blitz::Array<double,2>& input, bob::learn::em::GMMStats& stats) const {
+  // iterate over data
+  blitz::Range a = blitz::Range::all();
+  for(int i=0; i<input.extent(0); ++i) {
+    // Get example
+    blitz::Array<double,1> x(input(i, a));
+    // Accumulate statistics
+    accStatistics_(x,stats);
+  }
+}
+
+void bob::learn::em::GMMMachine::accStatistics(const blitz::Array<double, 1>& x, bob::learn::em::GMMStats& stats) const {
+  // check GMMStats size
+  bob::core::array::assertSameDimensionLength(stats.sumPx.extent(0), m_n_gaussians);
+  bob::core::array::assertSameDimensionLength(stats.sumPx.extent(1), m_n_inputs);
+
+  // Calculate Gaussian and GMM likelihoods
+  // - m_cache_log_weighted_gaussian_likelihoods(i) = log(weight_i*p(x|gaussian_i))
+  // - log_likelihood = log(sum_i(weight_i*p(x|gaussian_i)))
+  double log_likelihood = logLikelihood(x, m_cache_log_weighted_gaussian_likelihoods);
+
+  accStatisticsInternal(x, stats, log_likelihood);
+}
+
+void bob::learn::em::GMMMachine::accStatistics_(const blitz::Array<double, 1>& x, bob::learn::em::GMMStats& stats) const {
+  // Calculate Gaussian and GMM likelihoods
+  // - m_cache_log_weighted_gaussian_likelihoods(i) = log(weight_i*p(x|gaussian_i))
+  // - log_likelihood = log(sum_i(weight_i*p(x|gaussian_i)))
+  double log_likelihood = logLikelihood_(x, m_cache_log_weighted_gaussian_likelihoods);
+
+  accStatisticsInternal(x, stats, log_likelihood);
+}
+
+void bob::learn::em::GMMMachine::accStatisticsInternal(const blitz::Array<double, 1>& x,
+  bob::learn::em::GMMStats& stats, const double log_likelihood) const
+{
+  // Calculate responsibilities
+  m_cache_P = blitz::exp(m_cache_log_weighted_gaussian_likelihoods - log_likelihood);
+
+  // Accumulate statistics
+  // - total likelihood
+  stats.log_likelihood += log_likelihood;
+
+  // - number of samples
+  stats.T++;
+
+  // - responsibilities
+  stats.n += m_cache_P;
+
+  // - first order stats
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+
+  m_cache_Px = m_cache_P(i) * x(j);
+
+  stats.sumPx += m_cache_Px;
+
+  // - second order stats
+  stats.sumPxx += (m_cache_Px(i,j) * x(j));
+}
+
+boost::shared_ptr<bob::learn::em::Gaussian> bob::learn::em::GMMMachine::getGaussian(const size_t i) {
+  if (i>=m_n_gaussians) {
+    throw std::runtime_error("getGaussian(): index out of bounds");
+  }
+  return m_gaussians[i];
+}
+
+void bob::learn::em::GMMMachine::save(bob::io::base::HDF5File& config) const {
+  int64_t v = static_cast<int64_t>(m_n_gaussians);
+  config.set("m_n_gaussians", v);
+  v = static_cast<int64_t>(m_n_inputs);
+  config.set("m_n_inputs", v);
+
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    std::ostringstream oss;
+    oss << "m_gaussians" << i;
+
+    if (!config.hasGroup(oss.str())) config.createGroup(oss.str());
+    config.cd(oss.str());
+    m_gaussians[i]->save(config);
+    config.cd("..");
+  }
+
+  config.setArray("m_weights", m_weights);
+}
+
+void bob::learn::em::GMMMachine::load(bob::io::base::HDF5File& config) {
+  int64_t v;
+  v = config.read<int64_t>("m_n_gaussians");
+  m_n_gaussians = static_cast<size_t>(v);
+  v = config.read<int64_t>("m_n_inputs");
+  m_n_inputs = static_cast<size_t>(v);
+
+  m_gaussians.clear();
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    m_gaussians.push_back(boost::shared_ptr<bob::learn::em::Gaussian>(new bob::learn::em::Gaussian(m_n_inputs)));
+    std::ostringstream oss;
+    oss << "m_gaussians" << i;
+    config.cd(oss.str());
+    m_gaussians[i]->load(config);
+    config.cd("..");
+  }
+
+  m_weights.resize(m_n_gaussians);
+  config.readArray("m_weights", m_weights);
+
+  // Initialise cache
+  initCache();
+}
+
+void bob::learn::em::GMMMachine::updateCacheSupervectors() const
+{
+  m_cache_mean_supervector.resize(m_n_gaussians*m_n_inputs);
+  m_cache_variance_supervector.resize(m_n_gaussians*m_n_inputs);
+
+  for(size_t i=0; i<m_n_gaussians; ++i) {
+    blitz::Range range(i*m_n_inputs, (i+1)*m_n_inputs-1);
+    m_cache_mean_supervector(range) = m_gaussians[i]->getMean();
+    m_cache_variance_supervector(range) = m_gaussians[i]->getVariance();
+  }
+  m_cache_supervector = true;
+}
+
+void bob::learn::em::GMMMachine::initCache() const {
+  // Initialise cache arrays
+  m_cache_log_weights.resize(m_n_gaussians);
+  recomputeLogWeights();
+  m_cache_log_weighted_gaussian_likelihoods.resize(m_n_gaussians);
+  m_cache_P.resize(m_n_gaussians);
+  m_cache_Px.resize(m_n_gaussians,m_n_inputs);
+  m_cache_supervector = false;
+}
+
+void bob::learn::em::GMMMachine::reloadCacheSupervectors() const {
+  if(!m_cache_supervector)
+    updateCacheSupervectors();
+}
+
+const blitz::Array<double,1>& bob::learn::em::GMMMachine::getMeanSupervector() const {
+  if(!m_cache_supervector)
+    updateCacheSupervectors();
+  return m_cache_mean_supervector;
+}
+
+const blitz::Array<double,1>& bob::learn::em::GMMMachine::getVarianceSupervector() const {
+  if(!m_cache_supervector)
+    updateCacheSupervectors();
+  return m_cache_variance_supervector;
+}
+
+namespace bob { namespace learn { namespace em {
+  std::ostream& operator<<(std::ostream& os, const GMMMachine& machine) {
+    os << "Weights = " << machine.m_weights << std::endl;
+    for(size_t i=0; i < machine.m_n_gaussians; ++i) {
+      os << "Gaussian " << i << ": " << std::endl << *(machine.m_gaussians[i]);
+    }
+
+    return os;
+  }
+} } }
diff --git a/bob/learn/em/cpp/GMMStats.cpp b/bob/learn/em/cpp/GMMStats.cpp
new file mode 100644
index 0000000..8a9f783
--- /dev/null
+++ b/bob/learn/em/cpp/GMMStats.cpp
@@ -0,0 +1,151 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/GMMStats.h>
+#include <bob.core/logging.h>
+#include <bob.core/check.h>
+
+bob::learn::em::GMMStats::GMMStats() {
+  resize(0,0);
+}
+
+bob::learn::em::GMMStats::GMMStats(const size_t n_gaussians, const size_t n_inputs) {
+  resize(n_gaussians,n_inputs);
+}
+
+bob::learn::em::GMMStats::GMMStats(bob::io::base::HDF5File& config) {
+  load(config);
+}
+
+bob::learn::em::GMMStats::GMMStats(const bob::learn::em::GMMStats& other) {
+  copy(other);
+}
+
+bob::learn::em::GMMStats::~GMMStats() {
+}
+
+bob::learn::em::GMMStats&
+bob::learn::em::GMMStats::operator=(const bob::learn::em::GMMStats& other) {
+  // protect against invalid self-assignment
+  if (this != &other)
+    copy(other);
+
+  // by convention, always return *this
+  return *this;
+}
+
+bool bob::learn::em::GMMStats::operator==(const bob::learn::em::GMMStats& b) const
+{
+  return (T == b.T && log_likelihood == b.log_likelihood &&
+          bob::core::array::isEqual(n, b.n) &&
+          bob::core::array::isEqual(sumPx, b.sumPx) &&
+          bob::core::array::isEqual(sumPxx, b.sumPxx));
+}
+
+bool
+bob::learn::em::GMMStats::operator!=(const bob::learn::em::GMMStats& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::GMMStats::is_similar_to(const bob::learn::em::GMMStats& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  return (T == b.T &&
+          bob::core::isClose(log_likelihood, b.log_likelihood, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(n, b.n, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(sumPx, b.sumPx, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(sumPxx, b.sumPxx, r_epsilon, a_epsilon));
+}
+
+
+void bob::learn::em::GMMStats::operator+=(const bob::learn::em::GMMStats& b) {
+  // Check dimensions
+  if(n.extent(0) != b.n.extent(0) ||
+      sumPx.extent(0) != b.sumPx.extent(0) || sumPx.extent(1) != b.sumPx.extent(1) ||
+      sumPxx.extent(0) != b.sumPxx.extent(0) || sumPxx.extent(1) != b.sumPxx.extent(1))
+    // TODO: add a specialized exception
+    throw std::runtime_error("if you see this exception, fill a bug report");
+
+  // Update GMMStats object with the content of the other one
+  T += b.T;
+  log_likelihood += b.log_likelihood;
+  n += b.n;
+  sumPx += b.sumPx;
+  sumPxx += b.sumPxx;
+}
+
+void bob::learn::em::GMMStats::copy(const GMMStats& other) {
+  // Resize arrays
+  resize(other.sumPx.extent(0),other.sumPx.extent(1));
+  // Copy content
+  T = other.T;
+  log_likelihood = other.log_likelihood;
+  n = other.n;
+  sumPx = other.sumPx;
+  sumPxx = other.sumPxx;
+}
+
+void bob::learn::em::GMMStats::resize(const size_t n_gaussians, const size_t n_inputs) {
+  n.resize(n_gaussians);
+  sumPx.resize(n_gaussians, n_inputs);
+  sumPxx.resize(n_gaussians, n_inputs);
+  init();
+}
+
+void bob::learn::em::GMMStats::init() {
+  log_likelihood = 0;
+  T = 0;
+  n = 0.0;
+  sumPx = 0.0;
+  sumPxx = 0.0;
+}
+
+void bob::learn::em::GMMStats::save(bob::io::base::HDF5File& config) const {
+  //please note we fix the output values to be of a precise type so they can be
+  //retrieved at any platform with the exact same precision.
+  // TODO: add versioning, replace int64_t by uint64_t and log_liklihood by log_likelihood
+  int64_t sumpx_shape_0 = sumPx.shape()[0];
+  int64_t sumpx_shape_1 = sumPx.shape()[1];
+  config.set("n_gaussians", sumpx_shape_0);
+  config.set("n_inputs", sumpx_shape_1);
+  config.set("log_liklihood", log_likelihood); //double
+  config.set("T", static_cast<int64_t>(T));
+  config.setArray("n", n); //Array1d
+  config.setArray("sumPx", sumPx); //Array2d
+  config.setArray("sumPxx", sumPxx); //Array2d
+}
+
+void bob::learn::em::GMMStats::load(bob::io::base::HDF5File& config) {
+  log_likelihood = config.read<double>("log_liklihood");
+  int64_t n_gaussians = config.read<int64_t>("n_gaussians");
+  int64_t n_inputs = config.read<int64_t>("n_inputs");
+  T = static_cast<size_t>(config.read<int64_t>("T"));
+
+  //resize arrays to prepare for HDF5 readout
+  n.resize(n_gaussians);
+  sumPx.resize(n_gaussians, n_inputs);
+  sumPxx.resize(n_gaussians, n_inputs);
+
+  //load data
+  config.readArray("n", n);
+  config.readArray("sumPx", sumPx);
+  config.readArray("sumPxx", sumPxx);
+}
+
+namespace bob { namespace learn { namespace em {
+  std::ostream& operator<<(std::ostream& os, const GMMStats& g) {
+    os << "log_likelihood = " << g.log_likelihood << std::endl;
+    os << "T = " << g.T << std::endl;
+    os << "n = " << g.n;
+    os << "sumPx = " << g.sumPx;
+    os << "sumPxx = " << g.sumPxx;
+
+    return os;
+  }
+} } }
diff --git a/bob/learn/em/cpp/Gaussian.cpp b/bob/learn/em/cpp/Gaussian.cpp
new file mode 100644
index 0000000..b8bdbbf
--- /dev/null
+++ b/bob/learn/em/cpp/Gaussian.cpp
@@ -0,0 +1,184 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/Gaussian.h>
+
+#include <bob.core/assert.h>
+#include <bob.math/log.h>
+
+bob::learn::em::Gaussian::Gaussian() {
+  resize(0);
+}
+
+bob::learn::em::Gaussian::Gaussian(const size_t n_inputs) {
+  resize(n_inputs);
+}
+
+bob::learn::em::Gaussian::Gaussian(const bob::learn::em::Gaussian& other) {
+  copy(other);
+}
+
+bob::learn::em::Gaussian::Gaussian(bob::io::base::HDF5File& config) {
+  load(config);
+}
+
+bob::learn::em::Gaussian::~Gaussian() {
+}
+
+bob::learn::em::Gaussian& bob::learn::em::Gaussian::operator=(const bob::learn::em::Gaussian &other) {
+  if(this != &other)
+    copy(other);
+
+  return *this;
+}
+
+bool bob::learn::em::Gaussian::operator==(const bob::learn::em::Gaussian& b) const
+{
+  return (bob::core::array::isEqual(m_mean, b.m_mean) &&
+          bob::core::array::isEqual(m_variance, b.m_variance) &&
+          bob::core::array::isEqual(m_variance_thresholds, b.m_variance_thresholds));
+}
+
+bool bob::learn::em::Gaussian::operator!=(const bob::learn::em::Gaussian& b) const {
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::Gaussian::is_similar_to(const bob::learn::em::Gaussian& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  return (bob::core::array::isClose(m_mean, b.m_mean, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_variance, b.m_variance, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_variance_thresholds, b.m_variance_thresholds, r_epsilon, a_epsilon));
+}
+
+void bob::learn::em::Gaussian::copy(const bob::learn::em::Gaussian& other) {
+  m_n_inputs = other.m_n_inputs;
+
+  m_mean.resize(m_n_inputs);
+  m_mean = other.m_mean;
+
+  m_variance.resize(m_n_inputs);
+  m_variance = other.m_variance;
+
+  m_variance_thresholds.resize(m_n_inputs);
+  m_variance_thresholds = other.m_variance_thresholds;
+
+  m_n_log2pi = other.m_n_log2pi;
+  m_g_norm = other.m_g_norm;
+}
+
+
+void bob::learn::em::Gaussian::setNInputs(const size_t n_inputs) {
+  resize(n_inputs);
+}
+
+void bob::learn::em::Gaussian::resize(const size_t n_inputs) {
+  m_n_inputs = n_inputs;
+  m_mean.resize(m_n_inputs);
+  m_mean = 0;
+  m_variance.resize(m_n_inputs);
+  m_variance = 1;
+  m_variance_thresholds.resize(m_n_inputs);
+  m_variance_thresholds = 0;
+
+  // Re-compute g_norm, because m_n_inputs and m_variance
+  // have changed
+  preComputeNLog2Pi();
+  preComputeConstants();
+}
+
+void bob::learn::em::Gaussian::setMean(const blitz::Array<double,1> &mean) {
+  // Check and set
+  bob::core::array::assertSameShape(m_mean, mean);
+  m_mean = mean;
+}
+
+void bob::learn::em::Gaussian::setVariance(const blitz::Array<double,1> &variance) {
+  // Check and set
+  bob::core::array::assertSameShape(m_variance, variance);
+  m_variance = variance;
+
+  // Variance flooring
+  applyVarianceThresholds();
+}
+
+void bob::learn::em::Gaussian::setVarianceThresholds(const blitz::Array<double,1> &variance_thresholds) {
+  // Check and set
+  bob::core::array::assertSameShape(m_variance_thresholds, variance_thresholds);
+  m_variance_thresholds = variance_thresholds;
+
+  // Variance flooring
+  applyVarianceThresholds();
+}
+
+void bob::learn::em::Gaussian::setVarianceThresholds(const double value) {
+  blitz::Array<double,1> variance_thresholds(m_n_inputs);
+  variance_thresholds = value;
+  setVarianceThresholds(variance_thresholds);
+}
+
+void bob::learn::em::Gaussian::applyVarianceThresholds() {
+   // Apply variance flooring threshold
+  m_variance = blitz::where( m_variance < m_variance_thresholds, m_variance_thresholds, m_variance);
+
+  // Re-compute g_norm, because m_variance has changed
+  preComputeConstants();
+}
+
+double bob::learn::em::Gaussian::logLikelihood(const blitz::Array<double,1> &x) const {
+  // Check
+  bob::core::array::assertSameShape(x, m_mean);
+  return logLikelihood_(x);
+}
+
+double bob::learn::em::Gaussian::logLikelihood_(const blitz::Array<double,1> &x) const {
+  double z = blitz::sum(blitz::pow2(x - m_mean) / m_variance);
+  // Log Likelihood
+  return (-0.5 * (m_g_norm + z));
+}
+
+void bob::learn::em::Gaussian::preComputeNLog2Pi() {
+  m_n_log2pi = m_n_inputs * bob::math::Log::Log2Pi;
+}
+
+void bob::learn::em::Gaussian::preComputeConstants() {
+  m_g_norm = m_n_log2pi + blitz::sum(blitz::log(m_variance));
+}
+
+void bob::learn::em::Gaussian::save(bob::io::base::HDF5File& config) const {
+  config.setArray("m_mean", m_mean);
+  config.setArray("m_variance", m_variance);
+  config.setArray("m_variance_thresholds", m_variance_thresholds);
+  config.set("g_norm", m_g_norm);
+  int64_t v = static_cast<int64_t>(m_n_inputs);
+  config.set("m_n_inputs", v);
+}
+
+void bob::learn::em::Gaussian::load(bob::io::base::HDF5File& config) {
+  int64_t v = config.read<int64_t>("m_n_inputs");
+  m_n_inputs = static_cast<size_t>(v);
+
+  m_mean.resize(m_n_inputs);
+  m_variance.resize(m_n_inputs);
+  m_variance_thresholds.resize(m_n_inputs);
+
+  config.readArray("m_mean", m_mean);
+  config.readArray("m_variance", m_variance);
+  config.readArray("m_variance_thresholds", m_variance_thresholds);
+
+  preComputeNLog2Pi();
+  m_g_norm = config.read<double>("g_norm");
+}
+
+namespace bob { namespace learn { namespace em {
+  std::ostream& operator<<(std::ostream& os, const Gaussian& g) {
+    os << "Mean = " << g.m_mean << std::endl;
+    os << "Variance = " << g.m_variance << std::endl;
+    return os;
+  }
+} } }
diff --git a/bob/learn/em/cpp/ISVBase.cpp b/bob/learn/em/cpp/ISVBase.cpp
new file mode 100644
index 0000000..c299013
--- /dev/null
+++ b/bob/learn/em/cpp/ISVBase.cpp
@@ -0,0 +1,76 @@
+/**
+ * @date Tue Jan 27 16:02:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+
+#include <bob.learn.em/ISVBase.h>
+#include <bob.core/array_copy.h>
+#include <bob.math/linear.h>
+#include <bob.math/inv.h>
+#include <bob.learn.em/LinearScoring.h>
+#include <limits>
+
+
+//////////////////// ISVBase ////////////////////
+bob::learn::em::ISVBase::ISVBase()
+{
+}
+
+bob::learn::em::ISVBase::ISVBase(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm,
+    const size_t ru):
+  m_base(ubm, ru, 1)
+{
+  blitz::Array<double,2>& V = m_base.updateV();
+  V = 0;
+}
+
+bob::learn::em::ISVBase::ISVBase(const bob::learn::em::ISVBase& other):
+  m_base(other.m_base)
+{
+}
+
+
+bob::learn::em::ISVBase::ISVBase(bob::io::base::HDF5File& config)
+{
+  load(config);
+}
+
+bob::learn::em::ISVBase::~ISVBase() {
+}
+
+void bob::learn::em::ISVBase::save(bob::io::base::HDF5File& config) const
+{
+  config.setArray("U", m_base.getU());
+  config.setArray("d", m_base.getD());
+}
+
+void bob::learn::em::ISVBase::load(bob::io::base::HDF5File& config)
+{
+  //reads all data directly into the member variables
+  blitz::Array<double,2> U = config.readArray<double,2>("U");
+  blitz::Array<double,1> d = config.readArray<double,1>("d");
+  const int ru = U.extent(1);
+  if (!m_base.getUbm())
+    m_base.resize(ru, 1, U.extent(0));
+  else
+    m_base.resize(ru, 1);
+  m_base.setU(U);
+  m_base.setD(d);
+  blitz::Array<double,2>& V = m_base.updateV();
+  V = 0;
+}
+
+bob::learn::em::ISVBase&
+bob::learn::em::ISVBase::operator=(const bob::learn::em::ISVBase& other)
+{
+  if (this != &other)
+  {
+    m_base = other.m_base;
+  }
+  return *this;
+}
+
diff --git a/bob/learn/em/cpp/ISVMachine.cpp b/bob/learn/em/cpp/ISVMachine.cpp
new file mode 100644
index 0000000..894126d
--- /dev/null
+++ b/bob/learn/em/cpp/ISVMachine.cpp
@@ -0,0 +1,182 @@
+/**
+ * @date Tue Jan 27 16:06:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+
+#include <bob.learn.em/ISVMachine.h>
+#include <bob.core/array_copy.h>
+#include <bob.math/linear.h>
+#include <bob.math/inv.h>
+#include <bob.learn.em/LinearScoring.h>
+#include <limits>
+
+
+//////////////////// ISVMachine ////////////////////
+bob::learn::em::ISVMachine::ISVMachine():
+  m_z(1)
+{
+  resizeTmp();
+}
+
+bob::learn::em::ISVMachine::ISVMachine(const boost::shared_ptr<bob::learn::em::ISVBase> isv_base):
+  m_isv_base(isv_base),
+  m_z(isv_base->getSupervectorLength())
+{
+  if (!m_isv_base->getUbm())
+    throw std::runtime_error("No UBM was set in the JFA machine.");
+  updateCache();
+  resizeTmp();
+}
+
+
+bob::learn::em::ISVMachine::ISVMachine(const bob::learn::em::ISVMachine& other):
+  m_isv_base(other.m_isv_base),
+  m_z(bob::core::array::ccopy(other.m_z))
+{
+  updateCache();
+  resizeTmp();
+}
+
+bob::learn::em::ISVMachine::ISVMachine(bob::io::base::HDF5File& config)
+{
+  load(config);
+}
+
+bob::learn::em::ISVMachine::~ISVMachine() {
+}
+
+bob::learn::em::ISVMachine&
+bob::learn::em::ISVMachine::operator=(const bob::learn::em::ISVMachine& other)
+{
+  if (this != &other)
+  {
+    m_isv_base = other.m_isv_base;
+    m_z.reference(bob::core::array::ccopy(other.m_z));
+  }
+  return *this;
+}
+
+bool bob::learn::em::ISVMachine::operator==(const bob::learn::em::ISVMachine& other) const
+{
+  return (*m_isv_base == *(other.m_isv_base) &&
+          bob::core::array::isEqual(m_z, other.m_z));
+}
+
+bool bob::learn::em::ISVMachine::operator!=(const bob::learn::em::ISVMachine& b) const
+{
+  return !(this->operator==(b));
+}
+
+
+bool bob::learn::em::ISVMachine::is_similar_to(const bob::learn::em::ISVMachine& b,
+    const double r_epsilon, const double a_epsilon) const
+{
+  return (m_isv_base->is_similar_to(*(b.m_isv_base), r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_z, b.m_z, r_epsilon, a_epsilon));
+}
+
+void bob::learn::em::ISVMachine::save(bob::io::base::HDF5File& config) const
+{
+  config.setArray("z", m_z);
+}
+
+void bob::learn::em::ISVMachine::load(bob::io::base::HDF5File& config)
+{
+  //reads all data directly into the member variables
+  blitz::Array<double,1> z = config.readArray<double,1>("z");
+  if (!m_isv_base)
+    m_z.resize(z.extent(0));
+  setZ(z);
+  // update cache
+  updateCache();
+  resizeTmp();
+}
+
+void bob::learn::em::ISVMachine::setZ(const blitz::Array<double,1>& z)
+{
+  if(z.extent(0) != m_z.extent(0)) { //checks dimension
+    boost::format m("size of input vector `z' (%d) does not match the expected size (%d)");
+    m % z.extent(0) % m_z.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  m_z.reference(bob::core::array::ccopy(z));
+  // update cache
+  updateCache();
+}
+
+void bob::learn::em::ISVMachine::setISVBase(const boost::shared_ptr<bob::learn::em::ISVBase> isv_base)
+{
+  if (!isv_base->getUbm())
+    throw std::runtime_error("No UBM was set in the JFA machine.");
+  m_isv_base = isv_base;
+  // Resize variables
+  resize();
+}
+
+void bob::learn::em::ISVMachine::resize()
+{
+  m_z.resizeAndPreserve(getSupervectorLength());
+  updateCache();
+  resizeTmp();
+}
+
+void bob::learn::em::ISVMachine::resizeTmp()
+{
+  if (m_isv_base)
+  {
+    m_tmp_Ux.resize(getSupervectorLength());
+  }
+}
+
+void bob::learn::em::ISVMachine::updateCache()
+{
+  if (m_isv_base)
+  {
+    // m + Dz
+    m_cache_mDz.resize(getSupervectorLength());
+    m_cache_mDz = m_isv_base->getD()*m_z + m_isv_base->getUbm()->getMeanSupervector();
+    m_cache_x.resize(getDimRu());
+  }
+}
+
+void bob::learn::em::ISVMachine::estimateUx(const bob::learn::em::GMMStats& gmm_stats,
+  blitz::Array<double,1>& Ux)
+{
+  estimateX(gmm_stats, m_cache_x);
+  bob::math::prod(m_isv_base->getU(), m_cache_x, Ux);
+}
+
+double bob::learn::em::ISVMachine::forward(const bob::learn::em::GMMStats& input)
+{
+  return forward_(input);
+}
+
+double bob::learn::em::ISVMachine::forward(const bob::learn::em::GMMStats& gmm_stats,
+  const blitz::Array<double,1>& Ux)
+{
+  // Checks that a Base machine has been set
+  if (!m_isv_base) throw std::runtime_error("No UBM was set in the JFA machine.");
+
+  return bob::learn::em::linearScoring(m_cache_mDz,
+            m_isv_base->getUbm()->getMeanSupervector(), m_isv_base->getUbm()->getVarianceSupervector(),
+            gmm_stats, Ux, true);
+}
+
+double bob::learn::em::ISVMachine::forward_(const bob::learn::em::GMMStats& input)
+{
+  // Checks that a Base machine has been set
+  if(!m_isv_base) throw std::runtime_error("No UBM was set in the JFA machine.");
+
+  // Ux and GMMStats
+  estimateX(input, m_cache_x);
+  bob::math::prod(m_isv_base->getU(), m_cache_x, m_tmp_Ux);
+
+  return bob::learn::em::linearScoring(m_cache_mDz,
+            m_isv_base->getUbm()->getMeanSupervector(), m_isv_base->getUbm()->getVarianceSupervector(),
+            input, m_tmp_Ux, true);
+}
+
diff --git a/bob/learn/em/cpp/ISVTrainer.cpp b/bob/learn/em/cpp/ISVTrainer.cpp
new file mode 100644
index 0000000..cd3caa4
--- /dev/null
+++ b/bob/learn/em/cpp/ISVTrainer.cpp
@@ -0,0 +1,130 @@
+/**
+ * @date Tue Jul 19 12:16:17 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief Joint Factor Analysis Trainer
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/ISVTrainer.h>
+#include <bob.core/check.h>
+#include <bob.core/array_copy.h>
+#include <bob.core/array_random.h>
+#include <bob.math/inv.h>
+#include <bob.math/linear.h>
+#include <bob.core/check.h>
+#include <bob.core/array_repmat.h>
+#include <algorithm>
+
+
+//////////////////////////// ISVTrainer ///////////////////////////
+bob::learn::em::ISVTrainer::ISVTrainer(const double relevance_factor):
+  m_relevance_factor(relevance_factor),
+  m_rng(new boost::mt19937())
+{}
+
+bob::learn::em::ISVTrainer::ISVTrainer(const bob::learn::em::ISVTrainer& other):
+  m_rng(other.m_rng)
+{
+  m_relevance_factor      = other.m_relevance_factor;
+}
+
+bob::learn::em::ISVTrainer::~ISVTrainer()
+{}
+
+bob::learn::em::ISVTrainer& bob::learn::em::ISVTrainer::operator=
+(const bob::learn::em::ISVTrainer& other)
+{
+  if (this != &other)
+  {
+    m_rng                   = other.m_rng;
+    m_relevance_factor      = other.m_relevance_factor;
+  }
+  return *this;
+}
+
+bool bob::learn::em::ISVTrainer::operator==(const bob::learn::em::ISVTrainer& b) const
+{
+  return m_rng == b.m_rng && 
+         m_relevance_factor == b.m_relevance_factor;
+}
+
+bool bob::learn::em::ISVTrainer::operator!=(const bob::learn::em::ISVTrainer& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::ISVTrainer::is_similar_to(const bob::learn::em::ISVTrainer& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  return  m_rng == b.m_rng && 
+          m_relevance_factor == b.m_relevance_factor;
+}
+
+void bob::learn::em::ISVTrainer::initialize(bob::learn::em::ISVBase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  m_base_trainer.initUbmNidSumStatistics(machine.getBase(), ar);
+  m_base_trainer.initializeXYZ(ar);
+
+  blitz::Array<double,2>& U = machine.updateU();
+  bob::core::array::randn(*m_rng, U);
+  initializeD(machine);
+  machine.precompute();
+}
+
+void bob::learn::em::ISVTrainer::initializeD(bob::learn::em::ISVBase& machine) const
+{
+  // D = sqrt(variance(UBM) / relevance_factor)
+  blitz::Array<double,1> d = machine.updateD();
+  d = sqrt(machine.getBase().getUbmVariance() / m_relevance_factor);
+}
+
+void bob::learn::em::ISVTrainer::eStep(bob::learn::em::ISVBase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  m_base_trainer.resetXYZ();
+
+  const bob::learn::em::FABase& base = machine.getBase();
+  m_base_trainer.updateX(base, ar);
+  m_base_trainer.updateZ(base, ar);
+  m_base_trainer.computeAccumulatorsU(base, ar);
+}
+
+void bob::learn::em::ISVTrainer::mStep(bob::learn::em::ISVBase& machine)
+{
+  blitz::Array<double,2>& U = machine.updateU();
+  m_base_trainer.updateU(U);
+  machine.precompute();
+}
+
+double bob::learn::em::ISVTrainer::computeLikelihood(bob::learn::em::ISVBase& machine)
+{
+  // TODO
+  return 0;
+}
+
+void bob::learn::em::ISVTrainer::enrol(bob::learn::em::ISVMachine& machine,
+  const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& ar,
+  const size_t n_iter)
+{
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > vvec;
+  vvec.push_back(ar);
+
+  const bob::learn::em::FABase& fb = machine.getISVBase()->getBase();
+
+  m_base_trainer.initUbmNidSumStatistics(fb, vvec);
+  m_base_trainer.initializeXYZ(vvec);
+
+  for (size_t i=0; i<n_iter; ++i) {
+    m_base_trainer.updateX(fb, vvec);
+    m_base_trainer.updateZ(fb, vvec);
+  }
+
+  const blitz::Array<double,1> z(m_base_trainer.getZ()[0]);
+  machine.setZ(z);
+}
+
+
+
diff --git a/bob/learn/em/cpp/IVectorMachine.cpp b/bob/learn/em/cpp/IVectorMachine.cpp
new file mode 100644
index 0000000..f9f4683
--- /dev/null
+++ b/bob/learn/em/cpp/IVectorMachine.cpp
@@ -0,0 +1,249 @@
+/**
+ * @date Sat Mar 30 21:00:00 2013 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/IVectorMachine.h>
+#include <bob.core/array_copy.h>
+#include <bob.core/check.h>
+#include <bob.math/linear.h>
+#include <bob.math/linsolve.h>
+
+bob::learn::em::IVectorMachine::IVectorMachine()
+{
+}
+
+bob::learn::em::IVectorMachine::IVectorMachine(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm,
+    const size_t rt, const double variance_threshold):
+  m_ubm(ubm), m_rt(rt),
+  m_T(getSupervectorLength(),rt), m_sigma(getSupervectorLength()),
+  m_variance_threshold(variance_threshold)
+{
+  resizePrecompute();
+}
+
+bob::learn::em::IVectorMachine::IVectorMachine(const bob::learn::em::IVectorMachine& other):
+  m_ubm(other.m_ubm), m_rt(other.m_rt),
+  m_T(bob::core::array::ccopy(other.m_T)),
+  m_sigma(bob::core::array::ccopy(other.m_sigma)),
+  m_variance_threshold(other.m_variance_threshold)
+{
+  resizePrecompute();
+}
+
+bob::learn::em::IVectorMachine::IVectorMachine(bob::io::base::HDF5File& config)
+{
+  load(config);
+}
+
+bob::learn::em::IVectorMachine::~IVectorMachine() {
+}
+
+void bob::learn::em::IVectorMachine::save(bob::io::base::HDF5File& config) const
+{
+  config.setArray("m_T", m_T);
+  config.setArray("m_sigma", m_sigma);
+  config.set("m_variance_threshold", m_variance_threshold);
+}
+
+void bob::learn::em::IVectorMachine::load(bob::io::base::HDF5File& config)
+{
+  //reads all data directly into the member variables
+  m_T.reference(config.readArray<double,2>("m_T"));
+  m_rt = m_T.extent(1);
+  m_sigma.reference(config.readArray<double,1>("m_sigma"));
+  m_variance_threshold = config.read<double>("m_variance_threshold");
+  resizePrecompute();
+}
+
+void bob::learn::em::IVectorMachine::resize(const size_t rt)
+{
+  m_rt = rt;
+  m_T.resizeAndPreserve(m_T.extent(0), rt);
+  resizePrecompute();
+}
+
+bob::learn::em::IVectorMachine&
+bob::learn::em::IVectorMachine::operator=(const bob::learn::em::IVectorMachine& other)
+{
+  if (this != &other)
+  {
+    m_ubm = other.m_ubm;
+    m_rt = other.m_rt;
+    m_T.reference(bob::core::array::ccopy(other.m_T));
+    m_sigma.reference(bob::core::array::ccopy(other.m_sigma));
+    m_variance_threshold = other.m_variance_threshold;
+    resizePrecompute();
+  }
+  return *this;
+}
+
+bool bob::learn::em::IVectorMachine::operator==(const IVectorMachine& b) const
+{
+  return (((m_ubm && b.m_ubm) && *m_ubm == *(b.m_ubm)) || (!m_ubm && !b.m_ubm)) &&
+         m_rt == b.m_rt &&
+         bob::core::array::isEqual(m_T, b.m_T) &&
+         bob::core::array::isEqual(m_sigma, b.m_sigma) &&
+         m_variance_threshold == b.m_variance_threshold;
+}
+
+bool bob::learn::em::IVectorMachine::operator!=(const bob::learn::em::IVectorMachine& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::IVectorMachine::is_similar_to(const IVectorMachine& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  // TODO: update with new is_similar_to method
+  return (((m_ubm && b.m_ubm) && m_ubm->is_similar_to(*(b.m_ubm), r_epsilon)) || (!m_ubm && !b.m_ubm)) &&
+          m_rt == b.m_rt &&
+          bob::core::array::isClose(m_T, b.m_T, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_sigma, b.m_sigma, r_epsilon, a_epsilon) &&
+          bob::core::isClose(m_variance_threshold, b.m_variance_threshold, r_epsilon, a_epsilon);
+}
+
+void bob::learn::em::IVectorMachine::setUbm(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm)
+{
+  m_ubm = ubm;
+  resizePrecompute();
+}
+
+void bob::learn::em::IVectorMachine::setT(const blitz::Array<double,2>& T)
+{
+  bob::core::array::assertSameShape(m_T, T);
+  m_T = T;
+  // Update cache
+  precompute();
+}
+
+void bob::learn::em::IVectorMachine::setSigma(const blitz::Array<double,1>& sigma)
+{
+  bob::core::array::assertSameShape(m_sigma, sigma);
+  m_sigma = sigma;
+  // Update cache
+  precompute();
+}
+
+
+void bob::learn::em::IVectorMachine::setVarianceThreshold(const double thd)
+{
+  m_variance_threshold = thd;
+  // Update cache
+  precompute();
+}
+
+void bob::learn::em::IVectorMachine::applyVarianceThreshold()
+{
+  // Apply variance flooring threshold
+  m_sigma = blitz::where(m_sigma < m_variance_threshold, m_variance_threshold, m_sigma);
+}
+
+void bob::learn::em::IVectorMachine::precompute()
+{
+  if (m_ubm)
+  {
+    // Apply variance threshold
+    applyVarianceThreshold();
+
+    blitz::firstIndex i;
+    blitz::secondIndex j;
+    blitz::Range rall = blitz::Range::all();
+    const int C = (int)m_ubm->getNGaussians();
+    const int D = (int)m_ubm->getNInputs();
+    // T_{c}^{T}.sigma_{c}^{-1}
+    for (int c=0; c<C; ++c)
+    {
+      blitz::Array<double,2> Tct_sigmacInv = m_cache_Tct_sigmacInv(c, rall, rall);
+      blitz::Array<double,2> Tc = m_T(blitz::Range(c*D,(c+1)*D-1), rall);
+      blitz::Array<double,2> Tct = Tc.transpose(1,0);
+      blitz::Array<double,1> sigma_c = m_sigma(blitz::Range(c*D,(c+1)*D-1));
+      Tct_sigmacInv = Tct(i,j) / sigma_c(j);
+    }
+
+    // T_{c}^{T}.sigma_{c}^{-1}.T_{c}
+    for (int c=0; c<C; ++c)
+    {
+      blitz::Array<double,2> Tc = m_T(blitz::Range(c*D,(c+1)*D-1), rall);
+      blitz::Array<double,2> Tct_sigmacInv = m_cache_Tct_sigmacInv(c, rall, rall);
+      blitz::Array<double,2> Tct_sigmacInv_Tc = m_cache_Tct_sigmacInv_Tc(c, rall, rall);
+      bob::math::prod(Tct_sigmacInv, Tc, Tct_sigmacInv_Tc);
+    }
+  }
+}
+
+void bob::learn::em::IVectorMachine::resizePrecompute()
+{
+  resizeCache();
+  resizeTmp();
+  precompute();
+}
+
+void bob::learn::em::IVectorMachine::resizeCache()
+{
+  if (m_ubm)
+  {
+    const int C = (int)m_ubm->getNGaussians();
+    const int D = (int)m_ubm->getNInputs();
+    m_cache_Tct_sigmacInv.resize(C, (int)m_rt, D);
+    m_cache_Tct_sigmacInv_Tc.resize(C, (int)m_rt, (int)m_rt);
+  }
+}
+
+void bob::learn::em::IVectorMachine::resizeTmp()
+{
+  if (m_ubm)
+    m_tmp_d.resize(m_ubm->getNInputs());
+  m_tmp_t1.resize(m_rt);
+  m_tmp_t2.resize(m_rt);
+  m_tmp_tt.resize(m_rt, m_rt);
+}
+
+void bob::learn::em::IVectorMachine::forward(const bob::learn::em::GMMStats& gs,
+  blitz::Array<double,1>& ivector) const
+{
+  bob::core::array::assertSameDimensionLength(ivector.extent(0), (int)m_rt);  
+  forward_(gs, ivector);
+}
+
+void bob::learn::em::IVectorMachine::computeIdTtSigmaInvT(
+  const bob::learn::em::GMMStats& gs, blitz::Array<double,2>& output) const
+{
+  // Computes \f$(Id + \sum_{c=1}^{C} N_{i,j,c} T^{T} \Sigma_{c}^{-1} T)\f$
+  blitz::Range rall = blitz::Range::all();
+  bob::math::eye(output);
+  for (int c=0; c<(int)getNGaussians(); ++c)
+    output += gs.n(c) * m_cache_Tct_sigmacInv_Tc(c, rall, rall);
+}
+
+void bob::learn::em::IVectorMachine::computeTtSigmaInvFnorm(
+  const bob::learn::em::GMMStats& gs, blitz::Array<double,1>& output) const
+{
+  // Computes \f$T^{T} \Sigma^{-1} \sum_{c=1}^{C} (F_c - N_c ubmmean_{c})\f$
+  blitz::Range rall = blitz::Range::all();
+  output = 0;
+  for (int c=0; c<(int)getNGaussians(); ++c)
+  {
+    m_tmp_d = gs.sumPx(c,rall) - gs.n(c) * m_ubm->getGaussian(c)->getMean();
+    blitz::Array<double,2> Tct_sigmacInv = m_cache_Tct_sigmacInv(c, rall, rall);
+    bob::math::prod(Tct_sigmacInv, m_tmp_d, m_tmp_t2);
+
+    output += m_tmp_t2;
+  }
+}
+
+void bob::learn::em::IVectorMachine::forward_(const bob::learn::em::GMMStats& gs,
+  blitz::Array<double,1>& ivector) const
+{
+  // Computes \f$(Id + \sum_{c=1}^{C} N_{i,j,c} T^{T} \Sigma_{c}^{-1} T)\f$
+  computeIdTtSigmaInvT(gs, m_tmp_tt);
+
+  // Computes \f$T^{T} \Sigma^{-1} \sum_{c=1}^{C} (F_c - N_c ubmmean_{c})\f$
+  computeTtSigmaInvFnorm(gs, m_tmp_t1);
+
+  // Solves m_tmp_tt.ivector = m_tmp_t1
+  bob::math::linsolve(m_tmp_tt, ivector, m_tmp_t1);
+}
+
diff --git a/bob/learn/em/cpp/IVectorTrainer.cpp b/bob/learn/em/cpp/IVectorTrainer.cpp
new file mode 100644
index 0000000..82ad250
--- /dev/null
+++ b/bob/learn/em/cpp/IVectorTrainer.cpp
@@ -0,0 +1,228 @@
+/**
+ * @date Sun Mar 31 20:15:00 2013 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+
+#include <bob.learn.em/IVectorTrainer.h>
+#include <bob.core/check.h>
+#include <bob.core/array_copy.h>
+#include <bob.core/array_random.h>
+#include <bob.math/inv.h>
+#include <bob.core/check.h>
+#include <bob.core/array_repmat.h>
+#include <algorithm>
+
+#include <bob.math/linear.h>
+#include <bob.math/linsolve.h>
+
+bob::learn::em::IVectorTrainer::IVectorTrainer(const bool update_sigma):
+  m_update_sigma(update_sigma),
+  m_rng(new boost::mt19937())
+{}
+
+bob::learn::em::IVectorTrainer::IVectorTrainer(const bob::learn::em::IVectorTrainer& other):
+  m_update_sigma(other.m_update_sigma)
+{
+  m_rng                   = other.m_rng;
+  m_acc_Nij_wij2.reference(bob::core::array::ccopy(other.m_acc_Nij_wij2));
+  m_acc_Fnormij_wij.reference(bob::core::array::ccopy(other.m_acc_Fnormij_wij));
+  m_acc_Nij.reference(bob::core::array::ccopy(other.m_acc_Nij));
+  m_acc_Snormij.reference(bob::core::array::ccopy(other.m_acc_Snormij));
+
+  m_tmp_wij.reference(bob::core::array::ccopy(other.m_tmp_wij));
+  m_tmp_wij2.reference(bob::core::array::ccopy(other.m_tmp_wij2));
+  m_tmp_d1.reference(bob::core::array::ccopy(other.m_tmp_d1));
+  m_tmp_t1.reference(bob::core::array::ccopy(other.m_tmp_t1));
+  m_tmp_dd1.reference(bob::core::array::ccopy(other.m_tmp_dd1));
+  m_tmp_dt1.reference(bob::core::array::ccopy(other.m_tmp_dt1));
+  m_tmp_tt1.reference(bob::core::array::ccopy(other.m_tmp_tt1));
+  m_tmp_tt2.reference(bob::core::array::ccopy(other.m_tmp_tt2));
+}
+
+bob::learn::em::IVectorTrainer::~IVectorTrainer()
+{
+}
+
+void bob::learn::em::IVectorTrainer::initialize(
+  bob::learn::em::IVectorMachine& machine)
+{
+
+  const int C = machine.getNGaussians();
+  const int D = machine.getNInputs();
+  const int Rt = machine.getDimRt();
+
+  // Cache
+  m_acc_Nij_wij2.resize(C,Rt,Rt);
+  m_acc_Fnormij_wij.resize(C,D,Rt);
+  if (m_update_sigma)
+  {
+    m_acc_Nij.resize(C);
+    m_acc_Snormij.resize(C,D);
+  }
+
+  // Tmp
+  m_tmp_wij.resize(Rt);
+  m_tmp_wij2.resize(Rt,Rt);
+  m_tmp_d1.resize(D);
+  m_tmp_t1.resize(Rt);
+
+  m_tmp_dt1.resize(D,Rt);
+  m_tmp_tt1.resize(Rt,Rt);
+  m_tmp_tt2.resize(Rt,Rt);
+  if (m_update_sigma)
+    m_tmp_dd1.resize(D,D);
+
+  // Initializes \f$T\f$ and \f$\Sigma\f$ of the machine
+  blitz::Array<double,2>& T = machine.updateT();
+  bob::core::array::randn(*m_rng, T);
+  blitz::Array<double,1>& sigma = machine.updateSigma();
+  sigma = machine.getUbm()->getVarianceSupervector();
+  machine.precompute();
+}
+
+void bob::learn::em::IVectorTrainer::eStep(
+  bob::learn::em::IVectorMachine& machine,
+  const std::vector<bob::learn::em::GMMStats>& data)
+{
+  blitz::Range rall = blitz::Range::all();
+  const int C = machine.getNGaussians();
+
+  // Reinitializes accumulators to 0
+  m_acc_Nij_wij2 = 0.;
+  m_acc_Fnormij_wij = 0.;
+  if (m_update_sigma)
+  {
+    m_acc_Nij = 0.;
+    m_acc_Snormij = 0.;
+  }
+  for (std::vector<bob::learn::em::GMMStats>::const_iterator it = data.begin();
+       it != data.end(); ++it)
+  {
+    // Computes E{wij} and E{wij.wij^{T}}
+    // a. Computes \f$T^{T} \Sigma^{-1} F_{norm}\f$
+    machine.computeTtSigmaInvFnorm(*it, m_tmp_t1);
+    // b. Computes \f$Id + T^{T} \Sigma^{-1} T\f$
+    machine.computeIdTtSigmaInvT(*it, m_tmp_tt1);
+    // c. Computes \f$(Id + T^{T} \Sigma^{-1} T)^{-1}\f$
+
+    bob::math::inv(m_tmp_tt1, m_tmp_tt2);
+    // d. Computes \f$E{wij} = (Id + T^{T} \Sigma^{-1} T)^{-1} T^{T} \Sigma^{-1} F_{norm}\f$
+    bob::math::prod(m_tmp_tt2, m_tmp_t1, m_tmp_wij); // E{wij}
+    // e.  Computes \f$E{wij}.E{wij^{T}}\f$
+    bob::math::prod(m_tmp_wij, m_tmp_wij, m_tmp_wij2);
+    // f. Computes \f$E{wij.wij^{T}} = (Id + T^{T} \Sigma^{-1} T)^{-1} + E{wij}.E{wij^{T}}\f$
+    m_tmp_wij2 += m_tmp_tt2; // E{wij.wij^{T}}
+
+    if (m_update_sigma)
+      m_acc_Nij += (*it).n;
+
+    for (int c=0; c<C; ++c)
+    {
+      blitz::Array<double,2> acc_Nij_wij2_c = m_acc_Nij_wij2(c,rall,rall);
+      blitz::Array<double,2> acc_Fnormij_wij = m_acc_Fnormij_wij(c,rall,rall);
+      // acc_Nij_wij2_c += Nijc . E{wij.wij^{T}}
+      acc_Nij_wij2_c += (*it).n(c) * m_tmp_wij2;
+      blitz::Array<double,1> mc = machine.getUbm()->getGaussian(c)->getMean();
+      // m_tmp_d1 = Fijc - Nijc * ubmmean_{c}
+      m_tmp_d1 = (*it).sumPx(c,rall) - (*it).n(c)*mc; // Fnorm_c
+      // m_tmp_dt1 = (Fijc - Nijc * ubmmean_{c}).E{wij}^{T}
+      bob::math::prod(m_tmp_d1, m_tmp_wij, m_tmp_dt1);
+      // acc_Fnormij_wij += (Fijc - Nijc * ubmmean_{c}).E{wij}^{T}
+      acc_Fnormij_wij += m_tmp_dt1;
+      if (m_update_sigma)
+      {
+        blitz::Array<double,1> acc_Snormij_c = m_acc_Snormij(c,rall);
+        acc_Snormij_c += (*it).sumPxx(c,rall) - mc*((*it).sumPx(c,rall) + m_tmp_d1);
+      }
+    }
+  }
+}
+
+void bob::learn::em::IVectorTrainer::mStep(
+  bob::learn::em::IVectorMachine& machine)
+{
+  blitz::Range rall = blitz::Range::all();
+  blitz::Array<double,2>& T = machine.updateT();
+  blitz::Array<double,1>& sigma = machine.updateSigma();
+  const int C = (int)machine.getNGaussians();
+  const int D = (int)machine.getNInputs();
+  for (int c=0; c<C; ++c)
+  {
+    // Solves linear system A.T = B to update T, based on accumulators of
+    // the eStep()
+    blitz::Array<double,2> acc_Nij_wij2_c = m_acc_Nij_wij2(c,rall,rall);
+    blitz::Array<double,2> tacc_Nij_wij2_c = acc_Nij_wij2_c.transpose(1,0);
+    blitz::Array<double,2> acc_Fnormij_wij_c = m_acc_Fnormij_wij(c,rall,rall);
+    blitz::Array<double,2> tacc_Fnormij_wij_c = acc_Fnormij_wij_c.transpose(1,0);
+    blitz::Array<double,2> T_c = T(blitz::Range(c*D,(c+1)*D-1),rall);
+    blitz::Array<double,2> Tt_c = T_c.transpose(1,0);
+    if (blitz::all(acc_Nij_wij2_c == 0)) // TODO
+      Tt_c = 0;
+    else
+      bob::math::linsolve(tacc_Nij_wij2_c, Tt_c, tacc_Fnormij_wij_c);
+    if (m_update_sigma)
+    {
+      blitz::Array<double,1> sigma_c = sigma(blitz::Range(c*D,(c+1)*D-1));
+      bob::math::prod(acc_Fnormij_wij_c, Tt_c, m_tmp_dd1);
+      bob::math::diag(m_tmp_dd1, m_tmp_d1);
+      sigma_c = (m_acc_Snormij(c,rall) - m_tmp_d1) / m_acc_Nij(c);
+    }
+  }
+  machine.precompute();
+}
+
+
+bob::learn::em::IVectorTrainer& bob::learn::em::IVectorTrainer::operator=
+  (const bob::learn::em::IVectorTrainer &other)
+{
+  if (this != &other)
+  {    
+    m_update_sigma = other.m_update_sigma;
+
+    m_acc_Nij_wij2.reference(bob::core::array::ccopy(other.m_acc_Nij_wij2));
+    m_acc_Fnormij_wij.reference(bob::core::array::ccopy(other.m_acc_Fnormij_wij));
+    m_acc_Nij.reference(bob::core::array::ccopy(other.m_acc_Nij));
+    m_acc_Snormij.reference(bob::core::array::ccopy(other.m_acc_Snormij));
+
+    m_tmp_wij.reference(bob::core::array::ccopy(other.m_tmp_wij));
+    m_tmp_wij2.reference(bob::core::array::ccopy(other.m_tmp_wij2));
+    m_tmp_d1.reference(bob::core::array::ccopy(other.m_tmp_d1));
+    m_tmp_t1.reference(bob::core::array::ccopy(other.m_tmp_t1));
+    m_tmp_dd1.reference(bob::core::array::ccopy(other.m_tmp_dd1));
+    m_tmp_dt1.reference(bob::core::array::ccopy(other.m_tmp_dt1));
+    m_tmp_tt1.reference(bob::core::array::ccopy(other.m_tmp_tt1));
+    m_tmp_tt2.reference(bob::core::array::ccopy(other.m_tmp_tt2));
+  }
+  return *this;
+}
+
+bool bob::learn::em::IVectorTrainer::operator==
+  (const bob::learn::em::IVectorTrainer &other) const
+{
+  return m_update_sigma == other.m_update_sigma &&
+         bob::core::array::isEqual(m_acc_Nij_wij2, other.m_acc_Nij_wij2) &&
+         bob::core::array::isEqual(m_acc_Fnormij_wij, other.m_acc_Fnormij_wij) &&
+         bob::core::array::isEqual(m_acc_Nij, other.m_acc_Nij) &&
+         bob::core::array::isEqual(m_acc_Snormij, other.m_acc_Snormij);
+}
+
+bool bob::learn::em::IVectorTrainer::operator!=
+  (const bob::learn::em::IVectorTrainer &other) const
+{
+  return !(this->operator==(other));
+}
+
+bool bob::learn::em::IVectorTrainer::is_similar_to
+  (const bob::learn::em::IVectorTrainer &other, const double r_epsilon,
+   const double a_epsilon) const
+{
+  return m_update_sigma == other.m_update_sigma &&
+         bob::core::array::isClose(m_acc_Nij_wij2, other.m_acc_Nij_wij2, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_acc_Fnormij_wij, other.m_acc_Fnormij_wij, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_acc_Nij, other.m_acc_Nij, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_acc_Snormij, other.m_acc_Snormij, r_epsilon, a_epsilon);
+}
+
diff --git a/bob/learn/em/cpp/JFABase.cpp b/bob/learn/em/cpp/JFABase.cpp
new file mode 100644
index 0000000..b80bfd3
--- /dev/null
+++ b/bob/learn/em/cpp/JFABase.cpp
@@ -0,0 +1,75 @@
+/**
+ * @date Tue Jan 27 15:54:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+
+#include <bob.learn.em/JFABase.h>
+#include <bob.core/array_copy.h>
+#include <bob.math/linear.h>
+#include <bob.math/inv.h>
+#include <bob.learn.em/LinearScoring.h>
+#include <limits>
+
+
+//////////////////// JFABase ////////////////////
+bob::learn::em::JFABase::JFABase()
+{
+}
+
+bob::learn::em::JFABase::JFABase(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm,
+    const size_t ru, const size_t rv):
+  m_base(ubm, ru, rv)
+{
+}
+
+bob::learn::em::JFABase::JFABase(const bob::learn::em::JFABase& other):
+  m_base(other.m_base)
+{
+}
+
+
+bob::learn::em::JFABase::JFABase(bob::io::base::HDF5File& config)
+{
+  load(config);
+}
+
+bob::learn::em::JFABase::~JFABase() {
+}
+
+void bob::learn::em::JFABase::save(bob::io::base::HDF5File& config) const
+{
+  config.setArray("U", m_base.getU());
+  config.setArray("V", m_base.getV());
+  config.setArray("d", m_base.getD());
+}
+
+void bob::learn::em::JFABase::load(bob::io::base::HDF5File& config)
+{
+  //reads all data directly into the member variables
+  blitz::Array<double,2> U = config.readArray<double,2>("U");
+  blitz::Array<double,2> V = config.readArray<double,2>("V");
+  blitz::Array<double,1> d = config.readArray<double,1>("d");
+  const int ru = U.extent(1);
+  const int rv = V.extent(1);
+  if (!m_base.getUbm())
+    m_base.resize(ru, rv, U.extent(0));
+  else
+    m_base.resize(ru, rv);
+  m_base.setU(U);
+  m_base.setV(V);
+  m_base.setD(d);
+}
+
+bob::learn::em::JFABase&
+bob::learn::em::JFABase::operator=(const bob::learn::em::JFABase& other)
+{
+  if (this != &other)
+  {
+    m_base = other.m_base;
+  }
+  return *this;
+}
diff --git a/bob/learn/em/cpp/JFAMachine.cpp b/bob/learn/em/cpp/JFAMachine.cpp
new file mode 100644
index 0000000..508c500
--- /dev/null
+++ b/bob/learn/em/cpp/JFAMachine.cpp
@@ -0,0 +1,206 @@
+/**
+ * @date Tue Jan 27 16:47:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+
+#include <bob.learn.em/JFAMachine.h>
+#include <bob.core/array_copy.h>
+#include <bob.math/linear.h>
+#include <bob.math/inv.h>
+#include <bob.learn.em/LinearScoring.h>
+#include <limits>
+
+
+//////////////////// JFAMachine ////////////////////
+bob::learn::em::JFAMachine::JFAMachine():
+  m_y(1), m_z(1)
+{
+  resizeTmp();
+}
+
+bob::learn::em::JFAMachine::JFAMachine(const boost::shared_ptr<bob::learn::em::JFABase> jfa_base):
+  m_jfa_base(jfa_base),
+  m_y(jfa_base->getDimRv()), m_z(jfa_base->getSupervectorLength())
+{
+  if (!m_jfa_base->getUbm()) throw std::runtime_error("No UBM was set in the JFA machine.");
+  updateCache();
+  resizeTmp();
+}
+
+
+bob::learn::em::JFAMachine::JFAMachine(const bob::learn::em::JFAMachine& other):
+  m_jfa_base(other.m_jfa_base),
+  m_y(bob::core::array::ccopy(other.m_y)),
+  m_z(bob::core::array::ccopy(other.m_z))
+{
+  updateCache();
+  resizeTmp();
+}
+
+bob::learn::em::JFAMachine::JFAMachine(bob::io::base::HDF5File& config)
+{
+  load(config);
+}
+
+bob::learn::em::JFAMachine::~JFAMachine() {
+}
+
+bob::learn::em::JFAMachine&
+bob::learn::em::JFAMachine::operator=(const bob::learn::em::JFAMachine& other)
+{
+  if (this != &other)
+  {
+    m_jfa_base = other.m_jfa_base;
+    m_y.reference(bob::core::array::ccopy(other.m_y));
+    m_z.reference(bob::core::array::ccopy(other.m_z));
+  }
+  return *this;
+}
+
+bool bob::learn::em::JFAMachine::operator==(const bob::learn::em::JFAMachine& other) const
+{
+  return (*m_jfa_base == *(other.m_jfa_base) &&
+          bob::core::array::isEqual(m_y, other.m_y) &&
+          bob::core::array::isEqual(m_z, other.m_z));
+}
+
+bool bob::learn::em::JFAMachine::operator!=(const bob::learn::em::JFAMachine& b) const
+{
+  return !(this->operator==(b));
+}
+
+
+bool bob::learn::em::JFAMachine::is_similar_to(const bob::learn::em::JFAMachine& b,
+    const double r_epsilon, const double a_epsilon) const
+{
+  return (m_jfa_base->is_similar_to(*(b.m_jfa_base), r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_y, b.m_y, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_z, b.m_z, r_epsilon, a_epsilon));
+}
+
+void bob::learn::em::JFAMachine::save(bob::io::base::HDF5File& config) const
+{
+  config.setArray("y", m_y);
+  config.setArray("z", m_z);
+}
+
+void bob::learn::em::JFAMachine::load(bob::io::base::HDF5File& config)
+{
+  //reads all data directly into the member variables
+  blitz::Array<double,1> y = config.readArray<double,1>("y");
+  blitz::Array<double,1> z = config.readArray<double,1>("z");
+  if (!m_jfa_base)
+  {
+    m_y.resize(y.extent(0));
+    m_z.resize(z.extent(0));
+  }
+  setY(y);
+  setZ(z);
+  // update cache
+  updateCache();
+  resizeTmp();
+}
+
+
+void bob::learn::em::JFAMachine::setY(const blitz::Array<double,1>& y)
+{
+  if(y.extent(0) != m_y.extent(0)) { //checks dimension
+    boost::format m("size of input vector `y' (%d) does not match the expected size (%d)");
+    m % y.extent(0) % m_y.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  m_y.reference(bob::core::array::ccopy(y));
+  // update cache
+  updateCache();
+}
+
+void bob::learn::em::JFAMachine::setZ(const blitz::Array<double,1>& z)
+{
+  if(z.extent(0) != m_z.extent(0)) { //checks dimension
+    boost::format m("size of input vector `z' (%d) does not match the expected size (%d)");
+    m % z.extent(0) % m_z.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  m_z.reference(bob::core::array::ccopy(z));
+  // update cache
+  updateCache();
+}
+
+void bob::learn::em::JFAMachine::setJFABase(const boost::shared_ptr<bob::learn::em::JFABase> jfa_base)
+{
+  if (!jfa_base->getUbm())
+    throw std::runtime_error("No UBM was set in the JFA machine.");
+  m_jfa_base = jfa_base;
+  // Resize variables
+  resize();
+}
+
+void bob::learn::em::JFAMachine::resize()
+{
+  m_y.resizeAndPreserve(getDimRv());
+  m_z.resizeAndPreserve(getSupervectorLength());
+  updateCache();
+  resizeTmp();
+}
+
+void bob::learn::em::JFAMachine::resizeTmp()
+{
+  if (m_jfa_base)
+  {
+    m_tmp_Ux.resize(getSupervectorLength());
+  }
+}
+
+void bob::learn::em::JFAMachine::updateCache()
+{
+  if (m_jfa_base)
+  {
+    // m + Vy + Dz
+    m_cache_mVyDz.resize(getSupervectorLength());
+    bob::math::prod(m_jfa_base->getV(), m_y, m_cache_mVyDz);
+    m_cache_mVyDz += m_jfa_base->getD()*m_z + m_jfa_base->getUbm()->getMeanSupervector();
+    m_cache_x.resize(getDimRu());
+  }
+}
+
+void bob::learn::em::JFAMachine::estimateUx(const bob::learn::em::GMMStats& gmm_stats,
+  blitz::Array<double,1>& Ux)
+{
+  estimateX(gmm_stats, m_cache_x);
+  bob::math::prod(m_jfa_base->getU(), m_cache_x, Ux);
+}
+
+double bob::learn::em::JFAMachine::forward(const bob::learn::em::GMMStats& input)
+{
+  return forward_(input);
+}
+
+double bob::learn::em::JFAMachine::forward(const bob::learn::em::GMMStats& gmm_stats,
+  const blitz::Array<double,1>& Ux)
+{
+  // Checks that a Base machine has been set
+  if (!m_jfa_base) throw std::runtime_error("No UBM was set in the JFA machine.");
+
+  return bob::learn::em::linearScoring(m_cache_mVyDz,
+            m_jfa_base->getUbm()->getMeanSupervector(), m_jfa_base->getUbm()->getVarianceSupervector(),
+            gmm_stats, Ux, true);
+}
+
+double bob::learn::em::JFAMachine::forward_(const bob::learn::em::GMMStats& input)
+{
+  // Checks that a Base machine has been set
+  if (!m_jfa_base) throw std::runtime_error("No UBM was set in the JFA machine.");
+
+  // Ux and GMMStats
+  estimateX(input, m_cache_x);
+  bob::math::prod(m_jfa_base->getU(), m_cache_x, m_tmp_Ux);
+
+  return bob::learn::em::linearScoring(m_cache_mVyDz,
+            m_jfa_base->getUbm()->getMeanSupervector(), m_jfa_base->getUbm()->getVarianceSupervector(),
+            input, m_tmp_Ux, true);
+}
+
diff --git a/bob/learn/em/cpp/JFATrainer.cpp b/bob/learn/em/cpp/JFATrainer.cpp
new file mode 100644
index 0000000..9feaea7
--- /dev/null
+++ b/bob/learn/em/cpp/JFATrainer.cpp
@@ -0,0 +1,200 @@
+/**
+ * @date Tue Jul 19 12:16:17 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief Joint Factor Analysis Trainer
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/JFATrainer.h>
+#include <bob.core/check.h>
+#include <bob.core/array_copy.h>
+#include <bob.core/array_random.h>
+#include <bob.math/inv.h>
+#include <bob.math/linear.h>
+#include <bob.core/check.h>
+#include <bob.core/array_repmat.h>
+#include <algorithm>
+
+
+//////////////////////////// JFATrainer ///////////////////////////
+bob::learn::em::JFATrainer::JFATrainer():
+  m_rng(new boost::mt19937())
+{}
+
+bob::learn::em::JFATrainer::JFATrainer(const bob::learn::em::JFATrainer& other):
+ m_rng(other.m_rng)
+{}
+
+bob::learn::em::JFATrainer::~JFATrainer()
+{}
+
+bob::learn::em::JFATrainer& bob::learn::em::JFATrainer::operator=
+(const bob::learn::em::JFATrainer& other)
+{
+  if (this != &other)
+  {
+    //m_max_iterations = other.m_max_iterations;
+    m_rng = other.m_rng;
+  }
+  return *this;
+}
+
+bool bob::learn::em::JFATrainer::operator==(const bob::learn::em::JFATrainer& b) const
+{
+  //return m_max_iterations == b.m_max_iterations && *m_rng == *(b.m_rng);
+  return *m_rng == *(b.m_rng);
+}
+
+bool bob::learn::em::JFATrainer::operator!=(const bob::learn::em::JFATrainer& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::JFATrainer::is_similar_to(const bob::learn::em::JFATrainer& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  //return m_max_iterations == b.m_max_iterations && *m_rng == *(b.m_rng);
+  return *m_rng == *(b.m_rng);
+}
+
+void bob::learn::em::JFATrainer::initialize(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  m_base_trainer.initUbmNidSumStatistics(machine.getBase(), ar);
+  m_base_trainer.initializeXYZ(ar);
+
+  blitz::Array<double,2>& U = machine.updateU();
+  bob::core::array::randn(*m_rng, U);
+  blitz::Array<double,2>& V = machine.updateV();
+  bob::core::array::randn(*m_rng, V);
+  blitz::Array<double,1>& D = machine.updateD();
+  bob::core::array::randn(*m_rng, D);
+  machine.precompute();
+}
+
+void bob::learn::em::JFATrainer::eStep1(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  const bob::learn::em::FABase& base = machine.getBase();
+  m_base_trainer.updateY(base, ar);
+  m_base_trainer.computeAccumulatorsV(base, ar);
+}
+
+void bob::learn::em::JFATrainer::mStep1(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  blitz::Array<double,2>& V = machine.updateV();
+  m_base_trainer.updateV(V);
+}
+
+void bob::learn::em::JFATrainer::finalize1(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  const bob::learn::em::FABase& base = machine.getBase();
+  m_base_trainer.updateY(base, ar);
+}
+
+
+void bob::learn::em::JFATrainer::eStep2(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  const bob::learn::em::FABase& base = machine.getBase();
+  m_base_trainer.updateX(base, ar);
+  m_base_trainer.computeAccumulatorsU(base, ar);
+}
+
+void bob::learn::em::JFATrainer::mStep2(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  blitz::Array<double,2>& U = machine.updateU();
+  m_base_trainer.updateU(U);
+  machine.precompute();
+}
+
+void bob::learn::em::JFATrainer::finalize2(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  const bob::learn::em::FABase& base = machine.getBase();
+  m_base_trainer.updateX(base, ar);
+}
+
+
+void bob::learn::em::JFATrainer::eStep3(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  const bob::learn::em::FABase& base = machine.getBase();
+  m_base_trainer.updateZ(base, ar);
+  m_base_trainer.computeAccumulatorsD(base, ar);
+}
+
+void bob::learn::em::JFATrainer::mStep3(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  blitz::Array<double,1>& d = machine.updateD();
+  m_base_trainer.updateD(d);
+}
+
+void bob::learn::em::JFATrainer::finalize3(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+}
+
+/*
+void bob::learn::em::JFATrainer::train_loop(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  // V subspace
+  for (size_t i=0; i<m_max_iterations; ++i) {
+    eStep1(machine, ar);
+    mStep1(machine, ar);
+  }
+  finalize1(machine, ar);
+  // U subspace
+  for (size_t i=0; i<m_max_iterations; ++i) {
+    eStep2(machine, ar);
+    mStep2(machine, ar);
+  }
+  finalize2(machine, ar);
+  // d subspace
+  for (size_t i=0; i<m_max_iterations; ++i) {
+    eStep3(machine, ar);
+    mStep3(machine, ar);
+  }
+  finalize3(machine, ar);
+}*/
+
+/*
+void bob::learn::em::JFATrainer::train(bob::learn::em::JFABase& machine,
+  const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar)
+{
+  initialize(machine, ar);
+  train_loop(machine, ar);
+}
+*/
+
+void bob::learn::em::JFATrainer::enrol(bob::learn::em::JFAMachine& machine,
+  const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& ar,
+  const size_t n_iter)
+{
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > vvec;
+  vvec.push_back(ar);
+
+  const bob::learn::em::FABase& fb = machine.getJFABase()->getBase();
+
+  m_base_trainer.initUbmNidSumStatistics(fb, vvec);
+  m_base_trainer.initializeXYZ(vvec);
+
+  for (size_t i=0; i<n_iter; ++i) {
+    m_base_trainer.updateY(fb, vvec);
+    m_base_trainer.updateX(fb, vvec);
+    m_base_trainer.updateZ(fb, vvec);
+  }
+
+  const blitz::Array<double,1> y(m_base_trainer.getY()[0]);
+  const blitz::Array<double,1> z(m_base_trainer.getZ()[0]);
+  machine.setY(y);
+  machine.setZ(z);
+}
+
diff --git a/bob/learn/em/cpp/KMeansMachine.cpp b/bob/learn/em/cpp/KMeansMachine.cpp
new file mode 100644
index 0000000..395cb14
--- /dev/null
+++ b/bob/learn/em/cpp/KMeansMachine.cpp
@@ -0,0 +1,258 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/KMeansMachine.h>
+
+#include <bob.core/assert.h>
+#include <bob.core/check.h>
+#include <bob.core/array_copy.h>
+#include <limits>
+
+bob::learn::em::KMeansMachine::KMeansMachine():
+  m_n_means(0), m_n_inputs(0), m_means(0,0),
+  m_cache_means(0,0)
+{
+  m_means = 0;
+}
+
+bob::learn::em::KMeansMachine::KMeansMachine(const size_t n_means, const size_t n_inputs):
+  m_n_means(n_means), m_n_inputs(n_inputs), m_means(n_means, n_inputs),
+  m_cache_means(n_means, n_inputs)
+{
+  m_means = 0;
+}
+
+bob::learn::em::KMeansMachine::KMeansMachine(const blitz::Array<double,2>& means):
+  m_n_means(means.extent(0)), m_n_inputs(means.extent(1)),
+  m_means(bob::core::array::ccopy(means)),
+  m_cache_means(means.shape())
+{
+}
+
+bob::learn::em::KMeansMachine::KMeansMachine(const bob::learn::em::KMeansMachine& other):
+  m_n_means(other.m_n_means), m_n_inputs(other.m_n_inputs),
+  m_means(bob::core::array::ccopy(other.m_means)),
+  m_cache_means(other.m_cache_means.shape())
+{
+}
+
+bob::learn::em::KMeansMachine::KMeansMachine(bob::io::base::HDF5File& config)
+{
+  load(config);
+}
+
+bob::learn::em::KMeansMachine::~KMeansMachine() { }
+
+bob::learn::em::KMeansMachine& bob::learn::em::KMeansMachine::operator=
+(const bob::learn::em::KMeansMachine& other)
+{
+  if(this != &other)
+  {
+    m_n_means = other.m_n_means;
+    m_n_inputs = other.m_n_inputs;
+    m_means.reference(bob::core::array::ccopy(other.m_means));
+    m_cache_means.resize(other.m_means.shape());
+  }
+  return *this;
+}
+
+bool bob::learn::em::KMeansMachine::operator==(const bob::learn::em::KMeansMachine& b) const
+{
+  return m_n_inputs == b.m_n_inputs && m_n_means == b.m_n_means &&
+         bob::core::array::isEqual(m_means, b.m_means);
+}
+
+bool bob::learn::em::KMeansMachine::operator!=(const bob::learn::em::KMeansMachine& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::KMeansMachine::is_similar_to(const bob::learn::em::KMeansMachine& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  return m_n_inputs == b.m_n_inputs && m_n_means == b.m_n_means &&
+         bob::core::array::isClose(m_means, b.m_means, r_epsilon, a_epsilon);
+}
+
+void bob::learn::em::KMeansMachine::load(bob::io::base::HDF5File& config)
+{
+  //reads all data directly into the member variables
+  m_means.reference(config.readArray<double,2>("means"));
+  m_n_means = m_means.extent(0);
+  m_n_inputs = m_means.extent(1);
+  m_cache_means.resize(m_n_means, m_n_inputs);
+}
+
+void bob::learn::em::KMeansMachine::save(bob::io::base::HDF5File& config) const
+{
+  config.setArray("means", m_means);
+}
+
+void bob::learn::em::KMeansMachine::setMeans(const blitz::Array<double,2> &means)
+{
+  bob::core::array::assertSameShape(means, m_means);
+  m_means = means;
+}
+
+void bob::learn::em::KMeansMachine::setMean(const size_t i, const blitz::Array<double,1> &mean)
+{
+  if(i>=m_n_means) {
+    boost::format m("cannot set mean with index %lu: out of bounds [0,%lu[");
+    m % i % m_n_means;
+    throw std::runtime_error(m.str());
+  }
+  bob::core::array::assertSameDimensionLength(mean.extent(0), m_means.extent(1));
+  m_means(i,blitz::Range::all()) = mean;
+}
+
+const blitz::Array<double,1> bob::learn::em::KMeansMachine::getMean(const size_t i) const
+{
+  if(i>=m_n_means) {
+    boost::format m("cannot get mean with index %lu: out of bounds [0,%lu[");
+    m % i % m_n_means;
+    throw std::runtime_error(m.str());
+  }
+
+  return m_means(i,blitz::Range::all());
+
+}
+
+double bob::learn::em::KMeansMachine::getDistanceFromMean(const blitz::Array<double,1> &x,
+  const size_t i) const
+{
+  return blitz::sum(blitz::pow2(m_means(i,blitz::Range::all()) - x));
+}
+
+void bob::learn::em::KMeansMachine::getClosestMean(const blitz::Array<double,1> &x,
+  size_t &closest_mean, double &min_distance) const
+{
+  min_distance = std::numeric_limits<double>::max();
+
+  for(size_t i=0; i<m_n_means; ++i) {
+    double this_distance = getDistanceFromMean(x,i);
+    if(this_distance < min_distance) {
+      min_distance = this_distance;
+      closest_mean = i;
+    }
+  }
+}
+
+double bob::learn::em::KMeansMachine::getMinDistance(const blitz::Array<double,1>& input) const
+{
+  size_t closest_mean = 0;
+  double min_distance = 0;
+  getClosestMean(input,closest_mean,min_distance);
+  return min_distance;
+}
+
+void bob::learn::em::KMeansMachine::getVariancesAndWeightsForEachClusterInit(blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const
+{
+  // check arguments
+  bob::core::array::assertSameShape(variances, m_means);
+  bob::core::array::assertSameDimensionLength(weights.extent(0), m_n_means);
+
+  // initialise output arrays
+  bob::core::array::assertSameShape(variances, m_means);
+  bob::core::array::assertSameDimensionLength(weights.extent(0), m_n_means);
+  variances = 0;
+  weights = 0;
+
+  // initialise (temporary) mean array
+  m_cache_means = 0;
+}
+
+void bob::learn::em::KMeansMachine::getVariancesAndWeightsForEachClusterAcc(const blitz::Array<double,2>& data, blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const
+{
+  // check arguments
+  bob::core::array::assertSameShape(variances, m_means);
+  bob::core::array::assertSameDimensionLength(weights.extent(0), m_n_means);
+
+  // iterate over data
+  blitz::Range a = blitz::Range::all();
+  for(int i=0; i<data.extent(0); ++i) {
+    // - get example
+    blitz::Array<double,1> x(data(i,a));
+
+    // - find closest mean
+    size_t closest_mean = 0;
+    double min_distance = 0;
+    getClosestMean(x,closest_mean,min_distance);
+
+    // - accumulate stats
+    m_cache_means(closest_mean, blitz::Range::all()) += x;
+    variances(closest_mean, blitz::Range::all()) += blitz::pow2(x);
+    ++weights(closest_mean);
+  }
+}
+
+void bob::learn::em::KMeansMachine::getVariancesAndWeightsForEachClusterFin(blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const
+{
+  // check arguments
+  bob::core::array::assertSameShape(variances, m_means);
+  bob::core::array::assertSameDimensionLength(weights.extent(0), m_n_means);
+
+  // calculate final variances and weights
+  blitz::firstIndex idx1;
+  blitz::secondIndex idx2;
+
+  // find means
+  m_cache_means = m_cache_means(idx1,idx2) / weights(idx1);
+
+  // find variances
+  variances = variances(idx1,idx2) / weights(idx1);
+  variances -= blitz::pow2(m_cache_means);
+
+  // find weights
+  weights = weights / blitz::sum(weights);
+}
+
+void bob::learn::em::KMeansMachine::setCacheMeans(const blitz::Array<double,2> &cache_means)
+{
+  bob::core::array::assertSameShape(cache_means, m_cache_means);
+  m_cache_means = cache_means;
+}
+
+void bob::learn::em::KMeansMachine::getVariancesAndWeightsForEachCluster(const blitz::Array<double,2>& data, blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const
+{
+  // initialise
+  getVariancesAndWeightsForEachClusterInit(variances, weights);
+  // accumulate
+  getVariancesAndWeightsForEachClusterAcc(data, variances, weights);
+  // merge/finalize
+  getVariancesAndWeightsForEachClusterFin(variances, weights);
+}
+
+void bob::learn::em::KMeansMachine::forward(const blitz::Array<double,1>& input, double& output) const
+{
+  if(static_cast<size_t>(input.extent(0)) != m_n_inputs) {
+    boost::format m("machine input size (%u) does not match the size of input array (%d)");
+    m % m_n_inputs % input.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  forward_(input,output);
+}
+
+void bob::learn::em::KMeansMachine::forward_(const blitz::Array<double,1>& input, double& output) const
+{
+  output = getMinDistance(input);
+}
+
+void bob::learn::em::KMeansMachine::resize(const size_t n_means, const size_t n_inputs)
+{
+  m_n_means = n_means;
+  m_n_inputs = n_inputs;
+  m_means.resizeAndPreserve(n_means, n_inputs);
+  m_cache_means.resizeAndPreserve(n_means, n_inputs);
+}
+
+namespace bob { namespace learn { namespace em {
+  std::ostream& operator<<(std::ostream& os, const KMeansMachine& km) {
+    os << "Means = " << km.m_means << std::endl;
+    return os;
+  }
+} } }
diff --git a/bob/learn/em/cpp/KMeansTrainer.cpp b/bob/learn/em/cpp/KMeansTrainer.cpp
new file mode 100644
index 0000000..9ab18d6
--- /dev/null
+++ b/bob/learn/em/cpp/KMeansTrainer.cpp
@@ -0,0 +1,228 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/KMeansTrainer.h>
+#include <bob.core/array_copy.h>
+
+#include <boost/random.hpp>
+#include <bob.core/random.h>
+
+
+bob::learn::em::KMeansTrainer::KMeansTrainer(InitializationMethod i_m):
+m_rng(new boost::mt19937()),
+m_average_min_distance(0),
+m_zeroethOrderStats(0),
+m_firstOrderStats(0)
+{
+  m_initialization_method = i_m;
+}
+
+
+bob::learn::em::KMeansTrainer::KMeansTrainer(const bob::learn::em::KMeansTrainer& other){
+    
+  m_initialization_method = other.m_initialization_method;  
+  m_rng                   = other.m_rng;
+  m_average_min_distance  = other.m_average_min_distance;
+  m_zeroethOrderStats     = bob::core::array::ccopy(other.m_zeroethOrderStats); 
+  m_firstOrderStats       = bob::core::array::ccopy(other.m_firstOrderStats);
+}
+
+
+bob::learn::em::KMeansTrainer& bob::learn::em::KMeansTrainer::operator=
+(const bob::learn::em::KMeansTrainer& other)
+{
+  if(this != &other)
+  {
+    m_rng                         = other.m_rng;
+    m_initialization_method       = other.m_initialization_method;
+    m_average_min_distance        = other.m_average_min_distance;
+
+    m_zeroethOrderStats = bob::core::array::ccopy(other.m_zeroethOrderStats);
+    m_firstOrderStats   = bob::core::array::ccopy(other.m_firstOrderStats);
+  }
+  return *this;
+}
+
+
+bool bob::learn::em::KMeansTrainer::operator==(const bob::learn::em::KMeansTrainer& b) const {
+  return
+         m_initialization_method == b.m_initialization_method &&
+         *m_rng == *(b.m_rng) && m_average_min_distance == b.m_average_min_distance &&
+         bob::core::array::hasSameShape(m_zeroethOrderStats, b.m_zeroethOrderStats) &&
+         bob::core::array::hasSameShape(m_firstOrderStats, b.m_firstOrderStats) &&
+         blitz::all(m_zeroethOrderStats == b.m_zeroethOrderStats) &&
+         blitz::all(m_firstOrderStats == b.m_firstOrderStats);
+}
+
+bool bob::learn::em::KMeansTrainer::operator!=(const bob::learn::em::KMeansTrainer& b) const {
+  return !(this->operator==(b));
+}
+
+void bob::learn::em::KMeansTrainer::initialize(bob::learn::em::KMeansMachine& kmeans,
+  const blitz::Array<double,2>& ar)
+{
+  // split data into as many chunks as there are means
+  size_t n_data = ar.extent(0);
+
+  // assign the i'th mean to a random example within the i'th chunk
+  blitz::Range a = blitz::Range::all();
+  if(m_initialization_method == RANDOM || m_initialization_method == RANDOM_NO_DUPLICATE) // Random initialization
+  {
+    unsigned int n_chunk = n_data / kmeans.getNMeans();
+    size_t n_max_trials = (size_t)n_chunk * 5;
+    blitz::Array<double,1> cur_mean;
+    if(m_initialization_method == RANDOM_NO_DUPLICATE)
+      cur_mean.resize(kmeans.getNInputs());
+
+    for(size_t i=0; i<kmeans.getNMeans(); ++i)
+    {
+      boost::uniform_int<> die(i*n_chunk, (i+1)*n_chunk-1);
+
+      // get random index within chunk
+      unsigned int index = die(*m_rng);
+
+      // get the example at that index
+      blitz::Array<double, 1> mean = ar(index,a);
+
+      if(m_initialization_method == RANDOM_NO_DUPLICATE)
+      {
+        size_t count = 0;
+        while(count < n_max_trials)
+        {
+          // check that the selected sampled is different than all the previously
+          // selected ones
+          bool valid = true;
+          for(size_t j=0; j<i && valid; ++j)
+          {
+            cur_mean = kmeans.getMean(j);
+            valid = blitz::any(mean != cur_mean);
+          }
+          // if different, stop otherwise, try with another one
+          if(valid)
+            break;
+          else
+          {
+            index = die(*m_rng);
+            mean = ar(index,a);
+            ++count;
+          }
+        }
+        // Initialization fails
+        if(count >= n_max_trials) {
+          boost::format m("initialization failure: surpassed the maximum number of trials (%u)");
+          m % n_max_trials;
+          throw std::runtime_error(m.str());
+        }
+      }
+
+      // set the mean
+      kmeans.setMean(i, mean);
+    }
+  }
+  else // K-Means++
+  {
+    // 1.a. Selects one sample randomly
+    boost::uniform_int<> die(0, n_data-1);
+    //   Gets the example at a random index
+    blitz::Array<double,1> mean = ar(die(*m_rng),a);
+    kmeans.setMean(0, mean);
+
+    // 1.b. Loops, computes probability distribution and select samples accordingly
+    blitz::Array<double,1> weights(n_data);
+    for(size_t m=1; m<kmeans.getNMeans(); ++m)
+    {
+      // For each sample, puts the distance to the closest mean in the weight vector
+      for(size_t s=0; s<n_data; ++s)
+      {
+        blitz::Array<double,1> s_cur = ar(s,a);
+        double& w_cur = weights(s);
+        // Initializes with the distance to first mean
+        w_cur = kmeans.getDistanceFromMean(s_cur, 0);
+        // Loops over the remaining mean and update the mean distance if required
+        for(size_t i=1; i<m; ++i)
+          w_cur = std::min(w_cur, kmeans.getDistanceFromMean(s_cur, i));
+      }
+      // Square and normalize the weights vectors such that
+      // \f$weights[x] = D(x)^{2} \sum_{y} D(y)^{2}\f$
+      weights = blitz::pow2(weights);
+      weights /= blitz::sum(weights);
+
+      // Takes a sample according to the weights distribution
+      // Blitz iterators is fine as the weights array should be C-style contiguous
+      bob::core::array::assertCContiguous(weights);
+      bob::core::random::discrete_distribution<> die2(weights.begin(), weights.end());
+      blitz::Array<double,1> new_mean = ar(die2(*m_rng),a);
+      kmeans.setMean(m, new_mean);
+    }
+  }
+   // Resize the accumulator
+  m_zeroethOrderStats.resize(kmeans.getNMeans());
+  m_firstOrderStats.resize(kmeans.getNMeans(), kmeans.getNInputs());
+}
+
+void bob::learn::em::KMeansTrainer::eStep(bob::learn::em::KMeansMachine& kmeans,
+  const blitz::Array<double,2>& ar)
+{
+  // initialise the accumulators
+  resetAccumulators(kmeans);
+
+  // iterate over data samples
+  blitz::Range a = blitz::Range::all();
+  for(int i=0; i<ar.extent(0); ++i) {
+    // get example
+    blitz::Array<double, 1> x(ar(i,a));
+
+    // find closest mean, and distance from that mean
+    size_t closest_mean = 0;
+    double min_distance = 0;
+    kmeans.getClosestMean(x,closest_mean,min_distance);
+
+    // accumulate the stats
+    m_average_min_distance += min_distance;
+    ++m_zeroethOrderStats(closest_mean);
+    m_firstOrderStats(closest_mean,blitz::Range::all()) += x;
+  }
+  m_average_min_distance /= static_cast<double>(ar.extent(0));
+}
+
+void bob::learn::em::KMeansTrainer::mStep(bob::learn::em::KMeansMachine& kmeans)
+{
+  blitz::Array<double,2>& means = kmeans.updateMeans();
+  for(size_t i=0; i<kmeans.getNMeans(); ++i)
+  {
+    means(i,blitz::Range::all()) =
+      m_firstOrderStats(i,blitz::Range::all()) / m_zeroethOrderStats(i);
+  }
+}
+
+double bob::learn::em::KMeansTrainer::computeLikelihood(bob::learn::em::KMeansMachine& kmeans)
+{
+  return m_average_min_distance;
+}
+
+
+bool bob::learn::em::KMeansTrainer::resetAccumulators(bob::learn::em::KMeansMachine& kmeans)
+{
+  m_average_min_distance = 0;
+  m_zeroethOrderStats = 0;
+  m_firstOrderStats = 0;
+  return true;
+}
+
+void bob::learn::em::KMeansTrainer::setZeroethOrderStats(const blitz::Array<double,1>& zeroethOrderStats)
+{
+  bob::core::array::assertSameShape(m_zeroethOrderStats, zeroethOrderStats);
+  m_zeroethOrderStats = zeroethOrderStats;
+}
+
+void bob::learn::em::KMeansTrainer::setFirstOrderStats(const blitz::Array<double,2>& firstOrderStats)
+{
+  bob::core::array::assertSameShape(m_firstOrderStats, firstOrderStats);
+  m_firstOrderStats = firstOrderStats;
+}
+
diff --git a/bob/learn/em/cpp/LinearScoring.cpp b/bob/learn/em/cpp/LinearScoring.cpp
new file mode 100644
index 0000000..63fdb1c
--- /dev/null
+++ b/bob/learn/em/cpp/LinearScoring.cpp
@@ -0,0 +1,168 @@
+/**
+ * @date Wed Jul 13 16:00:04 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+#include <bob.learn.em/LinearScoring.h>
+#include <bob.math/linear.h>
+
+
+static void _linearScoring(const std::vector<blitz::Array<double,1> >& models,
+                   const blitz::Array<double,1>& ubm_mean,
+                   const blitz::Array<double,1>& ubm_variance,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const std::vector<blitz::Array<double,1> >* test_channelOffset,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double,2>& scores)
+{
+  int C = test_stats[0]->sumPx.extent(0);
+  int D = test_stats[0]->sumPx.extent(1);
+  int CD = C*D;
+  int Tt = test_stats.size();
+  int Tm = models.size();
+
+  // Check output size
+  bob::core::array::assertSameDimensionLength(scores.extent(0), models.size());
+  bob::core::array::assertSameDimensionLength(scores.extent(1), test_stats.size());
+
+  blitz::Array<double,2> A(Tm, CD);
+  blitz::Array<double,2> B(CD, Tt);
+
+  // 1) Compute A
+  for(int t=0; t<Tm; ++t) {
+    blitz::Array<double, 1> tmp = A(t, blitz::Range::all());
+    tmp = (models[t] - ubm_mean) / ubm_variance;
+  }
+
+  // 2) Compute B
+  if(test_channelOffset == 0) {
+    for(int t=0; t<Tt; ++t)
+      for(int s=0; s<CD; ++s)
+        B(s, t) = test_stats[t]->sumPx(s/D, s%D) - (ubm_mean(s) * test_stats[t]->n(s/D));
+  }
+  else {
+    bob::core::array::assertSameDimensionLength((*test_channelOffset).size(), Tt);
+
+    for(int t=0; t<Tt; ++t) {
+      bob::core::array::assertSameDimensionLength((*test_channelOffset)[t].extent(0), CD);
+      for(int s=0; s<CD; ++s)
+        B(s, t) = test_stats[t]->sumPx(s/D, s%D) - (test_stats[t]->n(s/D) * (ubm_mean(s) + (*test_channelOffset)[t](s)));
+    }
+  }
+
+  // Apply the normalisation if needed
+  if(frame_length_normalisation) {
+    for(int t=0; t<Tt; ++t) {
+      double sum_N = test_stats[t]->T;
+      blitz::Array<double, 1> v_t = B(blitz::Range::all(),t);
+
+      if (sum_N <= std::numeric_limits<double>::epsilon() && sum_N >= -std::numeric_limits<double>::epsilon())
+        v_t = 0;
+      else
+        v_t /= sum_N;
+    }
+  }
+
+  // 3) Compute LLR
+  bob::math::prod(A, B, scores);
+}
+
+
+void bob::learn::em::linearScoring(const std::vector<blitz::Array<double,1> >& models,
+                   const blitz::Array<double,1>& ubm_mean, const blitz::Array<double,1>& ubm_variance,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const std::vector<blitz::Array<double,1> >& test_channelOffset,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double, 2>& scores)
+{
+  _linearScoring(models, ubm_mean, ubm_variance, test_stats, &test_channelOffset, frame_length_normalisation, scores);
+}
+
+void bob::learn::em::linearScoring(const std::vector<blitz::Array<double,1> >& models,
+                   const blitz::Array<double,1>& ubm_mean, const blitz::Array<double,1>& ubm_variance,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double, 2>& scores)
+{
+  _linearScoring(models, ubm_mean, ubm_variance, test_stats, 0, frame_length_normalisation, scores);
+}
+
+void bob::learn::em::linearScoring(const std::vector<boost::shared_ptr<const bob::learn::em::GMMMachine> >& models,
+                   const bob::learn::em::GMMMachine& ubm,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double, 2>& scores)
+{
+  int C = test_stats[0]->sumPx.extent(0);
+  int D = test_stats[0]->sumPx.extent(1);
+  int CD = C*D;
+  std::vector<blitz::Array<double,1> > models_b;
+  // Allocate and get the mean supervector
+  for(size_t i=0; i<models.size(); ++i) {
+    blitz::Array<double,1> mod(CD);
+    mod = models[i]->getMeanSupervector();
+    models_b.push_back(mod);
+  }
+  const blitz::Array<double,1>& ubm_mean = ubm.getMeanSupervector();
+  const blitz::Array<double,1>& ubm_variance = ubm.getVarianceSupervector();
+  _linearScoring(models_b, ubm_mean, ubm_variance, test_stats, 0, frame_length_normalisation, scores);
+}
+
+void bob::learn::em::linearScoring(const std::vector<boost::shared_ptr<const bob::learn::em::GMMMachine> >& models,
+                   const bob::learn::em::GMMMachine& ubm,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const std::vector<blitz::Array<double,1> >& test_channelOffset,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double, 2>& scores)
+{
+  int C = test_stats[0]->sumPx.extent(0);
+  int D = test_stats[0]->sumPx.extent(1);
+  int CD = C*D;
+  std::vector<blitz::Array<double,1> > models_b;
+  // Allocate and get the mean supervector
+  for(size_t i=0; i<models.size(); ++i) {
+    blitz::Array<double,1> mod(CD);
+    mod = models[i]->getMeanSupervector();
+    models_b.push_back(mod);
+  }
+  const blitz::Array<double,1>& ubm_mean = ubm.getMeanSupervector();
+  const blitz::Array<double,1>& ubm_variance = ubm.getVarianceSupervector();
+  _linearScoring(models_b, ubm_mean, ubm_variance, test_stats, &test_channelOffset, frame_length_normalisation, scores);
+}
+
+
+
+double bob::learn::em::linearScoring(const blitz::Array<double,1>& models,
+                     const blitz::Array<double,1>& ubm_mean, const blitz::Array<double,1>& ubm_variance,
+                     const bob::learn::em::GMMStats& test_stats,
+                     const blitz::Array<double,1>& test_channelOffset,
+                     const bool frame_length_normalisation)
+{
+  int C = test_stats.sumPx.extent(0);
+  int D = test_stats.sumPx.extent(1);
+  int CD = C*D;
+
+
+  blitz::Array<double,1> A(CD);
+  blitz::Array<double,1> B(CD);
+
+  // 1) Compute A
+  A = (models - ubm_mean) / ubm_variance;
+
+  // 2) Compute B
+  for (int s=0; s<CD; ++s)
+    B(s) = test_stats.sumPx(s/D, s%D) - (test_stats.n(s/D) * (ubm_mean(s) + test_channelOffset(s)));
+
+  // Apply the normalisation if needed
+  if (frame_length_normalisation) {
+    double sum_N = test_stats.T;
+    if (sum_N == 0)
+      B = 0;
+    else
+      B /= sum_N;
+  }
+
+  return blitz::sum(A * B);
+}
+
diff --git a/bob/learn/em/cpp/MAP_GMMTrainer.cpp b/bob/learn/em/cpp/MAP_GMMTrainer.cpp
new file mode 100644
index 0000000..64779c5
--- /dev/null
+++ b/bob/learn/em/cpp/MAP_GMMTrainer.cpp
@@ -0,0 +1,199 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/MAP_GMMTrainer.h>
+#include <bob.core/check.h>
+
+bob::learn::em::MAP_GMMTrainer::MAP_GMMTrainer(
+   const bool update_means,
+   const bool update_variances,
+   const bool update_weights,
+   const double mean_var_update_responsibilities_threshold,
+
+   const bool reynolds_adaptation, 
+   const double relevance_factor, 
+   const double alpha,
+   boost::shared_ptr<bob::learn::em::GMMMachine> prior_gmm):
+
+  m_gmm_base_trainer(update_means, update_variances, update_weights, mean_var_update_responsibilities_threshold),
+  m_prior_gmm(prior_gmm)
+{
+  m_reynolds_adaptation = reynolds_adaptation;
+  m_relevance_factor    = relevance_factor;
+  m_alpha               = alpha;
+}
+
+
+bob::learn::em::MAP_GMMTrainer::MAP_GMMTrainer(const bob::learn::em::MAP_GMMTrainer& b):
+  m_gmm_base_trainer(b.m_gmm_base_trainer),
+  m_prior_gmm(b.m_prior_gmm)
+{
+  m_relevance_factor    = b.m_relevance_factor;
+  m_alpha               = b.m_alpha; 
+  m_reynolds_adaptation = b.m_reynolds_adaptation;
+}
+
+bob::learn::em::MAP_GMMTrainer::~MAP_GMMTrainer()
+{}
+
+void bob::learn::em::MAP_GMMTrainer::initialize(bob::learn::em::GMMMachine& gmm)
+{
+  // Check that the prior GMM has been specified
+  if (!m_prior_gmm)
+    throw std::runtime_error("MAP_GMMTrainer: Prior GMM distribution has not been set");
+
+  // Allocate memory for the sufficient statistics and initialise
+  m_gmm_base_trainer.initialize(gmm);
+
+  const size_t n_gaussians = gmm.getNGaussians();
+  // TODO: check size?
+  gmm.setWeights(m_prior_gmm->getWeights());
+  for(size_t i=0; i<n_gaussians; ++i)
+  {
+    gmm.getGaussian(i)->updateMean() = m_prior_gmm->getGaussian(i)->getMean();
+    gmm.getGaussian(i)->updateVariance() = m_prior_gmm->getGaussian(i)->getVariance();
+    gmm.getGaussian(i)->applyVarianceThresholds();
+  }
+  // Initializes cache
+  m_cache_alpha.resize(n_gaussians);
+  m_cache_ml_weights.resize(n_gaussians);
+}
+
+bool bob::learn::em::MAP_GMMTrainer::setPriorGMM(boost::shared_ptr<bob::learn::em::GMMMachine> prior_gmm)
+{
+  if (!prior_gmm) return false;
+  m_prior_gmm = prior_gmm;
+  return true;
+}
+
+
+void bob::learn::em::MAP_GMMTrainer::mStep(bob::learn::em::GMMMachine& gmm)
+{
+  // Read options and variables
+  double n_gaussians = gmm.getNGaussians();
+
+  // Check that the prior GMM has been specified
+  if (!m_prior_gmm)
+    throw std::runtime_error("MAP_GMMTrainer: Prior GMM distribution has not been set");
+
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+
+  // Calculate the "data-dependent adaptation coefficient", alpha_i
+  // TODO: check if required // m_cache_alpha.resize(n_gaussians);
+  if (!m_reynolds_adaptation)
+    m_cache_alpha = m_alpha;
+  else
+    m_cache_alpha = m_gmm_base_trainer.getGMMStats().n(i) / (m_gmm_base_trainer.getGMMStats().n(i) + m_relevance_factor);
+
+  // - Update weights if requested
+  //   Equation 11 of Reynolds et al., "Speaker Verification Using Adapted Gaussian Mixture Models", Digital Signal Processing, 2000
+  if (m_gmm_base_trainer.getUpdateWeights()) {
+    // Calculate the maximum likelihood weights
+    m_cache_ml_weights = m_gmm_base_trainer.getGMMStats().n / static_cast<double>(m_gmm_base_trainer.getGMMStats().T); //cast req. for linux/32-bits & osx
+
+    // Get the prior weights
+    const blitz::Array<double,1>& prior_weights = m_prior_gmm->getWeights();
+    blitz::Array<double,1>& new_weights = gmm.updateWeights();
+
+    // Calculate the new weights
+    new_weights = m_cache_alpha * m_cache_ml_weights + (1-m_cache_alpha) * prior_weights;
+
+    // Apply the scale factor, gamma, to ensure the new weights sum to unity
+    double gamma = blitz::sum(new_weights);
+    new_weights /= gamma;
+
+    // Recompute the log weights in the cache of the GMMMachine
+    gmm.recomputeLogWeights();
+  }
+
+  // Update GMM parameters
+  // - Update means if requested
+  //   Equation 12 of Reynolds et al., "Speaker Verification Using Adapted Gaussian Mixture Models", Digital Signal Processing, 2000
+  if (m_gmm_base_trainer.getUpdateMeans()) {
+    // Calculate new means
+    for (size_t i=0; i<n_gaussians; ++i) {
+      const blitz::Array<double,1>& prior_means = m_prior_gmm->getGaussian(i)->getMean();
+      blitz::Array<double,1>& means = gmm.getGaussian(i)->updateMean();
+      if (m_gmm_base_trainer.getGMMStats().n(i) < m_gmm_base_trainer.getMeanVarUpdateResponsibilitiesThreshold()) {
+        means = prior_means;
+      }
+      else {
+        // Use the maximum likelihood means
+        means = m_cache_alpha(i) * (m_gmm_base_trainer.getGMMStats().sumPx(i,blitz::Range::all()) / m_gmm_base_trainer.getGMMStats().n(i)) + (1-m_cache_alpha(i)) * prior_means;
+      }
+    }
+  }
+
+  // - Update variance if requested
+  //   Equation 13 of Reynolds et al., "Speaker Verification Using Adapted Gaussian Mixture Models", Digital Signal Processing, 2000
+  if (m_gmm_base_trainer.getUpdateVariances()) {
+    // Calculate new variances (equation 13)
+    for (size_t i=0; i<n_gaussians; ++i) {
+      const blitz::Array<double,1>& prior_means = m_prior_gmm->getGaussian(i)->getMean();
+      blitz::Array<double,1>& means = gmm.getGaussian(i)->updateMean();
+      const blitz::Array<double,1>& prior_variances = m_prior_gmm->getGaussian(i)->getVariance();
+      blitz::Array<double,1>& variances = gmm.getGaussian(i)->updateVariance();
+      if (m_gmm_base_trainer.getGMMStats().n(i) < m_gmm_base_trainer.getMeanVarUpdateResponsibilitiesThreshold()) {
+        variances = (prior_variances + prior_means) - blitz::pow2(means);
+      }
+      else {
+        variances = m_cache_alpha(i) * m_gmm_base_trainer.getGMMStats().sumPxx(i,blitz::Range::all()) / m_gmm_base_trainer.getGMMStats().n(i) + (1-m_cache_alpha(i)) * (prior_variances + prior_means) - blitz::pow2(means);
+      }
+      gmm.getGaussian(i)->applyVarianceThresholds();
+    }
+  }
+}
+
+
+
+bob::learn::em::MAP_GMMTrainer& bob::learn::em::MAP_GMMTrainer::operator=
+  (const bob::learn::em::MAP_GMMTrainer &other)
+{
+  if (this != &other)
+  {
+    m_gmm_base_trainer    = other.m_gmm_base_trainer;
+    m_relevance_factor    = other.m_relevance_factor;
+    m_prior_gmm           = other.m_prior_gmm;
+    m_alpha               = other.m_alpha;
+    m_reynolds_adaptation = other.m_reynolds_adaptation;
+    m_cache_alpha.resize(other.m_cache_alpha.extent(0));
+    m_cache_ml_weights.resize(other.m_cache_ml_weights.extent(0));
+  }
+  return *this;
+}
+
+
+bool bob::learn::em::MAP_GMMTrainer::operator==
+  (const bob::learn::em::MAP_GMMTrainer &other) const
+{
+  return m_gmm_base_trainer    == other.m_gmm_base_trainer &&
+         m_relevance_factor    == other.m_relevance_factor &&
+         m_prior_gmm           == other.m_prior_gmm &&
+         m_alpha               == other.m_alpha &&
+         m_reynolds_adaptation == other.m_reynolds_adaptation;
+}
+
+
+bool bob::learn::em::MAP_GMMTrainer::operator!=
+  (const bob::learn::em::MAP_GMMTrainer &other) const
+{
+  return !(this->operator==(other));
+}
+
+
+bool bob::learn::em::MAP_GMMTrainer::is_similar_to
+  (const bob::learn::em::MAP_GMMTrainer &other, const double r_epsilon,
+   const double a_epsilon) const
+{
+  return //m_gmm_base_trainer.is_similar_to(other.m_gmm_base_trainer, r_epsilon, a_epsilon) &&
+         bob::core::isClose(m_relevance_factor, other.m_relevance_factor, r_epsilon, a_epsilon) &&
+         m_prior_gmm == other.m_prior_gmm &&
+         bob::core::isClose(m_alpha, other.m_alpha, r_epsilon, a_epsilon) &&
+         m_reynolds_adaptation == other.m_reynolds_adaptation;
+}
+
diff --git a/bob/learn/em/cpp/ML_GMMTrainer.cpp b/bob/learn/em/cpp/ML_GMMTrainer.cpp
new file mode 100644
index 0000000..1c5bc84
--- /dev/null
+++ b/bob/learn/em/cpp/ML_GMMTrainer.cpp
@@ -0,0 +1,112 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/ML_GMMTrainer.h>
+#include <algorithm>
+
+bob::learn::em::ML_GMMTrainer::ML_GMMTrainer(
+   const bool update_means,
+   const bool update_variances, 
+   const bool update_weights,
+   const double mean_var_update_responsibilities_threshold
+):
+  m_gmm_base_trainer(update_means, update_variances, update_weights, mean_var_update_responsibilities_threshold)
+{}
+
+
+
+bob::learn::em::ML_GMMTrainer::ML_GMMTrainer(const bob::learn::em::ML_GMMTrainer& b):
+  m_gmm_base_trainer(b.m_gmm_base_trainer)
+{}
+
+bob::learn::em::ML_GMMTrainer::~ML_GMMTrainer()
+{}
+
+void bob::learn::em::ML_GMMTrainer::initialize(bob::learn::em::GMMMachine& gmm)
+{
+  m_gmm_base_trainer.initialize(gmm);
+  
+  // Allocate cache
+  size_t n_gaussians = gmm.getNGaussians();
+  m_cache_ss_n_thresholded.resize(n_gaussians);
+}
+
+
+void bob::learn::em::ML_GMMTrainer::mStep(bob::learn::em::GMMMachine& gmm)
+{
+  // Read options and variables
+  const size_t n_gaussians = gmm.getNGaussians();
+
+  // - Update weights if requested
+  //   Equation 9.26 of Bishop, "Pattern recognition and machine learning", 2006
+  if (m_gmm_base_trainer.getUpdateWeights()) {
+    blitz::Array<double,1>& weights = gmm.updateWeights();
+    weights = m_gmm_base_trainer.getGMMStats().n / static_cast<double>(m_gmm_base_trainer.getGMMStats().T); //cast req. for linux/32-bits & osx
+    // Recompute the log weights in the cache of the GMMMachine
+    gmm.recomputeLogWeights();
+  }
+
+  // Generate a thresholded version of m_ss.n
+  for(size_t i=0; i<n_gaussians; ++i)
+    m_cache_ss_n_thresholded(i) = std::max(m_gmm_base_trainer.getGMMStats().n(i), m_gmm_base_trainer.getMeanVarUpdateResponsibilitiesThreshold());
+
+  // Update GMM parameters using the sufficient statistics (m_ss)
+  // - Update means if requested
+  //   Equation 9.24 of Bishop, "Pattern recognition and machine learning", 2006
+  if (m_gmm_base_trainer.getUpdateMeans()) {
+    for(size_t i=0; i<n_gaussians; ++i) {
+      blitz::Array<double,1>& means = gmm.getGaussian(i)->updateMean();
+      means = m_gmm_base_trainer.getGMMStats().sumPx(i, blitz::Range::all()) / m_cache_ss_n_thresholded(i);
+    }
+  }
+
+  // - Update variance if requested
+  //   See Equation 9.25 of Bishop, "Pattern recognition and machine learning", 2006
+  //   ...but we use the "computational formula for the variance", i.e.
+  //   var = 1/n * sum (P(x-mean)(x-mean))
+  //       = 1/n * sum (Pxx) - mean^2
+  if (m_gmm_base_trainer.getUpdateVariances()) {
+    for(size_t i=0; i<n_gaussians; ++i) {
+      const blitz::Array<double,1>& means = gmm.getGaussian(i)->getMean();
+      blitz::Array<double,1>& variances = gmm.getGaussian(i)->updateVariance();
+      variances = m_gmm_base_trainer.getGMMStats().sumPxx(i, blitz::Range::all()) / m_cache_ss_n_thresholded(i) - blitz::pow2(means);
+      gmm.getGaussian(i)->applyVarianceThresholds();
+    }
+  }
+}
+
+bob::learn::em::ML_GMMTrainer& bob::learn::em::ML_GMMTrainer::operator=
+  (const bob::learn::em::ML_GMMTrainer &other)
+{
+  if (this != &other)
+  {
+    m_gmm_base_trainer = other.m_gmm_base_trainer;
+    m_cache_ss_n_thresholded.resize(other.m_cache_ss_n_thresholded.extent(0));
+  }
+  return *this;
+}
+
+bool bob::learn::em::ML_GMMTrainer::operator==
+  (const bob::learn::em::ML_GMMTrainer &other) const
+{
+  return m_gmm_base_trainer == other.m_gmm_base_trainer;
+}
+
+bool bob::learn::em::ML_GMMTrainer::operator!=
+  (const bob::learn::em::ML_GMMTrainer &other) const
+{
+  return !(this->operator==(other));
+}
+
+/*
+bool bob::learn::em::ML_GMMTrainer::is_similar_to
+  (const bob::learn::em::ML_GMMTrainer &other, const double r_epsilon,
+   const double a_epsilon) const
+{
+  return m_gmm_base_trainer.is_similar_to(other, r_epsilon, a_epsilon);
+}
+*/
diff --git a/bob/learn/em/cpp/PLDAMachine.cpp b/bob/learn/em/cpp/PLDAMachine.cpp
new file mode 100644
index 0000000..a390cb1
--- /dev/null
+++ b/bob/learn/em/cpp/PLDAMachine.cpp
@@ -0,0 +1,960 @@
+/**
+ * @date Fri Oct 14 18:07:56 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief Machines that implements the PLDA model
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.core/assert.h>
+#include <bob.core/check.h>
+#include <bob.core/array_copy.h>
+#include <bob.learn.em/PLDAMachine.h>
+#include <bob.math/linear.h>
+#include <bob.math/det.h>
+#include <bob.math/inv.h>
+
+#include <cmath>
+#include <boost/lexical_cast.hpp>
+#include <string>
+
+bob::learn::em::PLDABase::PLDABase():
+  m_variance_threshold(0.)
+{
+  resizeNoInit(0, 0, 0);
+}
+
+bob::learn::em::PLDABase::PLDABase(const size_t dim_d, const size_t dim_f,
+    const size_t dim_g, const double variance_threshold):
+  m_variance_threshold(variance_threshold)
+{
+  resize(dim_d, dim_f, dim_g);
+}
+
+
+bob::learn::em::PLDABase::PLDABase(const bob::learn::em::PLDABase& other):
+  m_dim_d(other.m_dim_d),
+  m_dim_f(other.m_dim_f),
+  m_dim_g(other.m_dim_g),
+  m_F(bob::core::array::ccopy(other.m_F)),
+  m_G(bob::core::array::ccopy(other.m_G)),
+  m_sigma(bob::core::array::ccopy(other.m_sigma)),
+  m_mu(bob::core::array::ccopy(other.m_mu)),
+  m_variance_threshold(other.m_variance_threshold),
+  m_cache_isigma(bob::core::array::ccopy(other.m_cache_isigma)),
+  m_cache_alpha(bob::core::array::ccopy(other.m_cache_alpha)),
+  m_cache_beta(bob::core::array::ccopy(other.m_cache_beta)),
+  m_cache_gamma(),
+  m_cache_Ft_beta(bob::core::array::ccopy(other.m_cache_Ft_beta)),
+  m_cache_Gt_isigma(bob::core::array::ccopy(other.m_cache_Gt_isigma)),
+  m_cache_logdet_alpha(other.m_cache_logdet_alpha),
+  m_cache_logdet_sigma(other.m_cache_logdet_sigma),
+  m_cache_loglike_constterm(other.m_cache_loglike_constterm)
+{
+  bob::core::array::ccopy(other.m_cache_gamma, m_cache_gamma);
+  resizeTmp();
+}
+
+bob::learn::em::PLDABase::PLDABase(bob::io::base::HDF5File& config) {
+  load(config);
+}
+
+bob::learn::em::PLDABase::~PLDABase() {
+}
+
+bob::learn::em::PLDABase& bob::learn::em::PLDABase::operator=
+    (const bob::learn::em::PLDABase& other)
+{
+  if (this != &other)
+  {
+    m_dim_d = other.m_dim_d;
+    m_dim_f = other.m_dim_f;
+    m_dim_g = other.m_dim_g;
+    m_F.reference(bob::core::array::ccopy(other.m_F));
+    m_G.reference(bob::core::array::ccopy(other.m_G));
+    m_sigma.reference(bob::core::array::ccopy(other.m_sigma));
+    m_mu.reference(bob::core::array::ccopy(other.m_mu));
+    m_variance_threshold = other.m_variance_threshold;
+    m_cache_isigma.reference(bob::core::array::ccopy(other.m_cache_isigma));
+    m_cache_alpha.reference(bob::core::array::ccopy(other.m_cache_alpha));
+    m_cache_beta.reference(bob::core::array::ccopy(other.m_cache_beta));
+    bob::core::array::ccopy(other.m_cache_gamma, m_cache_gamma);
+    m_cache_Ft_beta.reference(bob::core::array::ccopy(other.m_cache_Ft_beta));
+    m_cache_Gt_isigma.reference(bob::core::array::ccopy(other.m_cache_Gt_isigma));
+    m_cache_logdet_alpha = other.m_cache_logdet_alpha;
+    m_cache_logdet_sigma = other.m_cache_logdet_sigma;
+    m_cache_loglike_constterm = other.m_cache_loglike_constterm;
+    resizeTmp();
+  }
+  return *this;
+}
+
+bool bob::learn::em::PLDABase::operator==
+    (const bob::learn::em::PLDABase& b) const
+{
+  if (!(m_dim_d == b.m_dim_d && m_dim_f == b.m_dim_f &&
+        m_dim_g == b.m_dim_g &&
+        bob::core::array::isEqual(m_F, b.m_F) &&
+        bob::core::array::isEqual(m_G, b.m_G) &&
+        bob::core::array::isEqual(m_sigma, b.m_sigma) &&
+        bob::core::array::isEqual(m_mu, b.m_mu) &&
+        m_variance_threshold == b.m_variance_threshold &&
+        bob::core::array::isEqual(m_cache_isigma, b.m_cache_isigma) &&
+        bob::core::array::isEqual(m_cache_alpha, b.m_cache_alpha) &&
+        bob::core::array::isEqual(m_cache_beta, b.m_cache_beta) &&
+        bob::core::array::isEqual(m_cache_gamma, b.m_cache_gamma) &&
+        bob::core::array::isEqual(m_cache_Ft_beta, b.m_cache_Ft_beta) &&
+        bob::core::array::isEqual(m_cache_Gt_isigma, b.m_cache_Gt_isigma) &&
+        m_cache_logdet_alpha == b.m_cache_logdet_alpha &&
+        m_cache_logdet_sigma == b.m_cache_logdet_sigma))
+    return false;
+
+  // m_cache_loglike_constterm
+  if (this->m_cache_loglike_constterm.size() != b.m_cache_loglike_constterm.size())
+    return false;  // differing sizes, they are not the same
+  std::map<size_t, double>::const_iterator i, j;
+  for (i = this->m_cache_loglike_constterm.begin(), j = b.m_cache_loglike_constterm.begin();
+    i != this->m_cache_loglike_constterm.end(); ++i, ++j)
+  {
+    if (i->first != j->first || i->second != j->second)
+      return false;
+  }
+
+  return true;
+}
+
+bool bob::learn::em::PLDABase::operator!=
+    (const bob::learn::em::PLDABase& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::PLDABase::is_similar_to(const bob::learn::em::PLDABase& b,
+  const double r_epsilon, const double a_epsilon) const
+{
+  return (m_dim_d == b.m_dim_d && m_dim_f == b.m_dim_f &&
+          m_dim_g == b.m_dim_g &&
+          bob::core::array::isClose(m_F, b.m_F, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_G, b.m_G, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_sigma, b.m_sigma, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_mu, b.m_mu, r_epsilon, a_epsilon) &&
+          bob::core::isClose(m_variance_threshold, b.m_variance_threshold, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_cache_isigma, b.m_cache_isigma, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_cache_alpha, b.m_cache_alpha, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_cache_beta, b.m_cache_beta, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_cache_gamma, b.m_cache_gamma, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_cache_Ft_beta, b.m_cache_Ft_beta, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_cache_Gt_isigma, b.m_cache_Gt_isigma, r_epsilon, a_epsilon) &&
+          bob::core::isClose(m_cache_logdet_alpha, b.m_cache_logdet_alpha, r_epsilon, a_epsilon) &&
+          bob::core::isClose(m_cache_logdet_sigma, b.m_cache_logdet_sigma, r_epsilon, a_epsilon) &&
+          bob::core::isClose(m_cache_loglike_constterm, b.m_cache_loglike_constterm));
+}
+
+void bob::learn::em::PLDABase::load(bob::io::base::HDF5File& config)
+{
+  if (!config.contains("dim_d"))
+  {
+    // Then the model was saved using bob < 1.2.0
+    //reads all data directly into the member variables
+    m_F.reference(config.readArray<double,2>("F"));
+    m_G.reference(config.readArray<double,2>("G"));
+    m_dim_d = m_F.extent(0);
+    m_dim_f = m_F.extent(1);
+    m_dim_g = m_G.extent(1);
+    m_sigma.reference(config.readArray<double,1>("sigma"));
+    m_mu.reference(config.readArray<double,1>("mu"));
+    m_cache_isigma.resize(m_dim_d);
+    precomputeISigma();
+    m_variance_threshold = 0.;
+    m_cache_alpha.reference(config.readArray<double,2>("alpha"));
+    m_cache_beta.reference(config.readArray<double,2>("beta"));
+    // gamma and log like constant term (a-dependent terms)
+    if (config.contains("a_indices"))
+    {
+      blitz::Array<uint32_t, 1> a_indices;
+      a_indices.reference(config.readArray<uint32_t,1>("a_indices"));
+      for (int i=0; i<a_indices.extent(0); ++i)
+      {
+        std::string str1 = "gamma_" + boost::lexical_cast<std::string>(a_indices(i));
+        m_cache_gamma[a_indices(i)].reference(config.readArray<double,2>(str1));
+        std::string str2 = "loglikeconstterm_" + boost::lexical_cast<std::string>(a_indices(i));
+        m_cache_loglike_constterm[a_indices(i)] = config.read<double>(str2);
+      }
+    }
+    m_cache_Ft_beta.reference(config.readArray<double,2>("Ft_beta"));
+    m_cache_Gt_isigma.reference(config.readArray<double,2>("Gt_isigma"));
+    m_cache_logdet_alpha = config.read<double>("logdet_alpha");
+    m_cache_logdet_sigma = config.read<double>("logdet_sigma");
+  }
+  else
+  {
+    // Then the model was saved using bob >= 1.2.0
+    //reads all data directly into the member variables
+    m_F.reference(config.readArray<double,2>("F"));
+    m_G.reference(config.readArray<double,2>("G"));
+    // Conditional because previous versions had not these variables
+    m_dim_d = config.read<uint64_t>("dim_d");
+    m_dim_f = config.read<uint64_t>("dim_f");
+    m_dim_g = config.read<uint64_t>("dim_g");
+    m_sigma.reference(config.readArray<double,1>("sigma"));
+    m_mu.reference(config.readArray<double,1>("mu"));
+    m_cache_isigma.resize(m_dim_d);
+    precomputeISigma();
+    if (config.contains("variance_threshold"))
+      m_variance_threshold = config.read<double>("variance_threshold");
+    else if (config.contains("variance_thresholds")) // In case 1.2.0 alpha/beta version has been used
+    {
+      blitz::Array<double,1> tmp;
+      tmp.reference(config.readArray<double,1>("variance_thresholds"));
+      m_variance_threshold = tmp(0);
+    }
+    m_cache_alpha.reference(config.readArray<double,2>("alpha"));
+    m_cache_beta.reference(config.readArray<double,2>("beta"));
+    // gamma's (a-dependent terms)
+    if(config.contains("a_indices_gamma"))
+    {
+      blitz::Array<uint32_t, 1> a_indices;
+      a_indices.reference(config.readArray<uint32_t,1>("a_indices_gamma"));
+      for(int i=0; i<a_indices.extent(0); ++i)
+      {
+        std::string str = "gamma_" + boost::lexical_cast<std::string>(a_indices(i));
+        m_cache_gamma[a_indices(i)].reference(config.readArray<double,2>(str));
+      }
+    }
+    // log likelihood constant term's (a-dependent terms)
+    if(config.contains("a_indices_loglikeconstterm"))
+    {
+      blitz::Array<uint32_t, 1> a_indices;
+      a_indices.reference(config.readArray<uint32_t,1>("a_indices_loglikeconstterm"));
+      for(int i=0; i<a_indices.extent(0); ++i)
+      {
+        std::string str = "loglikeconstterm_" + boost::lexical_cast<std::string>(a_indices(i));
+        m_cache_loglike_constterm[a_indices(i)] = config.read<double>(str);
+      }
+    }
+    m_cache_Ft_beta.reference(config.readArray<double,2>("Ft_beta"));
+    m_cache_Gt_isigma.reference(config.readArray<double,2>("Gt_isigma"));
+    m_cache_logdet_alpha = config.read<double>("logdet_alpha");
+    m_cache_logdet_sigma = config.read<double>("logdet_sigma");
+  }
+  resizeTmp();
+}
+
+void bob::learn::em::PLDABase::save(bob::io::base::HDF5File& config) const
+{
+  config.set("dim_d", (uint64_t)m_dim_d);
+  config.set("dim_f", (uint64_t)m_dim_f);
+  config.set("dim_g", (uint64_t)m_dim_g);
+  config.setArray("F", m_F);
+  config.setArray("G", m_G);
+  config.setArray("sigma", m_sigma);
+  config.setArray("mu", m_mu);
+  config.set("variance_threshold", m_variance_threshold);
+  config.setArray("alpha", m_cache_alpha);
+  config.setArray("beta", m_cache_beta);
+  // gamma's
+  if(m_cache_gamma.size() > 0)
+  {
+    blitz::Array<uint32_t, 1> a_indices(m_cache_gamma.size());
+    int i = 0;
+    for(std::map<size_t,blitz::Array<double,2> >::const_iterator
+        it=m_cache_gamma.begin(); it!=m_cache_gamma.end(); ++it)
+    {
+      a_indices(i) = it->first;
+      std::string str = "gamma_" + boost::lexical_cast<std::string>(it->first);
+      config.setArray(str, it->second);
+      ++i;
+    }
+    config.setArray("a_indices_gamma", a_indices);
+  }
+  // log likelihood constant terms
+  if(m_cache_loglike_constterm.size() > 0)
+  {
+    blitz::Array<uint32_t, 1> a_indices(m_cache_loglike_constterm.size());
+    int i = 0;
+    for(std::map<size_t,double>::const_iterator
+        it=m_cache_loglike_constterm.begin(); it!=m_cache_loglike_constterm.end(); ++it)
+    {
+      a_indices(i) = it->first;
+      std::string str = "loglikeconstterm_" + boost::lexical_cast<std::string>(it->first);
+      config.set(str, it->second);
+      ++i;
+    }
+    config.setArray("a_indices_loglikeconstterm", a_indices);
+  }
+
+  config.setArray("Ft_beta", m_cache_Ft_beta);
+  config.setArray("Gt_isigma", m_cache_Gt_isigma);
+  config.set("logdet_alpha", m_cache_logdet_alpha);
+  config.set("logdet_sigma", m_cache_logdet_sigma);
+}
+
+void bob::learn::em::PLDABase::resizeNoInit(const size_t dim_d, const size_t dim_f,
+    const size_t dim_g)
+{
+  m_dim_d = dim_d;
+  m_dim_f = dim_f;
+  m_dim_g = dim_g;
+  m_F.resize(dim_d, dim_f);
+  m_G.resize(dim_d, dim_g);
+  m_sigma.resize(dim_d);
+  m_mu.resize(dim_d);
+  m_cache_alpha.resize(dim_g, dim_g);
+  m_cache_beta.resize(dim_d, dim_d);
+  m_cache_Ft_beta.resize(dim_f, dim_d);
+  m_cache_Gt_isigma.resize(dim_g, dim_d);
+  m_cache_gamma.clear();
+  m_cache_isigma.resize(dim_d);
+  m_cache_loglike_constterm.clear();
+  resizeTmp();
+}
+
+void bob::learn::em::PLDABase::resizeTmp()
+{
+  m_tmp_d_1.resize(m_dim_d);
+  m_tmp_d_2.resize(m_dim_d);
+  m_tmp_d_ng_1.resize(m_dim_d, m_dim_g);
+  m_tmp_nf_nf_1.resize(m_dim_f, m_dim_f);
+  m_tmp_ng_ng_1.resize(m_dim_g, m_dim_g);
+}
+
+void bob::learn::em::PLDABase::resize(const size_t dim_d, const size_t dim_f,
+    const size_t dim_g)
+{
+  resizeNoInit(dim_d, dim_f, dim_g);
+  initMuFGSigma();
+}
+
+void bob::learn::em::PLDABase::setF(const blitz::Array<double,2>& F)
+{
+  bob::core::array::assertSameShape(F, m_F);
+  m_F.reference(bob::core::array::ccopy(F));
+  // Precomputes useful matrices
+  precompute();
+}
+
+void bob::learn::em::PLDABase::setG(const blitz::Array<double,2>& G)
+{
+  bob::core::array::assertSameShape(G, m_G);
+  m_G.reference(bob::core::array::ccopy(G));
+  // Precomputes useful matrices and values
+  precompute();
+  precomputeLogDetAlpha();
+}
+
+void bob::learn::em::PLDABase::setSigma(const blitz::Array<double,1>& sigma)
+{
+  bob::core::array::assertSameShape(sigma, m_sigma);
+  m_sigma.reference(bob::core::array::ccopy(sigma));
+  // Apply variance flooring threshold: This will also
+  // call the precompute() and precomputeLogLike() methods!
+  applyVarianceThreshold();
+}
+
+void bob::learn::em::PLDABase::setMu(const blitz::Array<double,1>& mu)
+{
+  bob::core::array::assertSameShape(mu, m_mu);
+  m_mu.reference(bob::core::array::ccopy(mu));
+}
+
+void bob::learn::em::PLDABase::setVarianceThreshold(const double value)
+{
+  // Variance flooring
+  m_variance_threshold = value;
+  // Apply variance flooring thresholds: This will also
+  // call the precompute() and precomputeLogLike() methods!
+  applyVarianceThreshold();
+}
+
+void bob::learn::em::PLDABase::applyVarianceThreshold()
+{
+   // Apply variance flooring threshold
+  m_sigma = blitz::where( m_sigma < m_variance_threshold, m_variance_threshold, m_sigma);
+  // Re-compute constants, because m_sigma has changed
+  precompute();
+  precomputeLogLike();
+}
+
+const blitz::Array<double,2>& bob::learn::em::PLDABase::getGamma(const size_t a) const
+{
+  if(!hasGamma(a))
+    throw std::runtime_error("Gamma for this number of samples is not currently in cache. You could use the getAddGamma() method instead");
+  return (m_cache_gamma.find(a))->second;
+}
+
+const blitz::Array<double,2>& bob::learn::em::PLDABase::getAddGamma(const size_t a)
+{
+  if(!hasGamma(a)) precomputeGamma(a);
+  return m_cache_gamma[a];
+}
+
+void bob::learn::em::PLDABase::initMuFGSigma()
+{
+  // To avoid problems related to precomputation
+  m_mu = 0.;
+  bob::math::eye(m_F);
+  bob::math::eye(m_G);
+  m_sigma = 1.;
+  // Precompute variables
+  precompute();
+  precomputeLogLike();
+}
+
+void bob::learn::em::PLDABase::precompute()
+{
+  precomputeISigma();
+  precomputeGtISigma();
+  precomputeAlpha();
+  precomputeBeta();
+  m_cache_gamma.clear();
+  precomputeFtBeta();
+  m_cache_loglike_constterm.clear();
+}
+
+void bob::learn::em::PLDABase::precomputeLogLike()
+{
+  precomputeLogDetAlpha();
+  precomputeLogDetSigma();
+}
+
+void bob::learn::em::PLDABase::precomputeISigma()
+{
+  // Updates inverse of sigma
+  m_cache_isigma = 1. / m_sigma;
+}
+
+void bob::learn::em::PLDABase::precomputeGtISigma()
+{
+  // m_cache_Gt_isigma = G^T \Sigma^{-1}
+  blitz::firstIndex i;
+  blitz::secondIndex j;
+  blitz::Array<double,2> Gt = m_G.transpose(1,0);
+  m_cache_Gt_isigma = Gt(i,j) * m_cache_isigma(j);
+}
+
+void bob::learn::em::PLDABase::precomputeAlpha()
+{
+  // alpha = (Id + G^T.sigma^-1.G)^-1
+
+  // m_tmp_ng_ng_1 = G^T.sigma^-1.G
+  bob::math::prod(m_cache_Gt_isigma, m_G, m_tmp_ng_ng_1);
+  // m_tmp_ng_ng_1 = Id + G^T.sigma^-1.G
+  for(int i=0; i<m_tmp_ng_ng_1.extent(0); ++i) m_tmp_ng_ng_1(i,i) += 1;
+  // m_cache_alpha = (Id + G^T.sigma^-1.G)^-1
+  bob::math::inv(m_tmp_ng_ng_1, m_cache_alpha);
+}
+
+void bob::learn::em::PLDABase::precomputeBeta()
+{
+  // beta = (sigma + G.G^T)^-1
+  // BUT, there is a more efficient computation (Woodbury identity):
+  // beta = sigma^-1 - sigma^-1.G.(Id + G^T.sigma^-1.G)^-1.G^T.sigma^-1
+  // beta =  sigma^-1 - sigma^-1.G.alpha.G^T.sigma^-1
+
+  blitz::Array<double,2> GtISigmaT = m_cache_Gt_isigma.transpose(1,0);
+  // m_tmp_d_ng_1 = sigma^-1.G.alpha
+  bob::math::prod(GtISigmaT, m_cache_alpha, m_tmp_d_ng_1);
+  // m_cache_beta = -sigma^-1.G.alpha.G^T.sigma^-1
+  bob::math::prod(m_tmp_d_ng_1, m_cache_Gt_isigma, m_cache_beta);
+  m_cache_beta = -m_cache_beta;
+  // m_cache_beta = sigma^-1 - sigma^-1.G.alpha.G^T.sigma^-1
+  for(int i=0; i<m_cache_beta.extent(0); ++i) m_cache_beta(i,i) += m_cache_isigma(i);
+}
+
+void bob::learn::em::PLDABase::precomputeGamma(const size_t a)
+{
+
+  blitz::Array<double,2> gamma_a(getDimF(),getDimF());
+  m_cache_gamma[a].reference(gamma_a);
+  computeGamma(a, gamma_a);
+}
+
+void bob::learn::em::PLDABase::precomputeFtBeta()
+{
+  // m_cache_Ft_beta = F^T.beta = F^T.(sigma + G.G^T)^-1
+  blitz::Array<double,2> Ft = m_F.transpose(1,0);
+  bob::math::prod(Ft, m_cache_beta, m_cache_Ft_beta);
+}
+
+void bob::learn::em::PLDABase::computeGamma(const size_t a,
+  blitz::Array<double,2> res) const
+{
+  // gamma = (Id + a.F^T.beta.F)^-1
+
+  // Checks destination size
+  bob::core::array::assertSameShape(res, m_tmp_nf_nf_1);
+  // m_tmp_nf_nf_1 = F^T.beta.F
+  bob::math::prod(m_cache_Ft_beta, m_F, m_tmp_nf_nf_1);
+   // m_tmp_nf_nf_1 = a.F^T.beta.F
+  m_tmp_nf_nf_1 *= static_cast<double>(a);
+  // m_tmp_nf_nf_1 = Id + a.F^T.beta.F
+  for(int i=0; i<m_tmp_nf_nf_1.extent(0); ++i) m_tmp_nf_nf_1(i,i) += 1;
+
+  // res = (Id + a.F^T.beta.F)^-1
+  bob::math::inv(m_tmp_nf_nf_1, res);
+}
+
+void bob::learn::em::PLDABase::precomputeLogDetAlpha()
+{
+  int sign;
+  m_cache_logdet_alpha = bob::math::slogdet(m_cache_alpha, sign);
+}
+
+void bob::learn::em::PLDABase::precomputeLogDetSigma()
+{
+  m_cache_logdet_sigma = blitz::sum(blitz::log(m_sigma));
+}
+
+double bob::learn::em::PLDABase::computeLogLikeConstTerm(const size_t a,
+  const blitz::Array<double,2>& gamma_a) const
+{
+  // loglike_constterm[a] = a/2 *
+  //  ( -D*log(2*pi) -log|sigma| +log|alpha| +log|gamma_a|)
+  int sign;
+  double logdet_gamma_a = bob::math::slogdet(gamma_a, sign);
+  double ah = static_cast<double>(a)/2.;
+  double res = ( -ah*((double)m_dim_d)*log(2*M_PI) -
+      ah*m_cache_logdet_sigma + ah*m_cache_logdet_alpha + logdet_gamma_a/2.);
+  return res;
+}
+
+double bob::learn::em::PLDABase::computeLogLikeConstTerm(const size_t a)
+{
+  const blitz::Array<double,2>& gamma_a = getAddGamma(a);
+  return computeLogLikeConstTerm(a, gamma_a);
+}
+
+void bob::learn::em::PLDABase::precomputeLogLikeConstTerm(const size_t a)
+{
+  double val = computeLogLikeConstTerm(a);
+  m_cache_loglike_constterm[a] = val;
+}
+
+double bob::learn::em::PLDABase::getLogLikeConstTerm(const size_t a) const
+{
+  if(!hasLogLikeConstTerm(a))
+    throw std::runtime_error("The LogLikelihood constant term for this number of samples is not currently in cache. You could use the getAddLogLikeConstTerm() method instead");
+  return (m_cache_loglike_constterm.find(a))->second;
+}
+
+double bob::learn::em::PLDABase::getAddLogLikeConstTerm(const size_t a)
+{
+  if(!hasLogLikeConstTerm(a)) precomputeLogLikeConstTerm(a);
+  return m_cache_loglike_constterm[a];
+}
+
+void bob::learn::em::PLDABase::clearMaps()
+{
+  m_cache_gamma.clear();
+  m_cache_loglike_constterm.clear();
+}
+
+double bob::learn::em::PLDABase::computeLogLikelihoodPointEstimate(
+  const blitz::Array<double,1>& xij, const blitz::Array<double,1>& hi,
+  const blitz::Array<double,1>& wij) const
+{
+  // Check inputs
+  bob::core::array::assertSameDimensionLength(xij.extent(0), getDimD());
+  bob::core::array::assertSameDimensionLength(hi.extent(0), getDimF());
+  bob::core::array::assertSameDimensionLength(wij.extent(0), getDimG());
+  // Computes: -D/2 log(2pi) -1/2 log(det(\Sigma))
+  //   -1/2 {(x_{ij}-(\mu+Fh_{i}+Gw_{ij}))^{T}\Sigma^{-1}(x_{ij}-(\mu+Fh_{i}+Gw_{ij}))}
+  double res = -0.5*((double)m_dim_d)*log(2*M_PI) - 0.5*m_cache_logdet_sigma;
+  // m_tmp_d_1 = (x_{ij} - (\mu+Fh_{i}+Gw_{ij}))
+  m_tmp_d_1 = xij - m_mu;
+  bob::math::prod(m_F, hi, m_tmp_d_2);
+  m_tmp_d_1 -= m_tmp_d_2;
+  bob::math::prod(m_G, wij, m_tmp_d_2);
+  m_tmp_d_1 -= m_tmp_d_2;
+  // add third term to res
+  res += -0.5*blitz::sum(blitz::pow2(m_tmp_d_1) * m_cache_isigma);
+  return res;
+}
+
+namespace bob { namespace learn { namespace em {
+  /**
+   * @brief Prints a PLDABase in the output stream. This will print
+   * the values of the parameters \f$\mu\f$, \f$F\f$, \f$G\f$ and
+   * \f$\Sigma\f$ of the PLDA model.
+   */
+  std::ostream& operator<<(std::ostream& os, const PLDABase& m) {
+    os << "mu = " << m.m_mu << std::endl;
+    os << "sigma = " << m.m_sigma << std::endl;
+    os << "F = " << m.m_F << std::endl;
+    os << "G = " << m.m_G << std::endl;
+    return os;
+  }
+} } }
+
+
+bob::learn::em::PLDAMachine::PLDAMachine():
+  m_plda_base(),
+  m_n_samples(0), m_nh_sum_xit_beta_xi(0), m_weighted_sum(0),
+  m_loglikelihood(0), m_cache_gamma(), m_cache_loglike_constterm(),
+  m_tmp_d_1(0), m_tmp_d_2(0), m_tmp_nf_1(0), m_tmp_nf_2(0), m_tmp_nf_nf_1(0,0)
+{
+}
+
+bob::learn::em::PLDAMachine::PLDAMachine(const boost::shared_ptr<bob::learn::em::PLDABase> plda_base):
+  m_plda_base(plda_base),
+  m_n_samples(0), m_nh_sum_xit_beta_xi(0), m_weighted_sum(plda_base->getDimF()),
+  m_loglikelihood(0), m_cache_gamma(), m_cache_loglike_constterm()
+{
+  resizeTmp();
+}
+
+
+bob::learn::em::PLDAMachine::PLDAMachine(const bob::learn::em::PLDAMachine& other):
+  m_plda_base(other.m_plda_base),
+  m_n_samples(other.m_n_samples),
+  m_nh_sum_xit_beta_xi(other.m_nh_sum_xit_beta_xi),
+  m_weighted_sum(bob::core::array::ccopy(other.m_weighted_sum)),
+  m_loglikelihood(other.m_loglikelihood), m_cache_gamma(),
+  m_cache_loglike_constterm(other.m_cache_loglike_constterm)
+{
+  bob::core::array::ccopy(other.m_cache_gamma, m_cache_gamma);
+  resizeTmp();
+}
+
+bob::learn::em::PLDAMachine::PLDAMachine(bob::io::base::HDF5File& config,
+    const boost::shared_ptr<bob::learn::em::PLDABase> plda_base):
+  m_plda_base(plda_base)
+{
+  load(config);
+}
+
+bob::learn::em::PLDAMachine::~PLDAMachine() {
+}
+
+bob::learn::em::PLDAMachine& bob::learn::em::PLDAMachine::operator=
+(const bob::learn::em::PLDAMachine& other)
+{
+  if(this!=&other)
+  {
+    m_plda_base = other.m_plda_base;
+    m_n_samples = other.m_n_samples;
+    m_nh_sum_xit_beta_xi = other.m_nh_sum_xit_beta_xi;
+    m_weighted_sum.reference(bob::core::array::ccopy(other.m_weighted_sum));
+    m_loglikelihood = other.m_loglikelihood;
+    bob::core::array::ccopy(other.m_cache_gamma, m_cache_gamma);
+    m_cache_loglike_constterm = other.m_cache_loglike_constterm;
+    resizeTmp();
+  }
+  return *this;
+}
+
+bool bob::learn::em::PLDAMachine::operator==
+    (const bob::learn::em::PLDAMachine& b) const
+{
+  if (!(( (!m_plda_base && !b.m_plda_base) ||
+          ((m_plda_base && b.m_plda_base) && *(m_plda_base) == *(b.m_plda_base))) &&
+        m_n_samples == b.m_n_samples &&
+        m_nh_sum_xit_beta_xi ==b.m_nh_sum_xit_beta_xi &&
+        bob::core::array::isEqual(m_weighted_sum, b.m_weighted_sum) &&
+        m_loglikelihood == b.m_loglikelihood &&
+        bob::core::array::isEqual(m_cache_gamma, b.m_cache_gamma)))
+    return false;
+
+  // m_cache_loglike_constterm
+  if (this->m_cache_loglike_constterm.size() != b.m_cache_loglike_constterm.size())
+    return false;  // differing sizes, they are not the same
+  std::map<size_t, double>::const_iterator i, j;
+  for (i = this->m_cache_loglike_constterm.begin(), j = b.m_cache_loglike_constterm.begin();
+    i != this->m_cache_loglike_constterm.end(); ++i, ++j)
+  {
+    if (i->first != j->first || i->second != j->second)
+      return false;
+  }
+
+  return true;
+}
+
+bool bob::learn::em::PLDAMachine::operator!=
+    (const bob::learn::em::PLDAMachine& b) const
+{
+  return !(this->operator==(b));
+}
+
+bool bob::learn::em::PLDAMachine::is_similar_to(
+  const bob::learn::em::PLDAMachine& b, const double r_epsilon,
+  const double a_epsilon) const
+{
+  return (( (!m_plda_base && !b.m_plda_base) ||
+            ((m_plda_base && b.m_plda_base) &&
+             m_plda_base->is_similar_to(*(b.m_plda_base), r_epsilon, a_epsilon))) &&
+          m_n_samples == b.m_n_samples &&
+          bob::core::isClose(m_nh_sum_xit_beta_xi, b.m_nh_sum_xit_beta_xi, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_weighted_sum, b.m_weighted_sum, r_epsilon, a_epsilon) &&
+          bob::core::isClose(m_loglikelihood, b.m_loglikelihood, r_epsilon, a_epsilon) &&
+          bob::core::array::isClose(m_cache_gamma, b.m_cache_gamma, r_epsilon, a_epsilon) &&
+          bob::core::isClose(m_cache_loglike_constterm, b.m_cache_loglike_constterm, r_epsilon, a_epsilon));
+}
+
+void bob::learn::em::PLDAMachine::load(bob::io::base::HDF5File& config)
+{
+  //reads all data directly into the member variables
+  m_n_samples = config.read<uint64_t>("n_samples");
+  m_nh_sum_xit_beta_xi = config.read<double>("nh_sum_xit_beta_xi");
+  m_weighted_sum.reference(config.readArray<double,1>("weighted_sum"));
+  m_loglikelihood = config.read<double>("loglikelihood");
+  // gamma and log like constant term (a-dependent terms)
+  clearMaps();
+  if(config.contains("a_indices"))
+  {
+    blitz::Array<uint32_t, 1> a_indices;
+    a_indices.reference(config.readArray<uint32_t,1>("a_indices"));
+    for(int i=0; i<a_indices.extent(0); ++i)
+    {
+      std::string str1 = "gamma_" + boost::lexical_cast<std::string>(a_indices(i));
+      m_cache_gamma[a_indices(i)].reference(config.readArray<double,2>(str1));
+      std::string str2 = "loglikeconstterm_" + boost::lexical_cast<std::string>(a_indices(i));
+      m_cache_loglike_constterm[a_indices(i)] = config.read<double>(str2);
+    }
+  }
+  resizeTmp();
+}
+
+void bob::learn::em::PLDAMachine::save(bob::io::base::HDF5File& config) const
+{
+  config.set("n_samples", m_n_samples);
+  config.set("nh_sum_xit_beta_xi", m_nh_sum_xit_beta_xi);
+  config.setArray("weighted_sum", m_weighted_sum);
+  config.set("loglikelihood", m_loglikelihood);
+  // Gamma
+  if(m_cache_gamma.size() > 0)
+  {
+    blitz::Array<uint32_t, 1> a_indices(m_cache_gamma.size());
+    int i = 0;
+    for(std::map<size_t,blitz::Array<double,2> >::const_iterator
+        it=m_cache_gamma.begin(); it!=m_cache_gamma.end(); ++it)
+    {
+      a_indices(i) = it->first;
+      std::string str1 = "gamma_" + boost::lexical_cast<std::string>(it->first);
+      config.setArray(str1, it->second);
+      std::string str2 = "loglikeconstterm_" + boost::lexical_cast<std::string>(it->first);
+      double v = m_cache_loglike_constterm.find(it->first)->second;
+      config.set(str2, v);
+      ++i;
+    }
+    config.setArray("a_indices", a_indices);
+  }
+}
+
+void bob::learn::em::PLDAMachine::setPLDABase(const boost::shared_ptr<bob::learn::em::PLDABase> plda_base)
+{
+  m_plda_base = plda_base;
+  m_weighted_sum.resizeAndPreserve(getDimF());
+  clearMaps();
+  resizeTmp();
+}
+
+
+void bob::learn::em::PLDAMachine::setWeightedSum(const blitz::Array<double,1>& ws)
+{
+  if(ws.extent(0) != m_weighted_sum.extent(0)) {
+    boost::format m("size of parameter `ws' (%d) does not match the expected size (%d)");
+    m % ws.extent(0) % m_weighted_sum.extent(0);
+    throw std::runtime_error(m.str());
+  }
+  m_weighted_sum.reference(bob::core::array::ccopy(ws));
+}
+
+const blitz::Array<double,2>& bob::learn::em::PLDAMachine::getGamma(const size_t a) const
+{
+  // Checks in both base machine and this machine
+  if (m_plda_base->hasGamma(a)) return m_plda_base->getGamma(a);
+  else if (!hasGamma(a))
+    throw std::runtime_error("Gamma for this number of samples is not currently in cache. You could use the getAddGamma() method instead");
+  return (m_cache_gamma.find(a))->second;
+}
+
+const blitz::Array<double,2>& bob::learn::em::PLDAMachine::getAddGamma(const size_t a)
+{
+  if (m_plda_base->hasGamma(a)) return m_plda_base->getGamma(a);
+  else if (hasGamma(a)) return m_cache_gamma[a];
+  // else computes it and adds it to this machine
+  blitz::Array<double,2> gamma_a(getDimF(),getDimF());
+  m_cache_gamma[a].reference(gamma_a);
+  m_plda_base->computeGamma(a, gamma_a);
+  return m_cache_gamma[a];
+}
+
+double bob::learn::em::PLDAMachine::getLogLikeConstTerm(const size_t a) const
+{
+  // Checks in both base machine and this machine
+  if (!m_plda_base) throw std::runtime_error("No PLDABase set to this machine");
+  if (m_plda_base->hasLogLikeConstTerm(a)) return m_plda_base->getLogLikeConstTerm(a);
+  else if (!hasLogLikeConstTerm(a))
+    throw std::runtime_error("The LogLikelihood constant term for this number of samples is not currently in cache. You could use the getAddLogLikeConstTerm() method instead");
+  return (m_cache_loglike_constterm.find(a))->second;
+}
+
+double bob::learn::em::PLDAMachine::getAddLogLikeConstTerm(const size_t a)
+{
+  if (!m_plda_base) throw std::runtime_error("No PLDABase set to this machine");
+  if (m_plda_base->hasLogLikeConstTerm(a)) return m_plda_base->getLogLikeConstTerm(a);
+  else if (hasLogLikeConstTerm(a)) return m_cache_loglike_constterm[a];
+  // else computes it and adds it to this machine
+  m_cache_loglike_constterm[a] =
+        m_plda_base->computeLogLikeConstTerm(a, getAddGamma(a));
+  return m_cache_loglike_constterm[a];
+}
+
+void bob::learn::em::PLDAMachine::clearMaps()
+{
+  m_cache_gamma.clear();
+  m_cache_loglike_constterm.clear();
+}
+
+double bob::learn::em::PLDAMachine::forward(const blitz::Array<double,1>& sample)
+{
+  return forward_(sample);
+}
+
+double bob::learn::em::PLDAMachine::forward_(const blitz::Array<double,1>& sample)
+{
+  // Computes the log likelihood ratio
+  return computeLogLikelihood(sample, true) - // match
+          (computeLogLikelihood(sample, false) + m_loglikelihood); // no match
+}
+
+double bob::learn::em::PLDAMachine::forward(const blitz::Array<double,2>& samples)
+{
+  // Computes the log likelihood ratio
+  return computeLogLikelihood(samples, true) - // match
+          (computeLogLikelihood(samples, false) + m_loglikelihood); // no match
+}
+
+double bob::learn::em::PLDAMachine::computeLogLikelihood(const blitz::Array<double,1>& sample,
+  bool enrol) const
+{
+  if (!m_plda_base) throw std::runtime_error("No PLDABase set to this machine");
+  // Check dimensionality
+  bob::core::array::assertSameDimensionLength(sample.extent(0), getDimD());
+
+  int n_samples = 1 + (enrol?m_n_samples:0);
+
+  // 3/ Third term of the likelihood: -1/2*X^T*(SIGMA+A.A^T)^-1*X
+  //    Efficient way: -1/2*sum_i(xi^T.sigma^-1.xi - xi^T.sigma^-1*G*(I+G^T.sigma^-1.G)^-1*G^T*sigma^-1.xi
+  //      -1/2*sumWeighted^T*(I+aF^T.(sigma^-1-sigma^-1*G*(I+G^T.sigma^-1.G)^-1*G^T*sigma^-1).F)^-1*sumWeighted
+  //      where sumWeighted = sum_i(F^T*(sigma^-1-sigma^-1*G*(I+G^T.sigma^-1.G)^-1*G^T*sigma^-1)*xi)
+  const blitz::Array<double,2>& beta = getPLDABase()->getBeta();
+  const blitz::Array<double,2>& Ft_beta = getPLDABase()->getFtBeta();
+  const blitz::Array<double,1>& mu = getPLDABase()->getMu();
+  double terma = (enrol?m_nh_sum_xit_beta_xi:0.);
+  // sumWeighted
+  if (enrol && m_n_samples > 0) m_tmp_nf_1 = m_weighted_sum;
+  else m_tmp_nf_1 = 0;
+
+  // terma += -1 / 2. * (xi^t*beta*xi)
+  m_tmp_d_1 = sample - mu;
+  bob::math::prod(beta, m_tmp_d_1, m_tmp_d_2);
+  terma += -1 / 2. * (blitz::sum(m_tmp_d_1*m_tmp_d_2));
+
+  // sumWeighted
+  bob::math::prod(Ft_beta, m_tmp_d_1, m_tmp_nf_2);
+  m_tmp_nf_1 += m_tmp_nf_2;
+  blitz::Array<double,2> gamma_a;
+  if (hasGamma(n_samples) || m_plda_base->hasGamma(n_samples))
+    gamma_a.reference(getGamma(n_samples));
+  else
+  {
+    gamma_a.reference(m_tmp_nf_nf_1);
+    m_plda_base->computeGamma(n_samples, gamma_a);
+  }
+  bob::math::prod(gamma_a, m_tmp_nf_1, m_tmp_nf_2);
+  double termb = 1 / 2. * (blitz::sum(m_tmp_nf_1*m_tmp_nf_2));
+
+  // 1/2/ Constant term of the log likelihood:
+  //      1/ First term of the likelihood: -Nsamples*D/2*log(2*PI)
+  //      2/ Second term of the likelihood: -1/2*log(det(SIGMA+A.A^T))
+  //        Efficient way: -Nsamples/2*log(det(sigma))-Nsamples/2*log(det(I+G^T.sigma^-1.G))
+  //       -1/2*log(det(I+aF^T.(sigma^-1-sigma^-1*G*(I+G^T.sigma^-1.G)*G^T*sigma^-1).F))
+  double log_likelihood; // = getAddLogLikeConstTerm(static_cast<size_t>(n_samples));
+  if (hasLogLikeConstTerm(n_samples) || m_plda_base->hasLogLikeConstTerm(n_samples))
+    log_likelihood = getLogLikeConstTerm(n_samples);
+  else
+    log_likelihood = m_plda_base->computeLogLikeConstTerm(n_samples, gamma_a);
+
+  log_likelihood += terma + termb;
+  return log_likelihood;
+}
+
+double bob::learn::em::PLDAMachine::computeLogLikelihood(const blitz::Array<double,2>& samples,
+  bool enrol) const
+{
+  if (!m_plda_base) throw std::runtime_error("No PLDABase set to this machine");
+  // Check dimensionality
+  bob::core::array::assertSameDimensionLength(samples.extent(1), getDimD());
+
+  int n_samples = samples.extent(0) + (enrol?m_n_samples:0);
+  // 3/ Third term of the likelihood: -1/2*X^T*(SIGMA+A.A^T)^-1*X
+  //    Efficient way: -1/2*sum_i(xi^T.sigma^-1.xi - xi^T.sigma^-1*G*(I+G^T.sigma^-1.G)^-1*G^T*sigma^-1.xi
+  //      -1/2*sumWeighted^T*(I+aF^T.(sigma^-1-sigma^-1*G*(I+G^T.sigma^-1.G)^-1*G^T*sigma^-1).F)^-1*sumWeighted
+  //      where sumWeighted = sum_i(F^T*(sigma^-1-sigma^-1*G*(I+G^T.sigma^-1.G)^-1*G^T*sigma^-1)*xi)
+  const blitz::Array<double,2>& beta = getPLDABase()->getBeta();
+  const blitz::Array<double,2>& Ft_beta = getPLDABase()->getFtBeta();
+  const blitz::Array<double,1>& mu = getPLDABase()->getMu();
+  double terma = (enrol?m_nh_sum_xit_beta_xi:0.);
+  // sumWeighted
+  if (enrol && m_n_samples > 0) m_tmp_nf_1 = m_weighted_sum;
+  else m_tmp_nf_1 = 0;
+  for (int k=0; k<samples.extent(0); ++k)
+  {
+    blitz::Array<double,1> samp = samples(k,blitz::Range::all());
+    m_tmp_d_1 = samp - mu;
+    // terma += -1 / 2. * (xi^t*beta*xi)
+    bob::math::prod(beta, m_tmp_d_1, m_tmp_d_2);
+    terma += -1 / 2. * (blitz::sum(m_tmp_d_1*m_tmp_d_2));
+
+    // sumWeighted
+    bob::math::prod(Ft_beta, m_tmp_d_1, m_tmp_nf_2);
+    m_tmp_nf_1 += m_tmp_nf_2;
+  }
+
+  blitz::Array<double,2> gamma_a;
+  if (hasGamma(n_samples) || m_plda_base->hasGamma(n_samples))
+    gamma_a.reference(getGamma(n_samples));
+  else
+  {
+    gamma_a.reference(m_tmp_nf_nf_1);
+    m_plda_base->computeGamma(n_samples, gamma_a);
+  }
+  bob::math::prod(gamma_a, m_tmp_nf_1, m_tmp_nf_2);
+  double termb = 1 / 2. * (blitz::sum(m_tmp_nf_1*m_tmp_nf_2));
+
+  // 1/2/ Constant term of the log likelihood:
+  //      1/ First term of the likelihood: -Nsamples*D/2*log(2*PI)
+  //      2/ Second term of the likelihood: -1/2*log(det(SIGMA+A.A^T))
+  //        Efficient way: -Nsamples/2*log(det(sigma))-Nsamples/2*log(det(I+G^T.sigma^-1.G))
+  //       -1/2*log(det(I+aF^T.(sigma^-1-sigma^-1*G*(I+G^T.sigma^-1.G)*G^T*sigma^-1).F))
+  double log_likelihood; // = getAddLogLikeConstTerm(static_cast<size_t>(n_samples));
+  if (hasLogLikeConstTerm(n_samples) || m_plda_base->hasLogLikeConstTerm(n_samples))
+    log_likelihood = getLogLikeConstTerm(n_samples);
+  else
+    log_likelihood = m_plda_base->computeLogLikeConstTerm(n_samples, gamma_a);
+
+  log_likelihood += terma + termb;
+  return log_likelihood;
+}
+
+void bob::learn::em::PLDAMachine::resize(const size_t dim_d, const size_t dim_f,
+  const size_t dim_g)
+{
+  m_weighted_sum.resizeAndPreserve(dim_f);
+  clearMaps();
+  resizeTmp();
+}
+
+void bob::learn::em::PLDAMachine::resizeTmp()
+{
+  if (m_plda_base)
+  {
+    m_tmp_d_1.resize(getDimD());
+    m_tmp_d_2.resize(getDimD());
+    m_tmp_nf_1.resize(getDimF());
+    m_tmp_nf_2.resize(getDimF());
+    m_tmp_nf_nf_1.resize(getDimF(), getDimF());
+  }
+}
diff --git a/bob/learn/em/cpp/PLDATrainer.cpp b/bob/learn/em/cpp/PLDATrainer.cpp
new file mode 100644
index 0000000..f04e1ea
--- /dev/null
+++ b/bob/learn/em/cpp/PLDATrainer.cpp
@@ -0,0 +1,800 @@
+/**
+ * @date Fri Oct 14 18:07:56 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief Probabilistic Linear Discriminant Analysis
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+
+#include <bob.learn.em/PLDATrainer.h>
+#include <bob.core/check.h>
+#include <bob.core/array_copy.h>
+#include <bob.core/array_random.h>
+#include <bob.math/inv.h>
+#include <bob.math/svd.h>
+#include <bob.core/check.h>
+#include <bob.core/array_repmat.h>
+#include <algorithm>
+#include <limits>
+#include <vector>
+
+#include <bob.math/linear.h>
+#include <bob.math/linsolve.h>
+
+
+
+bob::learn::em::PLDATrainer::PLDATrainer(const bool use_sum_second_order):
+  m_rng(new boost::mt19937()),
+  m_dim_d(0), m_dim_f(0), m_dim_g(0),
+  m_use_sum_second_order(use_sum_second_order),
+  m_initF_method(bob::learn::em::PLDATrainer::RANDOM_F), m_initF_ratio(1.),
+  m_initG_method(bob::learn::em::PLDATrainer::RANDOM_G), m_initG_ratio(1.),
+  m_initSigma_method(bob::learn::em::PLDATrainer::RANDOM_SIGMA),
+  m_initSigma_ratio(1.),
+  m_cache_S(0,0),
+  m_cache_z_first_order(0), m_cache_sum_z_second_order(0,0), m_cache_z_second_order(0),
+  m_cache_n_samples_per_id(0), m_cache_n_samples_in_training(), m_cache_B(0,0),
+  m_cache_Ft_isigma_G(0,0), m_cache_eta(0,0), m_cache_zeta(), m_cache_iota(),
+  m_tmp_nf_1(0), m_tmp_nf_2(0), m_tmp_ng_1(0),
+  m_tmp_D_1(0), m_tmp_D_2(0),
+  m_tmp_nfng_nfng(0,0), m_tmp_D_nfng_1(0,0), m_tmp_D_nfng_2(0,0)
+{
+}
+
+bob::learn::em::PLDATrainer::PLDATrainer(const bob::learn::em::PLDATrainer& other):
+  m_rng(other.m_rng),
+  m_dim_d(other.m_dim_d), m_dim_f(other.m_dim_f), m_dim_g(other.m_dim_g),
+  m_use_sum_second_order(other.m_use_sum_second_order),
+  m_initF_method(other.m_initF_method), m_initF_ratio(other.m_initF_ratio),
+  m_initG_method(other.m_initG_method), m_initG_ratio(other.m_initG_ratio),
+  m_initSigma_method(other.m_initSigma_method), m_initSigma_ratio(other.m_initSigma_ratio),
+  m_cache_S(bob::core::array::ccopy(other.m_cache_S)),
+  m_cache_z_first_order(),
+  m_cache_sum_z_second_order(bob::core::array::ccopy(other.m_cache_sum_z_second_order)),
+  m_cache_z_second_order(),
+  m_cache_n_samples_per_id(other.m_cache_n_samples_per_id),
+  m_cache_n_samples_in_training(other.m_cache_n_samples_in_training),
+  m_cache_B(bob::core::array::ccopy(other.m_cache_B)),
+  m_cache_Ft_isigma_G(bob::core::array::ccopy(other.m_cache_Ft_isigma_G)),
+  m_cache_eta(bob::core::array::ccopy(other.m_cache_eta))
+{
+  bob::core::array::ccopy(other.m_cache_z_first_order, m_cache_z_first_order);
+  bob::core::array::ccopy(other.m_cache_z_second_order, m_cache_z_second_order);
+  bob::core::array::ccopy(other.m_cache_zeta, m_cache_zeta);
+  bob::core::array::ccopy(other.m_cache_iota, m_cache_iota);
+  // Resize working arrays
+  resizeTmp();
+}
+
+bob::learn::em::PLDATrainer::~PLDATrainer() {}
+
+bob::learn::em::PLDATrainer& bob::learn::em::PLDATrainer::operator=
+(const bob::learn::em::PLDATrainer& other)
+{
+  if(this != &other)
+  {
+    m_rng = m_rng,
+    m_dim_d = other.m_dim_d;
+    m_dim_f = other.m_dim_f;
+    m_dim_g = other.m_dim_g;
+    m_use_sum_second_order = other.m_use_sum_second_order;
+    m_initF_method = other.m_initF_method;
+    m_initF_ratio = other.m_initF_ratio;
+    m_initG_method = other.m_initG_method;
+    m_initG_ratio = other.m_initG_ratio;
+    m_initSigma_method = other.m_initSigma_method;
+    m_initSigma_ratio = other.m_initSigma_ratio;
+    m_cache_S = bob::core::array::ccopy(other.m_cache_S);
+    bob::core::array::ccopy(other.m_cache_z_first_order, m_cache_z_first_order);
+    m_cache_sum_z_second_order = bob::core::array::ccopy(other.m_cache_sum_z_second_order);
+    bob::core::array::ccopy(other.m_cache_z_second_order, m_cache_z_second_order);
+    m_cache_n_samples_per_id = other.m_cache_n_samples_per_id;
+    m_cache_n_samples_in_training = other.m_cache_n_samples_in_training;
+    m_cache_B = bob::core::array::ccopy(other.m_cache_B);
+    m_cache_Ft_isigma_G = bob::core::array::ccopy(other.m_cache_Ft_isigma_G);
+    m_cache_eta = bob::core::array::ccopy(other.m_cache_eta);
+    bob::core::array::ccopy(other.m_cache_iota, m_cache_iota);
+    // Resize working arrays
+    resizeTmp();
+  }
+  return *this;
+}
+
+bool bob::learn::em::PLDATrainer::operator==
+  (const bob::learn::em::PLDATrainer& other) const
+{
+  return m_rng == m_rng &&
+         m_dim_d == other.m_dim_d &&
+         m_dim_f == other.m_dim_f &&
+         m_dim_g == other.m_dim_g &&
+         m_initF_method == other.m_initF_method &&
+         m_initF_ratio == other.m_initF_ratio &&
+         m_initG_method == other.m_initG_method &&
+         m_initG_ratio == other.m_initG_ratio &&
+         m_initSigma_method == other.m_initSigma_method &&
+         m_initSigma_ratio == other.m_initSigma_ratio &&
+         bob::core::array::isEqual(m_cache_S, m_cache_S) &&
+         bob::core::array::isEqual(m_cache_z_first_order, other.m_cache_z_first_order) &&
+         bob::core::array::isEqual(m_cache_sum_z_second_order, other.m_cache_sum_z_second_order) &&
+         bob::core::array::isEqual(m_cache_z_second_order, other.m_cache_z_second_order) &&
+         m_cache_n_samples_per_id.size() == m_cache_n_samples_per_id.size() &&
+         std::equal(m_cache_n_samples_per_id.begin(), m_cache_n_samples_per_id.end(), other.m_cache_n_samples_per_id.begin()) &&
+         m_cache_n_samples_in_training.size() == m_cache_n_samples_in_training.size() &&
+         std::equal(m_cache_n_samples_in_training.begin(), m_cache_n_samples_in_training.end(), other.m_cache_n_samples_in_training.begin()) &&
+         bob::core::array::isEqual(m_cache_B, other.m_cache_B) &&
+         bob::core::array::isEqual(m_cache_Ft_isigma_G, other.m_cache_Ft_isigma_G) &&
+         bob::core::array::isEqual(m_cache_eta, other.m_cache_eta) &&
+         bob::core::array::isEqual(m_cache_zeta, other.m_cache_zeta) &&
+         bob::core::array::isEqual(m_cache_iota, other.m_cache_iota);
+}
+
+bool bob::learn::em::PLDATrainer::operator!=
+  (const bob::learn::em::PLDATrainer &other) const
+{
+  return !(this->operator==(other));
+}
+
+bool bob::learn::em::PLDATrainer::is_similar_to
+  (const bob::learn::em::PLDATrainer &other, const double r_epsilon,
+   const double a_epsilon) const
+{
+  return m_rng == m_rng &&
+         m_dim_d == other.m_dim_d &&
+         m_dim_f == other.m_dim_f &&
+         m_dim_g == other.m_dim_g &&
+         m_use_sum_second_order == other.m_use_sum_second_order &&
+         m_initF_method == other.m_initF_method &&
+         bob::core::isClose(m_initF_ratio, other.m_initF_ratio, r_epsilon, a_epsilon) &&
+         m_initG_method == other.m_initG_method &&
+         bob::core::isClose(m_initG_ratio, other.m_initG_ratio, r_epsilon, a_epsilon) &&
+         m_initSigma_method == other.m_initSigma_method &&
+         bob::core::isClose(m_initSigma_ratio, other.m_initSigma_ratio, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_S, m_cache_S, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_z_first_order, other.m_cache_z_first_order, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_sum_z_second_order, other.m_cache_sum_z_second_order, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_z_second_order, other.m_cache_z_second_order, r_epsilon, a_epsilon) &&
+         m_cache_n_samples_per_id.size() == m_cache_n_samples_per_id.size() &&
+         std::equal(m_cache_n_samples_per_id.begin(), m_cache_n_samples_per_id.end(), other.m_cache_n_samples_per_id.begin()) &&
+         m_cache_n_samples_in_training.size() == m_cache_n_samples_in_training.size() &&
+         std::equal(m_cache_n_samples_in_training.begin(), m_cache_n_samples_in_training.end(), other.m_cache_n_samples_in_training.begin()) &&
+         bob::core::array::isClose(m_cache_B, other.m_cache_B, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_Ft_isigma_G, other.m_cache_Ft_isigma_G, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_eta, other.m_cache_eta, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_zeta, other.m_cache_zeta, r_epsilon, a_epsilon) &&
+         bob::core::array::isClose(m_cache_iota, other.m_cache_iota, r_epsilon, a_epsilon);
+}
+
+void bob::learn::em::PLDATrainer::initialize(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // Checks training data
+  checkTrainingData(v_ar);
+
+  // Gets dimension (first Arrayset)
+  size_t n_features = v_ar[0].extent(1);
+  m_dim_d = machine.getDimD();
+  // Get dimensionalities from the PLDABase
+  bob::core::array::assertSameDimensionLength(n_features, m_dim_d);
+  m_dim_f = machine.getDimF();
+  m_dim_g = machine.getDimG();
+
+  // Reinitializes array members
+  initMembers(v_ar);
+
+  // Computes the mean and the covariance if required
+  computeMeanVariance(machine, v_ar);
+
+  // Initialization (e.g. using scatter)
+  initFGSigma(machine, v_ar);
+}
+
+void bob::learn::em::PLDATrainer::finalize(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // Precomputes constant parts of the log likelihood and (gamma_a)
+  precomputeLogLike(machine, v_ar);
+  // Adds the case 1 sample if not already done (always used for scoring)
+  machine.getAddGamma(1);
+  machine.getAddLogLikeConstTerm(1);
+}
+
+void bob::learn::em::PLDATrainer::checkTrainingData(const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // Checks that the vector of Arraysets is not empty
+  if (v_ar.size() == 0) {
+    throw std::runtime_error("input training set is empty");
+  }
+
+  // Gets dimension (first Arrayset)
+  int n_features = v_ar[0].extent(1);
+  // Checks dimension consistency
+  for (size_t i=0; i<v_ar.size(); ++i) {
+    if (v_ar[i].extent(1) != n_features) {
+      boost::format m("number of features (columns) of array for class %u (%d) does not match that of array for class 0 (%d)");
+      m % i % v_ar[0].extent(1) % n_features;
+      throw std::runtime_error(m.str());
+    }
+  }
+}
+
+void bob::learn::em::PLDATrainer::initMembers(const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // Gets dimension (first Arrayset)
+  const size_t n_features = v_ar[0].extent(1); // dimensionality of the data
+  const size_t n_identities = v_ar.size();
+
+  m_cache_S.resize(n_features, n_features);
+  m_cache_sum_z_second_order.resize(m_dim_f+m_dim_g, m_dim_f+m_dim_g);
+
+  // Loops over the identities
+  for (size_t i=0; i<n_identities; ++i)
+  {
+    // Number of training samples for this identity
+    const size_t n_i = v_ar[i].extent(0);
+    // m_cache_z_first_order
+    blitz::Array<double,2> z_i(n_i, m_dim_f+m_dim_g);
+    m_cache_z_first_order.push_back(z_i);
+    // m_z_second_order
+    if (!m_use_sum_second_order)
+    {
+      blitz::Array<double,3> z2_i(n_i, m_dim_f+m_dim_g, m_dim_f+m_dim_g);
+      m_cache_z_second_order.push_back(z2_i);
+    }
+
+    // m_cache_n_samples_per_id
+    m_cache_n_samples_per_id.push_back(n_i);
+
+    // Maps dependent on the number of samples per identity
+    std::map<size_t,bool>::iterator it;
+    it = m_cache_n_samples_in_training.find(n_i);
+    if (it == m_cache_n_samples_in_training.end())
+    {
+      // Indicates if there are identities with n_i training samples and if
+      // corresponding matrices are up to date.
+      m_cache_n_samples_in_training[n_i] = false;
+      // Allocates arrays for identities with n_i training samples
+      m_cache_zeta[n_i].reference(blitz::Array<double,2>(m_dim_g, m_dim_g));
+      m_cache_iota[n_i].reference(blitz::Array<double,2>(m_dim_f, m_dim_g));
+    }
+  }
+
+  m_cache_B.resize(n_features, m_dim_f+m_dim_g);
+  m_cache_Ft_isigma_G.resize(m_dim_f, m_dim_g);
+  m_cache_eta.resize(m_dim_f, m_dim_g);
+
+  // Working arrays
+  resizeTmp();
+}
+
+void bob::learn::em::PLDATrainer::resizeTmp()
+{
+  m_tmp_nf_1.resize(m_dim_f);
+  m_tmp_nf_2.resize(m_dim_f);
+  m_tmp_ng_1.resize(m_dim_g);
+  m_tmp_D_1.resize(m_dim_d);
+  m_tmp_D_2.resize(m_dim_d);
+  m_tmp_nfng_nfng.resize(m_dim_f+m_dim_g, m_dim_f+m_dim_g);
+  m_tmp_D_nfng_1.resize(m_dim_d, m_dim_f+m_dim_g);
+  m_tmp_D_nfng_2.resize(m_dim_d, m_dim_f+m_dim_g);
+}
+
+void bob::learn::em::PLDATrainer::computeMeanVariance(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  blitz::Array<double,1>& mu = machine.updateMu();
+  blitz::Range all = blitz::Range::all();
+  // TODO: Uncomment variance computation if required
+  /*  if(m_compute_likelihood)
+  {
+    // loads all the data in a single shot - required for scatter
+    blitz::Array<double,2> data(n_features, n_samples);
+    for (size_t i=0; i<n_samples; ++i)
+      data(all,i) = ar(i,all);
+    // Mean and scatter computation
+    bob::math::scatter(data, m_cache_S, mu);
+    // divides scatter by N-1
+    m_cache_S /= static_cast<double>(n_samples-1);
+  }
+  else */
+  {
+    // Computes the mean and updates mu
+    mu = 0.;
+    size_t n_samples = 0;
+    for (size_t j=0; j<v_ar.size(); ++j) {
+      n_samples += v_ar[j].extent(0);
+      for (int i=0; i<v_ar[j].extent(0); ++i)
+        mu += v_ar[j](i,all);
+    }
+    mu /= static_cast<double>(n_samples);
+    m_cache_S = 0.;
+  }
+}
+
+void bob::learn::em::PLDATrainer::initFGSigma(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // Initializes F, G and sigma
+  initF(machine, v_ar);
+  initG(machine, v_ar);
+  initSigma(machine, v_ar);
+
+  // Precomputes values using new F, G and sigma
+  machine.precompute();
+}
+
+void bob::learn::em::PLDATrainer::initF(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  blitz::Array<double,2>& F = machine.updateF();
+  blitz::Range a = blitz::Range::all();
+
+  // 1: between-class scatter
+  if (m_initF_method == bob::learn::em::PLDATrainer::BETWEEN_SCATTER)
+  {
+    if (machine.getDimF() > v_ar.size()) {
+      boost::format m("The rank of the matrix F ('%ld') can't be larger than the number of classes in the training set ('%ld')");
+      m % machine.getDimF() % v_ar.size();
+      throw std::runtime_error(m.str());
+    }
+
+    // a/ Computes between-class scatter matrix
+    blitz::firstIndex bi;
+    blitz::secondIndex bj;
+    blitz::Array<double,2> S(machine.getDimD(), v_ar.size());
+    S = 0.;
+    m_tmp_D_1 = 0.;
+    for (size_t i=0; i<v_ar.size(); ++i)
+    {
+      blitz::Array<double,1> Si = S(blitz::Range::all(),i);
+      Si = 0.;
+      for (int j=0; j<v_ar[i].extent(0); ++j)
+      {
+        // Si += x_ij
+        Si += v_ar[i](j,a);
+      }
+      // Si = mean of the samples class i
+      Si /= static_cast<double>(v_ar[i].extent(0));
+      m_tmp_D_1 += Si;
+    }
+    m_tmp_D_1 /= static_cast<double>(v_ar.size());
+
+    // b/ Removes the mean
+    S = S(bi,bj) - m_tmp_D_1(bi);
+
+    // c/ SVD of the between-class scatter matrix
+    const size_t n_singular = std::min(machine.getDimD(),v_ar.size());
+    blitz::Array<double,2> U(machine.getDimD(), n_singular);
+    blitz::Array<double,1> sigma(n_singular);
+    bob::math::svd(S, U, sigma);
+
+    // d/ Updates F
+    blitz::Array<double,2> Uslice = U(a, blitz::Range(0,m_dim_f-1));
+    blitz::Array<double,1> sigma_slice = sigma(blitz::Range(0,m_dim_f-1));
+    sigma_slice = blitz::sqrt(sigma_slice);
+    F = Uslice(bi,bj) / sigma_slice(bj);
+  }
+  // otherwise: random initialization
+  else {
+    // F initialization
+    bob::core::array::randn(*m_rng, F);
+    F *= m_initF_ratio;
+  }
+}
+
+void bob::learn::em::PLDATrainer::initG(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  blitz::Array<double,2>& G = machine.updateG();
+  blitz::Range a = blitz::Range::all();
+
+  // 1: within-class scatter
+  if (m_initG_method == bob::learn::em::PLDATrainer::WITHIN_SCATTER)
+  {
+    // a/ Computes within-class scatter matrix
+    blitz::firstIndex bi;
+    blitz::secondIndex bj;
+    size_t Nsamples=0;
+    for (size_t i=0; i<v_ar.size(); ++i)
+      Nsamples += v_ar[i].extent(0);
+
+    blitz::Array<double,2> S(machine.getDimD(), Nsamples);
+    S = 0.;
+    m_tmp_D_1 = 0.;
+    int counter = 0;
+    for (size_t i=0; i<v_ar.size(); ++i)
+    {
+      // Computes the mean of the samples class i
+      m_tmp_D_2 = 0.;
+      for (int j=0; j<v_ar[i].extent(0); ++j)
+      {
+        // m_tmp_D_2 += x_ij
+        m_tmp_D_2 += v_ar[i](j,a);
+      }
+      // m_tmp_D_2 = mean of the samples class i
+      m_tmp_D_2 /= static_cast<double>(v_ar[i].extent(0));
+
+      // Generates the scatter
+      for (int j=0; j<v_ar[i].extent(0); ++j)
+      {
+        blitz::Array<double,1> Si = S(a, counter);
+        // Si = x_ij - mean_i
+        Si = v_ar[i](j,a) - m_tmp_D_2;
+        // mean of the within class
+        m_tmp_D_1 += Si;
+        ++counter;
+      }
+    }
+    m_tmp_D_1 /= static_cast<double>(Nsamples);
+
+    // b/ Removes the mean
+    S = S(bi,bj) - m_tmp_D_1(bi);
+
+    // c/ SVD of the between-class scatter matrix
+    blitz::Array<double,2> U(m_dim_d, std::min(m_dim_d, Nsamples));
+    blitz::Array<double,1> sigma(std::min(m_dim_d, Nsamples));
+    bob::math::svd(S, U, sigma);
+
+    // d/ Updates G
+    blitz::Array<double,2> Uslice = U(blitz::Range::all(), blitz::Range(0,m_dim_g-1));
+    blitz::Array<double,1> sigma_slice = sigma(blitz::Range(0,m_dim_g-1));
+    sigma_slice = blitz::sqrt(sigma_slice);
+    G = Uslice(bi,bj) / sigma_slice(bj);
+  }
+  // otherwise: random initialization
+  else {
+    // G initialization
+    bob::core::array::randn(*m_rng, G);
+    G *= m_initG_ratio;
+  }
+}
+
+void bob::learn::em::PLDATrainer::initSigma(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  blitz::Array<double,1>& sigma = machine.updateSigma();
+  blitz::Range a = blitz::Range::all();
+
+  // 1: percentage of the variance of G
+  if (m_initSigma_method == bob::learn::em::PLDATrainer::VARIANCE_G) {
+    const blitz::Array<double,2>& G = machine.getG();
+    blitz::secondIndex bj;
+    m_tmp_D_1 = blitz::mean(G, bj);
+    // Updates sigma
+    sigma = blitz::fabs(m_tmp_D_1) * m_initSigma_ratio;
+  }
+  // 2: constant value
+  else if (m_initSigma_method == bob::learn::em::PLDATrainer::CONSTANT) {
+    sigma = m_initSigma_ratio;
+  }
+  // 3: percentage of the variance of the data
+  else if (m_initSigma_method == bob::learn::em::PLDATrainer::VARIANCE_DATA) {
+    // a/ Computes the global mean
+    //    m_tmp_D_1 = 1/N sum_i x_i
+    m_tmp_D_1 = 0.;
+    size_t Ns = 0;
+    for (size_t i=0; i<v_ar.size(); ++i)
+    {
+      for (int j=0; j<v_ar[i].extent(0); ++j)
+        m_tmp_D_1 += v_ar[i](j,a);
+      Ns += v_ar[i].extent(0);
+    }
+    m_tmp_D_1 /= static_cast<double>(Ns);
+
+    // b/ Computes the variance:
+    m_tmp_D_2 = 0.;
+    for (size_t i=0; i<v_ar.size(); ++i)
+      for (int j=0; j<v_ar[i].extent(0); ++j)
+        m_tmp_D_2 += blitz::pow2(v_ar[i](j,a) - m_tmp_D_1);
+    sigma = m_initSigma_ratio * m_tmp_D_2 / static_cast<double>(Ns-1);
+  }
+  // otherwise: random initialization
+  else {
+    // sigma initialization
+    bob::core::array::randn(*m_rng, sigma);
+    sigma = blitz::fabs(sigma) * m_initSigma_ratio;
+  }
+  // Apply variance threshold
+  machine.applyVarianceThreshold();
+}
+
+void bob::learn::em::PLDATrainer::eStep(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // Precomputes useful variables using current estimates of F,G, and sigma
+  precomputeFromFGSigma(machine);
+  // Gets the mean mu from the machine
+  const blitz::Array<double,1>& mu = machine.getMu();
+  const blitz::Array<double,2>& alpha = machine.getAlpha();
+  const blitz::Array<double,2>& F = machine.getF();
+  const blitz::Array<double,2>& FtBeta = machine.getFtBeta();
+  const blitz::Array<double,2>& GtISigma = machine.getGtISigma();
+  blitz::Range a = blitz::Range::all();
+
+  // blitz indices
+  blitz::firstIndex bi;
+  blitz::secondIndex bj;
+  // Initializes sum of z second order statistics to 0
+  m_cache_sum_z_second_order = 0.;
+  for (size_t i=0; i<v_ar.size(); ++i)
+  {
+    // Computes expectation of z_ij = [h_i w_ij]
+    // 1/a/ Computes expectation of h_i
+    // Loop over the samples
+    m_tmp_nf_1 = 0.;
+    for (int j=0; j<v_ar[i].extent(0); ++j)
+    {
+      // m_tmp_D_1 = x_sj-mu
+      m_tmp_D_1 = v_ar[i](j,a) - mu;
+
+      // m_tmp_nf_2 = F^T.beta.(x_sj-mu)
+      bob::math::prod(FtBeta, m_tmp_D_1, m_tmp_nf_2);
+      // m_tmp_nf_1 = sum_j F^T.beta.(x_sj-mu)
+      m_tmp_nf_1 += m_tmp_nf_2;
+    }
+    const blitz::Array<double,2>& gamma_a = machine.getAddGamma(v_ar[i].extent(0));
+    blitz::Range r_hi(0, m_dim_f-1);
+    // m_tmp_nf_2 = E(h_i) = gamma_A  sum_j F^T.beta.(x_sj-mu)
+    bob::math::prod(gamma_a, m_tmp_nf_1, m_tmp_nf_2);
+
+    // 1/b/ Precomputes: m_tmp_D_2 = F.E{h_i}
+    bob::math::prod(F, m_tmp_nf_2, m_tmp_D_2);
+
+    // 2/ First and second order statistics of z
+    // Precomputed values
+    blitz::Array<double,2>& zeta_a = m_cache_zeta[v_ar[i].extent(0)];
+    blitz::Array<double,2>& iota_a = m_cache_iota[v_ar[i].extent(0)];
+    blitz::Array<double,2> iotat_a = iota_a.transpose(1,0);
+
+    // Extracts statistics of z_ij = [h_i w_ij] from y_i = [h_i w_i1 ... w_iJ]
+    blitz::Range r1(0, m_dim_f-1);
+    blitz::Range r2(m_dim_f, m_dim_f+m_dim_g-1);
+    for (int j=0; j<v_ar[i].extent(0); ++j)
+    {
+      // 1/ First order statistics of z
+      blitz::Array<double,1> z_first_order_ij_1 = m_cache_z_first_order[i](j,r1);
+      z_first_order_ij_1 = m_tmp_nf_2; // E{h_i}
+      // m_tmp_D_1 = x_sj - mu - F.E{h_i}
+      m_tmp_D_1 = v_ar[i](j,a) - mu - m_tmp_D_2;
+      // m_tmp_ng_1 = G^T.sigma^-1.(x_sj-mu-fhi)
+      bob::math::prod(GtISigma, m_tmp_D_1, m_tmp_ng_1);
+      // z_first_order_ij_2 = (Id+G^T.sigma^-1.G)^-1.G^T.sigma^-1.(x_sj-mu) = E{w_ij}
+      blitz::Array<double,1> z_first_order_ij_2 = m_cache_z_first_order[i](j,r2);
+      bob::math::prod(alpha, m_tmp_ng_1, z_first_order_ij_2);
+
+      // 2/ Second order statistics of z
+      blitz::Array<double,2> z_sum_so_11 = m_cache_sum_z_second_order(r1,r1);
+      blitz::Array<double,2> z_sum_so_12 = m_cache_sum_z_second_order(r1,r2);
+      blitz::Array<double,2> z_sum_so_21 = m_cache_sum_z_second_order(r2,r1);
+      blitz::Array<double,2> z_sum_so_22 = m_cache_sum_z_second_order(r2,r2);
+      if (m_use_sum_second_order)
+      {
+        z_sum_so_11 += gamma_a + z_first_order_ij_1(bi) * z_first_order_ij_1(bj);
+        z_sum_so_12 += iota_a + z_first_order_ij_1(bi) * z_first_order_ij_2(bj);
+        z_sum_so_21 += iotat_a + z_first_order_ij_2(bi) * z_first_order_ij_1(bj);
+        z_sum_so_22 += zeta_a + z_first_order_ij_2(bi) * z_first_order_ij_2(bj);
+      }
+      else
+      {
+        blitz::Array<double,2> z_so_11 = m_cache_z_second_order[i](j,r1,r1);
+        z_so_11 = gamma_a + z_first_order_ij_1(bi) * z_first_order_ij_1(bj);
+        z_sum_so_11 += z_so_11;
+        blitz::Array<double,2> z_so_12 = m_cache_z_second_order[i](j,r1,r2);
+        z_so_12 = iota_a + z_first_order_ij_1(bi) * z_first_order_ij_2(bj);
+        z_sum_so_12 += z_so_12;
+        blitz::Array<double,2> z_so_21 = m_cache_z_second_order[i](j,r2,r1);
+        z_so_21 = iotat_a + z_first_order_ij_2(bi) * z_first_order_ij_1(bj);
+        z_sum_so_21 += z_so_21;
+        blitz::Array<double,2> z_so_22 = m_cache_z_second_order[i](j,r2,r2);
+        z_so_22 = zeta_a + z_first_order_ij_2(bi) * z_first_order_ij_2(bj);
+        z_sum_so_22 += z_so_22;
+      }
+    }
+  }
+}
+
+void bob::learn::em::PLDATrainer::precomputeFromFGSigma(bob::learn::em::PLDABase& machine)
+{
+  // Blitz compatibility: ugly fix (const_cast, as old blitz version does not
+  // provide a non-const version of transpose())
+  const blitz::Array<double,2>& F = machine.getF();
+  const blitz::Array<double,2> Ft = const_cast<blitz::Array<double,2>&>(F).transpose(1,0);
+  const blitz::Array<double,2>& Gt_isigma = machine.getGtISigma();
+  const blitz::Array<double,2> Gt_isigma_t = const_cast<blitz::Array<double,2>&>(Gt_isigma).transpose(1,0);
+  const blitz::Array<double,2>& alpha = machine.getAlpha();
+
+  // Precomputes F, G and sigma-based expressions
+  bob::math::prod(Ft, Gt_isigma_t, m_cache_Ft_isigma_G);
+  bob::math::prod(m_cache_Ft_isigma_G, alpha, m_cache_eta);
+  blitz::Array<double,2> etat = m_cache_eta.transpose(1,0);
+
+  // Reinitializes all the zeta_a and iota_a
+  std::map<size_t,bool>::iterator it;
+  for (it=m_cache_n_samples_in_training.begin(); it!=m_cache_n_samples_in_training.end();
+      ++it)
+    it->second = false;
+
+  for (it=m_cache_n_samples_in_training.begin(); it!=m_cache_n_samples_in_training.end();
+      ++it)
+  {
+    size_t n_i = it->first;
+    // Precomputes zeta and iota for identities with q_i training samples,
+    // if not already done
+    if (!it->second)
+    {
+      const blitz::Array<double,2>& gamma_a = machine.getAddGamma(n_i);
+      blitz::Array<double,2>& zeta_a = m_cache_zeta[n_i];
+      blitz::Array<double,2>& iota_a = m_cache_iota[n_i];
+      bob::math::prod(gamma_a, m_cache_eta, iota_a);
+      bob::math::prod(etat, iota_a, zeta_a);
+      zeta_a += alpha;
+      iota_a = - iota_a;
+      // Now up to date
+      it->second = true;
+    }
+  }
+}
+
+void bob::learn::em::PLDATrainer::precomputeLogLike(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // Precomputes the log determinant of alpha and sigma
+  machine.precomputeLogLike();
+
+  // Precomputes the log likelihood constant term
+  std::map<size_t,bool>::iterator it;
+  for (it=m_cache_n_samples_in_training.begin();
+       it!=m_cache_n_samples_in_training.end(); ++it)
+  {
+    // Precomputes the log likelihood constant term for identities with q_i
+    // training samples, if not already done
+    machine.getAddLogLikeConstTerm(it->first);
+  }
+}
+
+
+void bob::learn::em::PLDATrainer::mStep(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  // 1/ New estimate of B = {F G}
+  updateFG(machine, v_ar);
+
+  // 2/ New estimate of Sigma
+  updateSigma(machine, v_ar);
+
+  // 3/ Precomputes new values after updating F, G and sigma
+  machine.precompute();
+  // Precomputes useful variables using current estimates of F,G, and sigma
+  precomputeFromFGSigma(machine);
+}
+
+void bob::learn::em::PLDATrainer::updateFG(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  /// Computes the B matrix (B = [F G])
+  /// B = (sum_ij (x_ij-mu).E{z_i}^T).(sum_ij E{z_i.z_i^T})^-1
+
+  // 1/ Computes the numerator (sum_ij (x_ij-mu).E{z_i}^T)
+  // Gets the mean mu from the machine
+  const blitz::Array<double,1>& mu = machine.getMu();
+  blitz::Range a = blitz::Range::all();
+  m_tmp_D_nfng_2 = 0.;
+  for (size_t i=0; i<v_ar.size(); ++i)
+  {
+    // Loop over the samples
+    for (int j=0; j<v_ar[i].extent(0); ++j)
+    {
+      // m_tmp_D_1 = x_sj-mu
+      m_tmp_D_1 = v_ar[i](j,a) - mu;
+      // z_first_order_ij = E{z_ij}
+      blitz::Array<double,1> z_first_order_ij = m_cache_z_first_order[i](j, a);
+      // m_tmp_D_nfng_1 = (x_sj-mu).E{z_ij}^T
+      bob::math::prod(m_tmp_D_1, z_first_order_ij, m_tmp_D_nfng_1);
+      m_tmp_D_nfng_2 += m_tmp_D_nfng_1;
+    }
+  }
+
+  // 2/ Computes the denominator inv(sum_ij E{z_i.z_i^T})
+  bob::math::inv(m_cache_sum_z_second_order, m_tmp_nfng_nfng);
+
+  // 3/ Computes numerator / denominator
+  bob::math::prod(m_tmp_D_nfng_2, m_tmp_nfng_nfng, m_cache_B);
+
+  // 4/ Updates the machine
+  blitz::Array<double, 2>& F = machine.updateF();
+  blitz::Array<double, 2>& G = machine.updateG();
+  F = m_cache_B(a, blitz::Range(0, m_dim_f-1));
+  G = m_cache_B(a, blitz::Range(m_dim_f, m_dim_f+m_dim_g-1));
+}
+
+void bob::learn::em::PLDATrainer::updateSigma(bob::learn::em::PLDABase& machine,
+  const std::vector<blitz::Array<double,2> >& v_ar)
+{
+  /// Computes the Sigma matrix
+  /// Sigma = 1/IJ sum_ij Diag{(x_ij-mu).(x_ij-mu)^T - B.E{z_i}.(x_ij-mu)^T}
+
+  // Gets the mean mu and the matrix sigma from the machine
+  blitz::Array<double,1>& sigma = machine.updateSigma();
+  const blitz::Array<double,1>& mu = machine.getMu();
+  blitz::Range a = blitz::Range::all();
+
+  sigma = 0.;
+  size_t n_IJ=0; /// counts the number of samples
+  for (size_t i=0; i<v_ar.size(); ++i)
+  {
+    // Loop over the samples
+    for (int j=0; j<v_ar[i].extent(0); ++j)
+    {
+      // m_tmp_D_1 = x_ij-mu
+      m_tmp_D_1 = v_ar[i](j,a) - mu;
+      // sigma += Diag{(x_ij-mu).(x_ij-mu)^T}
+      sigma += blitz::pow2(m_tmp_D_1);
+
+      // z_first_order_ij = E{z_ij}
+      blitz::Array<double,1> z_first_order_ij = m_cache_z_first_order[i](j,a);
+      // m_tmp_D_2 = B.E{z_ij}
+      bob::math::prod(m_cache_B, z_first_order_ij, m_tmp_D_2);
+      // sigma -= Diag{B.E{z_ij}.(x_ij-mu)
+      sigma -= (m_tmp_D_1 * m_tmp_D_2);
+      ++n_IJ;
+    }
+  }
+  // Normalizes by the number of samples
+  sigma /= static_cast<double>(n_IJ);
+  // Apply variance threshold
+  machine.applyVarianceThreshold();
+}
+
+
+void bob::learn::em::PLDATrainer::enrol(bob::learn::em::PLDAMachine& plda_machine,
+  const blitz::Array<double,2>& ar) const
+{
+  // Gets dimension
+  const size_t dim_d = ar.extent(1);
+  const int n_samples = ar.extent(0);
+  // Compare the dimensionality from the base trainer/machine with the one
+  // of the enrollment samples
+  if (plda_machine.getDimD() != dim_d) {
+    boost::format m("the extent of the D dimension of the input machine (%u) does not match the input sample (%u)");
+    m % plda_machine.getDimD() % dim_d;
+    throw std::runtime_error(m.str());
+  }
+  const size_t dim_f = plda_machine.getDimF();
+
+  // Resize working arrays
+  m_tmp_D_1.resize(dim_d);
+  m_tmp_D_2.resize(dim_d);
+  m_tmp_nf_1.resize(dim_f);
+
+  // Useful values from the base machine
+  blitz::Array<double,1>& weighted_sum = plda_machine.updateWeightedSum();
+  const blitz::Array<double,1>& mu = plda_machine.getPLDABase()->getMu();
+  const blitz::Array<double,2>& beta = plda_machine.getPLDABase()->getBeta();
+  const blitz::Array<double,2>& FtBeta = plda_machine.getPLDABase()->getFtBeta();
+
+  // Updates the PLDA machine
+  plda_machine.setNSamples(n_samples);
+  double terma = 0.;
+  weighted_sum = 0.;
+  blitz::Range a = blitz::Range::all();
+  for (int i=0; i<n_samples; ++i) {
+    m_tmp_D_1 =  ar(i,a) - mu;
+    // a/ weighted sum
+    bob::math::prod(FtBeta, m_tmp_D_1, m_tmp_nf_1);
+    weighted_sum += m_tmp_nf_1;
+    // b/ first xi dependent term of the log likelihood
+    bob::math::prod(beta, m_tmp_D_1, m_tmp_D_2);
+    terma += -1 / 2. * blitz::sum(m_tmp_D_1 * m_tmp_D_2);
+  }
+  plda_machine.setWSumXitBetaXi(terma);
+
+  // Adds the precomputed values for the cases N and N+1 if not already
+  // in the base machine (used by the forward function, 1 already added)
+  plda_machine.getAddGamma(n_samples);
+  plda_machine.getAddLogLikeConstTerm(n_samples);
+  plda_machine.getAddGamma(n_samples+1);
+  plda_machine.getAddLogLikeConstTerm(n_samples+1);
+  plda_machine.setLogLikelihood(plda_machine.computeLogLikelihood(
+                                  blitz::Array<double,2>(0,dim_d),true));
+}
diff --git a/bob/learn/em/cpp/ZTNorm.cpp b/bob/learn/em/cpp/ZTNorm.cpp
new file mode 100644
index 0000000..707b9a1
--- /dev/null
+++ b/bob/learn/em/cpp/ZTNorm.cpp
@@ -0,0 +1,182 @@
+/**
+ * @date Tue Jul 19 15:33:20 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include <bob.learn.em/ZTNorm.h>
+#include <bob.core/assert.h>
+#include <limits>
+
+
+static void _ztNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+            const blitz::Array<double,2>* rawscores_zprobes_vs_models,
+            const blitz::Array<double,2>* rawscores_probes_vs_tmodels,
+            const blitz::Array<double,2>* rawscores_zprobes_vs_tmodels,
+            const blitz::Array<bool,2>* mask_zprobes_vs_tmodels_istruetrial,
+            blitz::Array<double,2>& scores)
+{
+  // Rename variables
+  const blitz::Array<double,2>& A = rawscores_probes_vs_models;
+  const blitz::Array<double,2>* B = rawscores_zprobes_vs_models;
+  const blitz::Array<double,2>* C = rawscores_probes_vs_tmodels;
+  const blitz::Array<double,2>* D = rawscores_zprobes_vs_tmodels;
+
+  // Compute the sizes
+  int size_eval  = A.extent(0);
+  int size_enrol = A.extent(1);
+  int size_tnorm = (C ? C->extent(0) : 0);
+  int size_znorm = (B ? B->extent(1) : 0);
+
+  // Check the inputs
+  bob::core::array::assertSameDimensionLength(A.extent(0), size_eval);
+  bob::core::array::assertSameDimensionLength(A.extent(1), size_enrol);
+
+  if (B) {
+    bob::core::array::assertSameDimensionLength(B->extent(1), size_znorm);
+    if (size_znorm > 0)
+      bob::core::array::assertSameDimensionLength(B->extent(0), size_eval);
+  }
+
+  if (C) {
+    bob::core::array::assertSameDimensionLength(C->extent(0), size_tnorm);
+    if (size_tnorm > 0)
+      bob::core::array::assertSameDimensionLength(C->extent(1), size_enrol);
+  }
+
+  if (D && size_znorm > 0 && size_tnorm > 0) {
+    bob::core::array::assertSameDimensionLength(D->extent(0), size_tnorm);
+    bob::core::array::assertSameDimensionLength(D->extent(1), size_znorm);
+  }
+
+  if (mask_zprobes_vs_tmodels_istruetrial) {
+    bob::core::array::assertSameDimensionLength(mask_zprobes_vs_tmodels_istruetrial->extent(0), size_tnorm);
+    bob::core::array::assertSameDimensionLength(mask_zprobes_vs_tmodels_istruetrial->extent(1), size_znorm);
+  }
+
+  bob::core::array::assertSameDimensionLength(scores.extent(0), size_eval);
+  bob::core::array::assertSameDimensionLength(scores.extent(1), size_enrol);
+
+  // Declare needed IndexPlaceholder
+  blitz::firstIndex ii;
+  blitz::secondIndex jj;
+
+  // Constant to check if the std is close to 0.
+  const double eps = std::numeric_limits<double>::min();
+
+  // zA
+  blitz::Array<double,2> zA(A.shape());
+  if (B && size_znorm > 0) {
+    // Znorm  -->      zA  = (A - mean(B) ) / std(B)    [znorm on oringinal scores]
+    // mean(B)
+    blitz::Array<double,1> mean_B(blitz::mean(*B, jj));
+    // std(B)
+    blitz::Array<double,2> B2n(B->shape());
+    B2n = blitz::pow2((*B)(ii, jj) - mean_B(ii));
+    blitz::Array<double,1> std_B(B->extent(0));
+    if(size_znorm>1)
+      std_B = blitz::sqrt(blitz::sum(B2n, jj) / (size_znorm - 1));
+    else // 1 single value -> std = 0
+      std_B = 0;
+    std_B = blitz::where( std_B <= eps, 1., std_B);
+
+    zA = (A(ii, jj) - mean_B(ii)) / std_B(ii);
+  }
+  else
+    zA = A;
+
+  blitz::Array<double,2> zC(size_tnorm, size_enrol);
+  if (D && size_tnorm > 0 && size_znorm > 0) {
+    blitz::Array<double,1> mean_Dimp(size_tnorm);
+    blitz::Array<double,1> std_Dimp(size_tnorm);
+
+    // Compute mean_Dimp and std_Dimp = D only with impostors
+    for (int i = 0; i < size_tnorm; ++i) {
+      double sum = 0;
+      double sumsq = 0;
+      double count = 0;
+      for (int j = 0; j < size_znorm; ++j) {
+        bool keep;
+        // The second part is never executed if mask_zprobes_vs_tmodels_istruetrial==NULL
+        keep = (mask_zprobes_vs_tmodels_istruetrial == NULL) || !(*mask_zprobes_vs_tmodels_istruetrial)(i, j); //tnorm_models_spk_ids(i) != znorm_tests_spk_ids(j);
+
+        double value = keep * (*D)(i, j);
+        sum += value;
+        sumsq += value*value;
+        count += keep;
+      }
+
+      double mean = sum / count;
+      mean_Dimp(i) = mean;
+      if (count > 1)
+        std_Dimp(i) = sqrt((sumsq - count * mean * mean) / (count -1));
+      else // 1 single value -> std = 0
+        std_Dimp(i) = 0;
+    }
+
+    // zC  = (C - mean(D)) / std(D)     [znorm the tnorm scores]
+    std_Dimp = blitz::where( std_Dimp <= eps, 1., std_Dimp);
+    zC = ((*C)(ii, jj) - mean_Dimp(ii)) / std_Dimp(ii);
+  }
+  else if (C && size_tnorm > 0)
+    zC = *C;
+
+  if (C && size_tnorm > 0)
+  {
+    blitz::Array<double,1> mean_zC(size_enrol);
+    blitz::Array<double,1> std_zC(size_enrol);
+
+    // ztA = (zA - mean(zC)) / std(zC)  [ztnorm on eval scores]
+    mean_zC = blitz::mean(zC(jj, ii), jj);
+    if (size_tnorm > 1)
+      std_zC = sqrt(blitz::sum(pow(zC(jj, ii) - mean_zC(ii), 2) , jj) / (size_tnorm - 1));
+    else // 1 single value -> std = 0
+      std_zC = 0;
+    std_zC = blitz::where( std_zC <= eps, 1., std_zC);
+
+    // Normalised scores
+    scores = (zA(ii, jj) - mean_zC(jj)) /  std_zC(jj);
+  }
+  else
+    scores = zA;
+}
+
+void bob::learn::em::ztNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+            const blitz::Array<double,2>& rawscores_zprobes_vs_models,
+            const blitz::Array<double,2>& rawscores_probes_vs_tmodels,
+            const blitz::Array<double,2>& rawscores_zprobes_vs_tmodels,
+            const blitz::Array<bool,2>& mask_zprobes_vs_tmodels_istruetrial,
+            blitz::Array<double,2>& scores)
+{
+  _ztNorm(rawscores_probes_vs_models, &rawscores_zprobes_vs_models, &rawscores_probes_vs_tmodels,
+                 &rawscores_zprobes_vs_tmodels, &mask_zprobes_vs_tmodels_istruetrial, scores);
+}
+
+void bob::learn::em::ztNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+            const blitz::Array<double,2>& rawscores_zprobes_vs_models,
+            const blitz::Array<double,2>& rawscores_probes_vs_tmodels,
+            const blitz::Array<double,2>& rawscores_zprobes_vs_tmodels,
+            blitz::Array<double,2>& scores)
+{
+  _ztNorm(rawscores_probes_vs_models, &rawscores_zprobes_vs_models, &rawscores_probes_vs_tmodels,
+                 &rawscores_zprobes_vs_tmodels, NULL, scores);
+}
+
+void bob::learn::em::tNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+           const blitz::Array<double,2>& rawscores_probes_vs_tmodels,
+           blitz::Array<double,2>& scores)
+{
+  _ztNorm(rawscores_probes_vs_models, NULL, &rawscores_probes_vs_tmodels,
+                 NULL, NULL, scores);
+}
+
+void bob::learn::em::zNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+           const blitz::Array<double,2>& rawscores_zprobes_vs_models,
+           blitz::Array<double,2>& scores)
+{
+  _ztNorm(rawscores_probes_vs_models, &rawscores_zprobes_vs_models, NULL,
+                 NULL, NULL, scores);
+}
+
diff --git a/bob/learn/em/data/data.hdf5 b/bob/learn/em/data/data.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..7c406233e19c49f5ab6e2c26d32257fc4e47e54f
GIT binary patch
literal 2544
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%Lo!3R!=5S05L!ed}afHD}NbO)4P!31G2GJqfh
zg9L=jAP6-dU0q0!t1ANoBLmEQ7!B3NV88-laX_e1a)gC|hpS@%$jcERf`I{=iWnG9
zK+_pim?5#KD6x_Ol#(DK9uSIbl97Rp0i3qM1jt-SN@iq)2pB<4hSAIn5@7X$3ib?;
zwCccM!p&gvpBbW%m4O2+&&0$8Hh=@Fo|!QLqMTs@SRA67fk6mr3P`ZWLc*Vcp#ml~
zAat;wzY8cwLmkVY0QJ{^IA+w+(GVC7fk7PtFFs!r;j3nLuuZh)(3kwR|3jYKsS^cn
z>^IN4a&oiXhy5P{T$31<Ufs|2M|M%D;>Z0)r~7Wy`7t@DSuLMXWFq2lC0B^CcPXDk
z!=|><4zW}Fzx^!w@%AON!yM%oKQ}c=I|$r-=6US_r^7m*-No^*85|g5Iq!b4J+S|s
zL{awaE)j?8v6G9IEfR3J(B0PW>o4iB=FoRX*)l-~my4IQ8Zww1vOaMaY!F~_sFmz_
zRHy%U{|s%OvPTod94^iGyezo&+y3{T?+SFz___bajb*Lfvqc>a^v-Ua60y@h<Up~8
z!i)#|*YMUPMY)SPJUn3{A@BWRzlGC_#<Sbl9U>;P->+qsa$s0kCLG9h$v#40?Y*>5
z-|au#SRnGJRLr5myN@ll{r7(LT_=9a2nabOcunt&aJ*=5X}@vx4Oan&dF<!AE&qr*
zOgVJ+e11QpL(tJC8SZ+<13!2}Ri0FRuy0(u{^=zT)&m|pr<Q(VxojU(ve9kJ`G58?
lx75|t-~6&SmX<ydQ1WrV*)0b_S+URipZxsw)idpbJpd&`^OgVr

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/dataNormalized.hdf5 b/bob/learn/em/data/dataNormalized.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..ac8d0302ebb312d35a8ee43c1c6195b899643733
GIT binary patch
literal 259592
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/dataforMAP.hdf5 b/bob/learn/em/data/dataforMAP.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..9cd7bfe8533daab0a21ae20d342281ecf1afa977
GIT binary patch
literal 259592
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%0DKdP-Q74sNe5=r{<jCl@^b
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/faithful.torch3.hdf5 b/bob/learn/em/data/faithful.torch3.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..a508318e6e8bcc528674ab7f9e3594f73ddb8367
GIT binary patch
literal 21448
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
Y-#<v6UkEgR6Ad{RqDz=T@GY|g0Q|%ZH~;_u

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/faithful.torch3_f64.hdf5 b/bob/learn/em/data/faithful.torch3_f64.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..fe7f81b2bce427f6ab367cb6c7a2a6c1524e0528
GIT binary patch
literal 23240
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
N(xc->sNpeEc>vkdLvsKC

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/gmm.init_means.hdf5 b/bob/learn/em/data/gmm.init_means.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..0b88738f3883e9b20c8eea20e2b278bf364498b4
GIT binary patch
literal 2176
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?4Uw2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOpw57BM#&Kq0v@i80U*ytfCvT#Xewf0
zH~~#(P+^9|qN2n~22e_Zh<HFKvPnh;HU@Co1`{B2HNa*uGC>4j*5jg?86?2^1r_WW
zAZgcu!GxQ^<Ucdm7zS1b4zN5E6U0CcsCs6`1c-751&Bf@DFihIWP5|9gg*mA22_SV
zRIs1F3n)iJ9mk*m^#^@yAGKvP1V%$(D20Gz8oT>;GeL(d<=zYJIYS)QtXie@qMpH_
MyVBY@DbCvg0K<blQUCw|

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/gmm.init_variances.hdf5 b/bob/learn/em/data/gmm.init_variances.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..d0687a2ffc6bab5ea8b111c60cd112730af9b758
GIT binary patch
literal 2176
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?4Uw2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOpw57BM#&Kq0v@i80U*ytfCvT#Xewf0
zH~~#(P+^9|qN2n~22e_Zh<HFKvPnh;HU@Co1`{B2HNa*uGC>4j*5jg?86?2^1r_WW
zAZgcu!GxQ^<Ucdm7zS1b4zN5E6U0CcsCs6`1c-751&Bf@DFihIWP5|9gg*mA22_SV
zRIs1F3n)iJ9mk*m^#^@yAGKvP1V%$(D20IHp5z6&Tu1FUcxN`TSUEbp-~QxL)3I&#
Ng&Wl7#A`Y_008%+Kq~+M

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/gmm.init_weights.hdf5 b/bob/learn/em/data/gmm.init_weights.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..558faa66b67f5deb0550d2543372667ff45f1e70
GIT binary patch
literal 2160
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK>-Iu2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOpw57BM#&Kq0v@i80U*ytfCvT#Xewf0
zH~~#(P+^9|qN2n~22e_Zh<HFKvPnh;HU@Co1`{B2At{-W5h4Jy9!4`WNPyJ~D%dkX
z(y9Z42{(hue`bgiSQ$9L@=Q!jU;{Xy>X{i6Aj;uBgQypRngUYXU@76xz)%5^7$7p(
m&))@<qoIyvP=NYtfSfaG?Pv&$hQJ^WfeJ8qV$Tl-*X;p$EH=~t

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/gmm_MAP.hdf5 b/bob/learn/em/data/gmm_MAP.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..91c5e69141e3042ef5d211fc4098a8d59649d62d
GIT binary patch
literal 41136
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/gmm_ML.hdf5 b/bob/learn/em/data/gmm_ML.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..238cd7e14f5e4ab92e505221f200cdba368cb593
GIT binary patch
literal 41135
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/gmm_ML_32bit_debug.hdf5 b/bob/learn/em/data/gmm_ML_32bit_debug.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..275381b7e7573e060009a15220f092cfa323a1eb
GIT binary patch
literal 41135
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/gmm_ML_32bit_release.hdf5 b/bob/learn/em/data/gmm_ML_32bit_release.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..438e9932cecf179d1b834e2f5c19d39a7c906cf3
GIT binary patch
literal 41135
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/means.hdf5 b/bob/learn/em/data/means.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..060afde0fb2777065d02c85baf8a34ec1d509fea
GIT binary patch
literal 2944
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?65L2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOI3Uz0Il@A~!__eW<mCtu!N34bMGOol
zpy>=M%#c`Alvv3CN=XnA4+upz$;iOQ08ZOr0%WcR*epgShycubBd{m~13I6XK?1B_
zP{E!7l6D;!Ot=|L{xd@~urhFf<(Zfu268~vGczVYlrtzmRYKGYK}`YK?qeb0&%lrY
zk)RV9?C0+S%F$5Ap}CGuju^FOGz3ONU`T{OM|~eB|7}qR%g!mkbmD{^epT5qELkPu
z(C}PP{cz<jd!LhX3YVK192oY@H%+%(Z0{lDS+gtn_kIbv_!r(*(hhlt`3@i4%zj|Q
zqO-U4n4a$Msh2;_SuEyoX3i6NsbDsT^)ks3=a;e_SaD*;uDXB^_FP;SmkNBBaM*Aq
z`byI7=k^c!UTjT&aA?2C*-ll1%S;E(w+o7MT@!GaAXa3@pTg;|%d+v~k5}LKcie3`
zdT!Ad`weE>_AXR8y1(+_t@=6KKlfL>U!8DUp4B0u|9ASFR8a>LgHX9=i9hTgSOz`W
zaP)`$0ZTc12@6q&zPB8$wQG4Cc5OHOE#@iZ5R&)!r4Qpzdk)1)l@_}{_Lr>N54hNH
zI|%qrE8TfX+CkFw`KyJSKksMi_gz~YDe6$RxZ`6{2%p23f4Rk;BHRvUx8L}^7MFBT
zn6}u0ft}f5fw%L-h(FQ}OF|f#O-v*l7&2vp%;Y}XPcT}znaSw>ewjBu?}Uy>I9%AV
zv4}T`!C^@<bM3bE-|Z7tnF;<h`fUH}v4pSRVHSrUho-*KxN>K|fnwM`pBpdif6Tx6
z{oxLNhm>;t_9NXq4i{$adH$;D>i)W=_kGG6I1aq)aky!-hVOufw&q?vUKR&oF`w3X
z9h?V#eY<}mdm_t$EfTe7AIuSSn6P7YXQ8C9!-G&2NAdsH_RrYtwpVi5SNn{J4xWn>
z-`RImG91?Tc)tIFndhJ88;|Wbn6KcHo&DLqM|oG2n$TzaYc+5E%OY7FHfV4u^lbUL
zKWt;4u;6`$0~`6K?X-HscVL0}hF>caZ`lW2v8~rQ@ZDZa>Rjk@X`Taj^uzns`hVYl
zfwR*;>)K`e9g)S8tkOT)Pq=bbmnZF=y~6H*Jb}0W?R!pq`P_6{z`-t=bE4fVVTVnX
zQ=J;O@j86o`8Pt(iTA)CTl@Yn2M!01pYs>4op@pY3NFXnidX*F?>Hf1^K;H`d#;o_
zn`C|nIq(%6I^zHB$NumCR93QhF&@yW++{xZ#OM7yFUy?zsy^Ds2^xuK?qzT|dae6g
q1T*7-r9S*GL~bx15UKfL{~_bw{)TJZldn(Yci82vkiKFThXVjdW2_$l

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/meansAfterKMeans.hdf5 b/bob/learn/em/data/meansAfterKMeans.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..9552dd832998ee19062e4c0b28b335691af25269
GIT binary patch
literal 3044
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%Lo!4qzX5S05L!ed}afHD}NbO)4P!31G2GJqfh
zg9L=jAP6-dU0q0!t1ANoBLmEQ7!B3NV88-laX_e1a)gC|hpS@%$jcERf`I{=iWnG9
zK+_pim?5#KD6x_Ol#(DK9uSIbl97Rp0i3qM1jt+suvv^u5CK*&kAXoKN~80c86?2^
z1r_8OAW2w(L7am@ydJKe11!(P1Tl~Us-BrK0h-iXn4wC+ln?_%7-ahnO9_7lh77Pc
zy@+5xe-}`WhPZ-(K>@{e^m4_hJ)<Eo8UjNh1f-T-+<)-XJ-eGs$L*ZX+_T?5LCMY`
zbGw~@Xw`l$=9_jm6WR9Hy`H$Q!&7<xDQ#AJ)_Sk~+SelOwW6B$Jz6t)Z?5gfeS0Jr
z?QcD6+qY*om;IhaAMGo;mf34wZrJZy$8P_oZ|?pToO=6qEaTX(R_?qvv3jZ9dfv<X
z+>Kamr5@|szqi_KFLT6l|FSLG`#Eko?mu1<YAgR?r`?I)kM=z-xoJ0(HFMwPzqWSF
z!FTt5R(r57+O}(-;?8sX#r%BsZ&~_!e}Mn{{X6&e+rD$$Wmm=V(ze%OsqL|K&if;*
zp4l6>Ht&}>Ep6}Jsea&!?bdx<3ZnK$Go$Q_zyGnBex=d&#XlFjJsUpm^PSJ{uw0>e
z|NeWo_HF7CvChutvD=vYWPgX8x&3E>(tTVx-u6}ZX4xya%-CnL-G2YP5+3{at7h)!
z$jY;CFOhQScX@1Ax%t8VH%HX%zhuPje?Hm6e(mRl`{iHC*gLZ%+ILGZ*x%(+vHSV6
z*v`i>%Wn1^nSD!+ueZB(QQhwH7eTu_8_(^nx3t__y!OAfOWqONsMu$Fqh`IcmG98p
z$J0@}*Zh_5zDMRpwgsG*c7Mw--~0B0mu+%O-9GQW+k20ftL?k#7rl4OhNreRZ7Xb3
z7uoM)b`IHlLPvF<$l(urb34x38t%QjhheADKC!zAcJnIN?=`BOy=V8v!?q%E-urks
zFIzt|X|w$$yU5l#Wu~oe=s_F(MzejDj>q=Qf1zf()SP|)nrAJ0OPe(IJ6liPpEy@y
z|L=m`cH+uG_6IfP_DZ?B?KAnuZEqXfy6-o$t-baABKuy>3j22t58J)TwclTJ_@bT8
zWodh5mXdw@Oa=FC6Bn}EeLThf`4mq($!%SB5k*VweoOc63%z8x|8mLMeL1oG`)0)*
z+gDV;z3<LJD|^M0;`{Gv-nIL=vBqvfjH=xV!zlYZfdRI{i+lH8{+_&l$EK%t`wFe?
zQrGOXE6+N+uX@2dn;j0U`yVe=*`HCi!0xHUzkTQK%-QEzHDll1D*JuUm(8_H37cZu
z`ghvCB)fLIpzJmKrr%QD*OBYFFTd-sU2W%5yXD5y_C1(5eedfq)qTt7>)CzdnzXlm
z>LxqAj@f(Fly2?S;%M3DJk7y=;mJ34n?o7x%k-by%}9N?_u0|)dnE71@B13}b?<gA
xPrI9sD{KP{ckNqMCvE4uB-Xb6ZQj1qqV9J0*Pq)rtD0w@SnUnF!-uBY0RZfL@elw2

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/meansAfterMAP.hdf5 b/bob/learn/em/data/meansAfterMAP.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..ac4cb9383d10c223b26d16d686910c430cf71197
GIT binary patch
literal 6336
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/meansAfterML.hdf5 b/bob/learn/em/data/meansAfterML.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..857bbe39c29cbb76f18aed3798ce484ed2bcb67d
GIT binary patch
literal 3944
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?XlW2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOI3Uz0Il@A~!__eW<mCtu!N34bMGOol
zpy>=M%#c`Alvv3CN=XnA4+upz$;iOQ08ZOr0%WcR*epgShyW{?$H1TqrP2A!3=&}d
zf(rHwkhJT-V8YE{@}C)^ft7&+EYHLQF^~hQo|!QLqMU()9ikFK3PDW)*=}Mb;m^R3
z0g<2+8SLlp0?N@)$1x~C{Xr+|N39tRfzc2cS|RY@WWuxk3=9kk^=A&-gPgu|$4U^L
z5OaA6h+Yu+=^%)9@R@l6L?_71J`YmwpyeM6q7^#44}$0f*XO%Hw8Md$r@-nm98QAx
z4W1smLHq{iACtlK$14*+;tIWUSAl2;Pv6C0ab=H<Abvs!FW4OmvhS<|i7Rw|0o$KY
zIp+e1pYZkk29UajlvXgEu>9**khsF$sGT4>;mx8&AlhM;e<O%)(0{WYL_auWz73@B
zz>KY6^$Esn_JjBhJvYyR<QtgNc7yl~k0kp*^nqTkwIJFd?eu04eZc=^KS&+JMt-on
z5-K7Of%pz4vCBa631)gnL41aJW?Mjf1|zW*VEz$zu)hu{U;habPdL>15=1Z9R`M4_
zGrW2UrXTG1z7eGUfvv}N5WRq3aW9w_S+NB~C)_N30aE|K>-ZlK|G?6M4<P=5q{_!2
zeuCylmIL7UTYe2B-oUuz5lGy@!uK_ZPGFfoA4EUsx7q-r7u=l>j?V^hvwI-*4lh45
zI)KuFNDA28hU?L{LE;CJCMJQ@H@xWu#{<K*-ajDmgo}@#fy5Q$7M%m}6&iD2g7^#0
zM}G#<4NV-ELE;Y2zdZ-h2PXGD1c^V0HT?|YH`t$j3+7MoV+PrKU_!<n5WgW$3~WBb
z+#gTCe7Uu+LFyA~g&^ja+I<1>7bwpK``e*Y;SETgf*|t)5bcm~7p!l=0=5HSzU!)`
zAo@Ujz!8u>2JV00bi>e8bQ&a{ptAWah-Prvy%i*XU|P&F5Z~eGFGzaZwc;XJ{MSZs
zI&!$AvJEVMs%{}j++oEjus#LLISWAI2X6ib=bHnZ>vBMRhNUa^fYcobcry`1Kajh8
z08Afxy$DSIm^K|mD^#0+^TmP3so->!V3T+ZB;F8K+X6Djp;vz;h_9d`zXU`dIN1ia
zr$I!17FeEn+a(a4aN|4JJq}qf!RgOon&@_r_<@N|3qbl9K8JzzE%?eZ5hT9g+*C;V
z)}IUxmjyN~;PlN<_pt#a|G=XhY~F!*rC<>Mz}%<ca9ofw@fwKFkYNdqABDK}Js^I9
zmG>kN-SA-PUXXnYj{W=yq7`HdPk?9!8>Qo5d4s*+@NYP?7i``GX%29HYglpeDo8$o
zS8gdt{erh4;PRlM(-G|c1*%zK|37HGza1pc(DMzPpA~*|fWvjcL^Ck$pmGHqUI|s7
zz~QLyGZ37Q9?Xc_0W!bgyDZpVhZmyYeCLoAa};D=!?c-T`hY%9B8dN>@mxBHR=D)*
z5SR}53yz-#Wy!N3euEWX1<1UF{x9J2#eqEwoZl71GQr`h@OTd-y;S9tfYcw*I}I*3
z4=DJ7)hn>&gVRlesqJjAe3KkFyb~^kf%E5rylAlghJ)|G<*I_6IN1LSmXz!P*?ZuN
z8#o;%Z2b=o&jokCgWZ?VV*&}US+m+f>KfSJt^k>z@cjrleKUmAF9z`s%>4p(C&T5(
z>p^^n`Wu@;>KCxG%m&d3%mP!u;yX0J<@W*GH<cj%fnb?=AbAGeKCu1+3wprmykSH1
zDv)@>gBRd*xnQ0iI6fE>*MrOX0|GCngX9mWnCt`55AMH#)B}DWA@<esPX?K<pgjLD
zh+Z&57HmGlPgQXF{-CaD4oEyfgB5I#!(|1qdleS!2Zx`-P4P(}`G(c8n?Uq|UkqS(
aBqWxC%}e-f0WQZ5u*QPTS@3rLCVK!%X@Nih

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/new_adapted_mean.hdf5 b/bob/learn/em/data/new_adapted_mean.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..fc4a8ee30af0d8531302133b2bd2595df07139b8
GIT binary patch
literal 2944
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?65L2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOI3Uz0Il@A~!__eW<mCtu!N34bMGOol
zpy>=M%#c`Alvv3CN=XnA4+upz$;iOQ08ZOr0%WcR*epgSh=388$G`w{20EXaK?1B_
zP{E!7l6D;!Ot=|L{xd@~vNCXh<(Zfu268~vGczVYlrtzmRYKGYK}`YKo@FKB&%lrY
zk)RV9?C0+S%F$5Ap}CGuju^FOGz3ONU`T|3xp&Co19`#@KMqZOqjBZV{%e7aW#1Bb
z91Il0_W9g+VSi{}kwu4{pu>;(H@`pJ!S7ITKFxUX*?s#{%Jtiibn`eYnqH+>5&qNu
z!mK^dUo~CbFL33Kw&R53`|Fn8_bG4SIMCoeNAid8+x_o)9B$gI;XANZnVoCbB}oSl
zZOy%UyetkH#m*NER{h*BEauZXuY>bIRiT_rrOc!KzrNi+kv);+K*7`S?3~ZS4qGH@
z&pwzV=pg#Z%}etxkHdr=t2+xNg&kbD_!sv-`nmr>sEVWb|7-ixK21El@8W0s8Jpeq
zN-q0qzkHHw^4)vF4jB<0JQpXvv!BP*;KKFxr+r5y!(n}o=lg%$5BnK?{h9p*GtWQG
zHy+!65%Y*|+4p$=2J;nMva>(ipEy?ZhWDF*Lyz*VC^eza_R{&SRz3gN9j?{9^)HKL
zb>K8Ps=;{i`Th+WTnar~e(raO$b9%D{HcA|#y(-e`wR!n7j_ubK6r1xk#E{gt2cZH
z_FJiFJ)itz{{r(3zg8yRvj6^EGDTqBANznSw)GkZzS|eE1YSuk5OolfIv2WJn&*J>
z(?^jDE`7GYqaWV4*8ltd)h1>>T^gV4FK~AHXI;B&ubeV{O+=ok!;Z+}Nml6}?GKgB
zZWIY%b(nDFsxD93J9|ck{Yp`3;tmSC1M&pk{<p6<t0fzl!Q#+!;>+iz+X4<%i#}_G
z)PJ|POXi$t_e$8oyRP=}Ej<p0O_fuf8n^K}6rBI3r+Yxk;q%VF5qeI%2Xut<KP0$(
z-T%kdzCX-?!@<@tO<8}Vh=a$^`3u)hys-a@xS;mGjT{auxEyaQUio9sw<()lTZhMC
z#|aUepL2fOZ>()Nc)UWwfh*<CCYc{X4)ZMThdtiS<iJ;O=!pNfANzIszjjSpEaLF}
zpUO%WFUA9Nwr88a&=+ygs@!Eh_r&M@3|9nGV&rez^Smr`>Z|%_Kf`R=Jr?z=`{M+S
z#54CYI5eHtIaC-W>TvX0_qPaU#skN8cB#Ia@!x)_5C0318;l1c6OX&hef7>>q~?eH
qhm3#w19uiYY!ZEL-*An4^7V=Q4mxw(t_e9XIqdRQNMA9F!vO$&lCf(5

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/samplesFrom2G_f64.hdf5 b/bob/learn/em/data/samplesFrom2G_f64.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..9ef47fd649fde13d36a15a6ebde122c31047b31b
GIT binary patch
literal 18576
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/stats.hdf5 b/bob/learn/em/data/stats.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..c4a13700ec20079fdaacbd3841e8289910e9dd82
GIT binary patch
literal 22635
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoL3RX02+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeO0wB~VIl@A~!_^TS^&6o6h9*ab7xoZ=
zid)@zr-kjdCT~2P*y!8-_zaKCVx75K=CX5Nd?@Sx=|2DIqCSRCYx#~=+?p*R^6Adn
zJy#!QdjCH()A+o_oer++#r>KE27kXLoR@6%<zwKs6i|nl%gDga08ZOr0+d2Ez!Hp1
z5CI4Y5(f*z(=SY%nLz-oUx0&wfdj0>0Zg(oaDc^`m>~vnGbn)hj8Kh?V0lJ{l+?7G
z#FA77POvVJ84_T1%uLJ`tPnAf4iE+#F9fv(Bw)DZvM&RJ2SgQ>$Y4Kz7f_feK+XFh
z1!dr%AiiZ_xM7Dw0aO@PK5XEJ3gDo?o@8KPP+-QP04fZLB?bluHK+g%$^t6hVF+d5
zpumZbfq~(I7Y+p^3WLf!P{{}@=U_B90durr2_LEs6we?gjE02|NNg03hQMeDjE2By
z2#kinXb6mkz-R~z{SW}Py}@lgFahd!Kw7%!{Sj#Q8{Qv*@tGMQ{Rcq>duUI=fx(2E
z!Q?-*Jxzsv$pPpH0?36RYr#!Y%zg>1XFyq;;A%(1`V+WJH^b46200j{2kdANV-$~u
zz-S1JhQMeDjE2By2#kinXb2385FoZ44Qj-KJPaG3h4E=PuFoL@vJlj?hhT716tn$I
z-En<f?Pwl|TX2%`INH&$Z~{9Xr|waS(GVC7fzc2c4S~@R7!85Z5Eu=Cp%wyzxE&n;
zU&1p8+R=p8btsIsqla43A9e3&2#kinXb6mkz-S1JhQMeDP!s}~?P$o#WJYGlNGgP6
zV1TVpfYGpVX&4_y({7yyWSu%Q6Uz)Eh>t-|16d2g@Zny}@oLCA6^ItXB(CvjO~P8i
zDn5c-17<-8kRw4Xm@tfnI~XK6ibq3WGz3ONU^E0qLtr!nMnhmU1V%$(Gz5lZ2w?W7
zApH;Yb@H%&0jwVd<I}GH1X+L2%)~qcx&j_#B?yDNBAERqs46POLSB4&Vrg-4W@273
z*u*?A$-oc-rSsx5^9o8!Ad(CW48^6n0Tm1k3_1Df@j02<Ihh&x`6)2*3dqC?NGsa(
z1xSb@jH~}ANWfG-G>3o!7NiA6g98~PFp5V*U^E0qLtr!nMnhmU1V%$(Gz5l42w=AR
z2mL(C18+#kgPN$IX$cU9H&ZeD1CV|UL<?aOS38>6d6W|%*C1H~awLcg6Nb@n2ZJO>
z@n{H)hQMeDjE2By2#kinXb6mkz-S1JhQN>vfr?wnNev93^Lv?5n5#GJN&07DdfL%3
uYp+vb+k9pQi=S+Y6}Ns@fBv-Ts$(`E1B3KQ)}0l%gcDL2m>C%Q8H4~FE_kv4

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/variances.hdf5 b/bob/learn/em/data/variances.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..c9d6d17bcf73be3bb7800d14604a0201b16f4ada
GIT binary patch
literal 2944
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?65L2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOI3Uz0Il@A~!__eW<mCtu!N34bMGOol
zpy>=M%#c`Alvv3CN=XnA4+upz$;iOQ08ZOr0%WcR*epgShycubBd{m~13I6XK?1B_
zP{E!7l6D;!Ot=|L{xd@~urhFf<(Zfu268~vGczVYlrtzmRYKGYK}`YK?qeb0&%lrY
zk)RV9?C0+S%F$5Ap}CGuju^FOGz3ONU`T{O%Z6!h)%bqd-<bGk$)yX74(~a(^!z@;
z>@cG~YVxlt28YFGBDC`+eYWpoPZMA&W_J+0y85@{^^f+SoqWT~(!ba<@38(DQuN3E
zjW(BpO~_ySIk8`r)o!yp@U&Q(U--l5&@?6G>wz972h;6byFTq;c3_?sKSe6*n|+wh
z+DA9dzuM27e&XJy1Xc%=^RAhF>sTGU!+s~~-~ML*&U=Qp?rlZ~gWvYS-!3ycw0NX(
zspm5|9AUb8QfVK9!@G*p-OGC!9H#F2@zvoUgM&*j@4b(5tPY3PxN$GjV{({3S7)lJ
z_ILaKXRO&3OPC#QMl`X1X=ZUSEC2ic(mpl^-?)7SGfMy3=bb%y?4~G_L$O^=D*qHV
z2SH=4&0P2Y*qh8KPhA`P)n4&-@xA(p|Mon>wXES9KkOqS`2H-J_sjmDvGnnoCx6?2
zE4&u^goDW;LEX8e<_@!iO0&g_ZLVMJ15#hVlRNm+K8@}5v4<H<4q~;!t4h3o+3TKj
z>9*X*?9ly&-%ak;ANxtKA0LcoWpkLZAkg~VpU?K!l3HzRZ*w~w{<5y|f(EZc$chFf
z+YgKm>OUObOuO;XUQ0OP|I7kzhm&@DwjEmW!#<n2f7QzWAMC5ndqwizWpyan5iH-(
z^UGd**|tpXqc82-US_+8EB>^%e6)8h$L^2zlNCOn6XE`0KZiyA;fmXw4w@fqlhq8r
z*av+PPvb3RcKAP;XU9IKZ}#!|8sR?^U)UQw)XP);_1C^?|GWv;)gRh76eg85i#)Oq
zdZTv6`y_+Iocw=Tmm2=sUlKPt^lttKd&bC!!lv8&4v${>ynLzs&Hn5p&91QbTn-EF
zdf%?Rz~kT<&MUp*{Cj&9=7|dTC%m=~xnuL#;M*(vjq=w7SKj?*zuBKbh-t-Z``6}t
z{-XW74zs5-AA0!cpZ%ow8WD2hpX?vLc&ND2{DJ+YHsv7k9gGgs7u|ljv4_Rsg86Lo
zruS?PfzGvW1(^9AT2KD|d?EF}{ne>54nC7u9UQDRV#_t&*_%yQG`T+EseP!#?Dd=O
o{k7lJ>~)A!{)4^Ix9Iqe!yoOl1eiDOU&iOK#;YOqZu(z)0RHu=#Q*>R

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/variancesAfterKMeans.hdf5 b/bob/learn/em/data/variancesAfterKMeans.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..2aee23c0ef021e383d34ef2ca47175ecf165a6e9
GIT binary patch
literal 3044
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%Lo!4qzX5S05L!ed}afHD}NbO)4P!31G2GJqfh
zg9L=jAP6-dU0q0!t1ANoBLmEQ7!B3NV88-laX_e1a)gC|hpS@%$jcERf`I{=iWnG9
zK+_pim?5#KD6x_Ol#(DK9uSIbl97Rp0i3qM1jt+suvv^u5CK*&kAXoKN~80c86?2^
z1r_8OAW2w(L7am@ydJKe11!(P1Tl~Us-BrK0h-iXn4wC+ln?_%7-ainO9_7lh77Pc
zy@+5xe-}`WhPZ-(K>@{e^m4_hJ)<Eo8UjNh1d^sU+pGV~vwx~K&AuT~+rF>Y#-6S4
zvfb=jJ^SrlE9^t!9qo0l?6&v*G|7H~GoQo!8B+Efdc5`qR~Ok^JezIbzUix-#i2<1
zdXb~{$9Z@h+$OKI50H^`_*vrP5aPDe{=MuB`_Bw}?0Qtc+c^d%*gFUAv@fxIZTHNH
z!~Vtp)An9BSRG8ZHrh)ZWN|p)Dev&LRovmDmw<!Qdj^MhIv4G4O%iihb9kYB^AkIJ
z7t2_CE}>=i3XHdG4UDJRp4ffO?m<?Doyv4IyD4*)*qUtoVXHh-#;#?1pZ)uPj1F(o
z0v$Sb$=fa1bj0r7!5%v+KRr8zYx8X%OC7K?J-XcP!=!w>4V!=3P1$<f{+-%FhlZ~#
z_TC2;*)r@iw{uXuW-IsqfZaY{X8Qw-X?A-Y=Gw`NyV-}Oe6}xhHncmjs>!ZBx!V3L
z#|(#z>STux!Uyd2KGoPg;lE@5!XVZDgm|Xi8$$*Mp9`<-Hr{=2_p>(K{{3xUdsjhM
z`#=SGd$C1E_8Ljt_JQ~1?O%4e*{dFmw096LwLjwEWj|rPh5fEm8ur2RlJ<#51negk
zirZU1;jw?T(A}OTxWfJ{Q?7mFAqo4RN7U^j-b>k^`yOFmCZcRF65?pj)F@^@`NA!`
zlHzN2V%?JVVc~N2Ka2eA4<8V=pBW!&KfBS;es!U)eegwV`?@?O`;@8v_P?fB*q=Ef
zZvSVGq5UaA0sEQ0()LP=-`VjA|FY{jXXns<bGrSECA;kZt1Y&Fa_ysi*Blmy4)xjg
za;6{bU1v|Sx45_0-py3T;m72c_LFqE9V$wd9o}8?cPNwPb9i-rmc2vM9{VZ9C+zQC
zo^5~3{(^l|*#dj!DGCn1|A{y}TlLXi#_N@RnYD_;V(X{&X2PNl6F>jAKd8IiKI4kC
zgKh?gLxI;R`<zEj_N$wB*xy<F&fa3rb^EY#Er%(a57{r5ePQo-$JaqQh{NIV%m4?6
zO@8)8%z^e?$NcSAL>bz@Gt#i%`S6x~%bR)j-+y-6o9Cz7Pg!qcZxj({f1_W;-dZ)s
z{(wfOed5DLd!tj{_V*6%v0wCXt^LmgVS8@}Hv4(aV)iztRqS^b%Gigqi`mckn{WT8
zaK8Pl@00B%>yFsFG2OG@_GhhqME7O;Tkjg|c|9-M{a?al&$YGL{zh22y+l#A{iHw>
id-gY3_J?CF?ehxy?REGj*vEaFXTQN}p}m*IB6|RtB(KK+

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/variancesAfterMAP.hdf5 b/bob/learn/em/data/variancesAfterMAP.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..47bd4d5f823882eb7de61f3b67946c81acc0e82f
GIT binary patch
literal 6336
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/variancesAfterML.hdf5 b/bob/learn/em/data/variancesAfterML.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..472229290b53eb34728dac334a7addb635d314a0
GIT binary patch
literal 3944
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?XlW2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOI3Uz0Il@A~!__eW<mCtu!N34bMGOol
zpy>=M%#c`Alvv3CN=XnA4+upz$;iOQ08ZOr0%WcR*epgShyW{?$H1TqrP2A!3=&}d
zf(rHwkhJT-V8YE{@}C)^ft7&+EYHLQF^~hQo|!QLqMU()9ikFK3PDW)*=}Mb;m^R3
z0g<2+8SLlp0?N@)$1x~C{Xr+|N39tRfzc2cVj*Di?Y%t%1H*x+`42&K!b^`oVEQ;W
zqXWn*XO{m0@fkScE`aHWW;Z~z!|ttLK{UgbjsHOO1KyboVD)7unLu>IOA}@goiHOG
zY~BK)`5!>)76j^m?P<7E{{X~)@J;Luh<31d`3a&I?6(J-^FZkp*!~6L2`nIU7Fa$8
zo2#(?DTJSH0j3p}{{Y*+K;{(KoCCA}yat)$ux8pV5S`Fn^aMmRsO$pUtDwU52*gi#
zHXrPMg)Bv|xd$@zz~(u0UkBTJpvVE@{$3fd_<;>m!Tblm^})1*ku6x?183p?AoCQ8
z=6nLt2@LX&L9|2n&UYYsL43nK5Y1rVup3Ng9@_+_%ddmo#}L7L7Q}z><kArk-7snL
z77*>ACbl0$H>gfN45ANwxb_i5H{6AU55qkjE>O5Q1bzq0Gek@S#|wkqjEi7($4(vv
z(G16aZ3fW?;+Vnm3d?_70r45)K7s8$P-=D`#BbR0?FWcvxThilGM8b)JaGIta7KXL
z!*JmHF|fSKkzF9V;fXxhyan4c!Ri>y51avui><f}q7OVd^a4aPbmxHMry)-RqCYAW
zoQ@pIa=_{Cfdr#4*uLC+9uR$?o(bX(k9p_8`u{Zk2GI(#%fRu=@LdV)ZU<X7a5`b&
zj=Bq$-}W0!KUjDCHi(~4@f;GK4|pN*VEY(sAA@2l#Qvi<=YiBUgl?V-q8}*L9stwk
zhSxy!fmOF(f@lSYhhYCbsPzTY3>@3R{&YCd298ICRGC>Ibr06K&H>R2epsvq(Fg7c
z9s<z~jCNN+^Z|}KaCjVWHV4Oh0!Jn|JwC7#2lEf?JPwXGhDV#Wfz&H3{k0uTPw!j|
zq8rw&SOB6O{EmaoXK<Rd9>j0BpAB}$1DAbZ^#|%N?E#517#_I<q8)Y~dj_U?Y{2RM
z0LN-@`dqL&9?V}L?hT3mhq~bKauA#jPNxa$o`A!HLG{B<kbVU}Z?HWL)rCtz`~|8?
zVD~%NB(Q<vEkPv`5-wLc!12T2^8YhPU4!UkaJ)X)ZUc^I1@0%{{MDdq_7)_+Aa(N{
zFdbPANl&wt!QrnE6bLRa6h7N>gUn~RaYzV6FK9CW(+QEid?0?qjMd=s#i9HYINv9f
zm4f3*;r%X1cz#d24l@6Mk^<Nsh1b1cd55jDA?1xl2M5TU1&<QI?mUp62X-fec&Q*r
z{D7+<*uDiJs{}xNhdb%uboanO4(z@M8gs$nci@N@I6N3ME}sI~mmrmX8bmV~Zh^#u
z@G`Ld4WHD(>G44Gv~M7J1<SeM^5wya7_j*Yb2z~HIzcE9Vz0*D=OA?s>%Kk((F~U}
z!SQz>z2G>A{~%%xSbo9mNO1T$tm**gn*%Saz~x@TyIiol9DbL9^IyWmBL~6y8YY0<
z_h2;x*t~|)g*QRs3*MauhnvFOIpA=6U~vOXGkEU;o2L+_1rEQ26$K|i>J#iYZ3WQ`
zogQHNfMo7I5I><P3S!RVyI^-E#8`vvao8jP)~|3n6&x-J7lOg%kwW_^2tWS~I3Fi`
zTM1U*@H7Zqo-E+30;jKp7Ppfi^B*|6gVW=IUmcM2$!81BZwXo+V0#&sSAz8=i1mQW
c-v=MJgVTFM!V$1P51dK`hs%Qp*RI+F0M|)4Y5)KL

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/weights.hdf5 b/bob/learn/em/data/weights.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..41b22801f28b4afc8b3a81daf5e594e85100f29f
GIT binary patch
literal 2160
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK>-Iu2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOpw57BM#&Kq0v@i80U*ytfCvT#Xewf0
zH~~#(P+^9|qN2n~22e_Zh<HFKvPnh;HU@Co1`{B2At{-W5h4Jy9!4`WNPyJ~D%dkX
z(y9Z42{(hue`bgiSQ$9L@=Q!jU;{Xy>X{i6Aj;uBgQypRngUY%%v{2sfuRB-F+gOn
upT7$zM?)RUpaAvP06AyW+R+dg4S_)%0&>e=c<B9qZ?Eet^ZJpQlsy1qtvL+<

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/weightsAfterKMeans.hdf5 b/bob/learn/em/data/weightsAfterKMeans.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..b241207eac61c8f47dcb0fafed293748108ba6d8
GIT binary patch
literal 2164
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?w&$2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOpw57BM#&Kq0v@i80U*ytfCvT#Xewf0
zH~~#(P+^9|qN2n~22e_Zh<HFKvPnh;HU@Co1`{B2At{-W5hB0}H5o=TGf05d3o6Jn
zK$5HigE$9+cs*Pl2Uwnoi3w}~2UI;XV*)g3i$GOEC?N)jFi7!ZO9_7lh6;$p0Fl9d
y{w|;#4RI9%g97saIb_t@(GVC7fk7Vvt&Bbgg60<=Q1INn?}Py7fe8;;4gdggk~&NP

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/weightsAfterMAP.hdf5 b/bob/learn/em/data/weightsAfterMAP.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..b6e1f0497f91dfc26e137fc021f02431023db1a7
GIT binary patch
literal 4056
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%Lo!3}<h5S05L!ed}afHD}NbO)4P!31G2GJqfh
zg9L=jAP6-dU0q0!t1ANoBLmEQ7!B3NV88-laX_e1a)gC|hpS@%$jcERf`I{=iWnG9
zK+_pim?5#KD6x_Ol#(DK9uSIbl97Rp0i3qM1jt+suvv^u5CI6uz`zO?Wq_w&7@wIz
z0<2$9!JYw<b{!Z@xEW0TGeb16GH`(9nV2C4azNEHGci{{%>Y>eVuG~`K}`V(HvN$G
zV_?XD7(^#B*w5bul%v6pVPIfTfck?@)(;zNK;<1M9AV`gjE1Bx+}_*(Er($$K<NO)
z1|<*>4T~2LdlZj`z-S1JhQMeDjE2By2#kinXb24b5O^zjT`i*SvOUMmb+0ctHrVfA
c3<}txc*b6`kMZ>~=_B^5<-LMlKDcZT0Le68-~a#s

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/weightsAfterML.hdf5 b/bob/learn/em/data/weightsAfterML.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..0b3fc2551fc9d1eff310c7cd7c0a5e33d926f0e7
GIT binary patch
literal 2184
zcmeD5aB<`1lHy_j0S*oZ76t(j3y%LoK?es!2+I8r;W02IKpBisx&unDV1h6h89<PM
zK?1^M5QLhKt}Z0V)s=yPkpX5tjD~7sFkpeOpw57BM#&Kq0v@i80U*ytfCvT#Xewf0
zH~~#(P+^9|qN2n~22e_Zh<HFKvPnh;HU@Co1`{B2At{-W5hB0}H5o=TGf05d3o6(%
zK+>uMg9$f-$$w^uLRJP2usjnJ6W9O_sCs6`1c-754TwT0DFihIq}aqt!k>Ym0xB~w
zRIs1F3n)iJ9m}8q_1D0-X4KZv5Eu=C!5ji_C9kVR)LpjcxVi521;+;a9gIN%I~32@
VOZG9oUM79Sezm+;(8~vx?EzvGL}&m2

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/ztnorm_eval_eval.hdf5 b/bob/learn/em/data/ztnorm_eval_eval.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..bc5771861bd444b1ba3d89c6c949e91e912136cf
GIT binary patch
literal 569984
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%0A+S(BrRR
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%0A!B+Cf-b(o8TFro4_MPmvLaP7Yu-{o@
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
JK8?wL>;Wg=3C#ci

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/ztnorm_eval_tnorm.hdf5 b/bob/learn/em/data/ztnorm_eval_tnorm.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..d98b4d656bbe0a8c75a675ccc09834b30bc4bd00
GIT binary patch
literal 438944
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
F9st;Z2TuS1

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/ztnorm_result.hdf5 b/bob/learn/em/data/ztnorm_result.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..877c72c77fedb11fe7d39791823f42e58cce1e1c
GIT binary patch
literal 569984
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%0D0)cf0E22vZ|x<n1JgPhbZ!(2I%pO@x)t`)
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
DV^U#O

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/ztnorm_znorm_eval.hdf5 b/bob/learn/em/data/ztnorm_znorm_eval.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..5d670ae0b3bd410c40e70b4697f0531fdc7bfb87
GIT binary patch
literal 22944
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

literal 0
HcmV?d00001

diff --git a/bob/learn/em/data/ztnorm_znorm_tnorm.hdf5 b/bob/learn/em/data/ztnorm_znorm_tnorm.hdf5
new file mode 100644
index 0000000000000000000000000000000000000000..e2f709ed9a33a014f64e6c69f15c3e549dc7e3ca
GIT binary patch
literal 18144
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
Yxhd}OQ?hXJAs$f&kIPf_n}Wq106VBp2LJ#7

literal 0
HcmV?d00001

diff --git a/bob/learn/em/empca_trainer.cpp b/bob/learn/em/empca_trainer.cpp
new file mode 100644
index 0000000..127a1d7
--- /dev/null
+++ b/bob/learn/em/empca_trainer.cpp
@@ -0,0 +1,378 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Tue 03 Fev 11:22:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto EMPCATrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX "._EMPCATrainer",
+  ""
+
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a EMPCATrainer",
+    "",
+    true
+  )
+  .add_prototype("convergence_threshold","")
+  .add_prototype("other","")
+  .add_prototype("","")
+
+  .add_parameter("other", ":py:class:`bob.learn.em.EMPCATrainer`", "A EMPCATrainer object to be copied.")
+  .add_parameter("convergence_threshold", "double", "")
+
+);
+
+
+static int PyBobLearnEMEMPCATrainer_init_copy(PyBobLearnEMEMPCATrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = EMPCATrainer_doc.kwlist(1);
+  PyBobLearnEMEMPCATrainerObject* tt;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMEMPCATrainer_Type, &tt)){
+    EMPCATrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::EMPCATrainer(*tt->cxx));
+  return 0;
+}
+
+static int PyBobLearnEMEMPCATrainer_init_number(PyBobLearnEMEMPCATrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = EMPCATrainer_doc.kwlist(0);
+  double convergence_threshold    = 0.0001;
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "d", kwlist, &convergence_threshold))
+    return -1;
+
+  if(convergence_threshold < 0){
+    PyErr_Format(PyExc_TypeError, "convergence_threshold argument must be greater than to zero");
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::EMPCATrainer(convergence_threshold));
+  return 0;
+}
+
+static int PyBobLearnEMEMPCATrainer_init(PyBobLearnEMEMPCATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  switch (nargs) {
+
+    case 0:{ //default initializer ()
+      self->cxx.reset(new bob::learn::em::EMPCATrainer());
+      return 0;
+    }
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      // If the constructor input is EMPCATrainer object
+      if (PyBobLearnEMEMPCATrainer_Check(arg))
+        return PyBobLearnEMEMPCATrainer_init_copy(self, args, kwargs);
+      else if(PyString_Check(arg))
+        return PyBobLearnEMEMPCATrainer_init_number(self, args, kwargs);
+    }
+    default:{
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 0 or 1 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      EMPCATrainer_doc.print_usage();
+      return -1;
+    }
+  }
+  BOB_CATCH_MEMBER("cannot create EMPCATrainer", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMEMPCATrainer_delete(PyBobLearnEMEMPCATrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMEMPCATrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMEMPCATrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMEMPCATrainer_RichCompare(PyBobLearnEMEMPCATrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMEMPCATrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMEMPCATrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare EMPCATrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+
+/***** rng *****/
+static auto rng = bob::extension::VariableDoc(
+  "rng",
+  "str",
+  "The Mersenne Twister mt19937 random generator used for the initialization of subspaces/arrays before the EM loop.",
+  ""
+);
+PyObject* PyBobLearnEMEMPCATrainer_getRng(PyBobLearnEMEMPCATrainerObject* self, void*) {
+  BOB_TRY
+  //Allocating the correspondent python object
+  
+  PyBoostMt19937Object* retval =
+    (PyBoostMt19937Object*)PyBoostMt19937_Type.tp_alloc(&PyBoostMt19937_Type, 0);
+
+  retval->rng = self->cxx->getRng().get();
+  return Py_BuildValue("O", retval);
+  BOB_CATCH_MEMBER("Rng method could not be read", 0)
+}
+int PyBobLearnEMEMPCATrainer_setRng(PyBobLearnEMEMPCATrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyBoostMt19937_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an PyBoostMt19937_Check", Py_TYPE(self)->tp_name, rng.name());
+    return -1;
+  }
+
+  PyBoostMt19937Object* boostObject = 0;
+  PyBoostMt19937_Converter(value, &boostObject);
+  self->cxx->setRng((boost::shared_ptr<boost::mt19937>)boostObject->rng);
+
+  return 0;
+  BOB_CATCH_MEMBER("Rng could not be set", 0)
+}
+
+
+
+static PyGetSetDef PyBobLearnEMEMPCATrainer_getseters[] = { 
+  {
+   rng.name(),
+   (getter)PyBobLearnEMEMPCATrainer_getRng,
+   (setter)PyBobLearnEMEMPCATrainer_setRng,
+   rng.doc(),
+   0
+  },
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "",
+  "",
+  true
+)
+.add_prototype("linear_machine,data")
+.add_parameter("linear_machine", ":py:class:`bob.learn.linear.Machine`", "LinearMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMEMPCATrainer_initialize(PyBobLearnEMEMPCATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnLinearMachineObject* linear_machine = 0;
+  PyBlitzArrayObject* data                          = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnLinearMachine_Type, &linear_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->initialize(*linear_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** eStep ***/
+static auto eStep = bob::extension::FunctionDoc(
+  "eStep",
+  "",
+  "",
+  true
+)
+.add_prototype("linear_machine,data")
+.add_parameter("linear_machine", ":py:class:`bob.learn.linear.Machine`", "LinearMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMEMPCATrainer_eStep(PyBobLearnEMEMPCATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = eStep.kwlist(0);
+
+  PyBobLearnLinearMachineObject* linear_machine;
+  PyBlitzArrayObject* data = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnLinearMachine_Type, &linear_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->eStep(*linear_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+
+  BOB_CATCH_MEMBER("cannot perform the eStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** mStep ***/
+static auto mStep = bob::extension::FunctionDoc(
+  "mStep",
+  "",
+  0,
+  true
+)
+.add_prototype("linear_machine,data")
+.add_parameter("linear_machine", ":py:class:`bob.learn.em.LinearMachine`", "LinearMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMEMPCATrainer_mStep(PyBobLearnEMEMPCATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = mStep.kwlist(0);
+
+  PyBobLearnLinearMachineObject* linear_machine;
+  PyBlitzArrayObject* data = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnLinearMachine_Type, &linear_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->mStep(*linear_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+
+  BOB_CATCH_MEMBER("cannot perform the mStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** computeLikelihood ***/
+static auto compute_likelihood = bob::extension::FunctionDoc(
+  "compute_likelihood",
+  "",
+  0,
+  true
+)
+.add_prototype("linear_machine,data")
+.add_parameter("linear_machine", ":py:class:`bob.learn.em.LinearMachine`", "LinearMachine Object");
+static PyObject* PyBobLearnEMEMPCATrainer_compute_likelihood(PyBobLearnEMEMPCATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = compute_likelihood.kwlist(0);
+
+  PyBobLearnLinearMachineObject* linear_machine;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnLinearMachine_Type, &linear_machine)) Py_RETURN_NONE;
+
+  double value = self->cxx->computeLikelihood(*linear_machine->cxx);
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot perform the computeLikelihood method", 0)
+}
+
+
+
+static PyMethodDef PyBobLearnEMEMPCATrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMEMPCATrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    eStep.name(),
+    (PyCFunction)PyBobLearnEMEMPCATrainer_eStep,
+    METH_VARARGS|METH_KEYWORDS,
+    eStep.doc()
+  },
+  {
+    mStep.name(),
+    (PyCFunction)PyBobLearnEMEMPCATrainer_mStep,
+    METH_VARARGS|METH_KEYWORDS,
+    mStep.doc()
+  },
+  {
+    compute_likelihood.name(),
+    (PyCFunction)PyBobLearnEMEMPCATrainer_compute_likelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_likelihood.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMEMPCATrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMEMPCATrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMEMPCATrainer_Type.tp_name = EMPCATrainer_doc.name();
+  PyBobLearnEMEMPCATrainer_Type.tp_basicsize = sizeof(PyBobLearnEMEMPCATrainerObject);
+  PyBobLearnEMEMPCATrainer_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance
+  PyBobLearnEMEMPCATrainer_Type.tp_doc = EMPCATrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMEMPCATrainer_Type.tp_new = PyType_GenericNew;
+  PyBobLearnEMEMPCATrainer_Type.tp_init = reinterpret_cast<initproc>(PyBobLearnEMEMPCATrainer_init);
+  PyBobLearnEMEMPCATrainer_Type.tp_dealloc = reinterpret_cast<destructor>(PyBobLearnEMEMPCATrainer_delete);
+  PyBobLearnEMEMPCATrainer_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMEMPCATrainer_RichCompare);
+  PyBobLearnEMEMPCATrainer_Type.tp_methods = PyBobLearnEMEMPCATrainer_methods;
+  PyBobLearnEMEMPCATrainer_Type.tp_getset = PyBobLearnEMEMPCATrainer_getseters;
+  PyBobLearnEMEMPCATrainer_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMEMPCATrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMEMPCATrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMEMPCATrainer_Type);
+  return PyModule_AddObject(module, "_EMPCATrainer", (PyObject*)&PyBobLearnEMEMPCATrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/gaussian.cpp b/bob/learn/em/gaussian.cpp
new file mode 100644
index 0000000..86f4930
--- /dev/null
+++ b/bob/learn/em/gaussian.cpp
@@ -0,0 +1,571 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Fri 21 Nov 10:38:48 2013
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto Gaussian_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".Gaussian",
+  "This class implements a multivariate diagonal Gaussian distribution"
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructs a new multivariate gaussian object",
+    "",
+    true
+  )
+  .add_prototype("n_inputs","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+  .add_prototype("","")
+
+  .add_parameter("n_inputs", "int", "Dimension of the feature vector")
+  .add_parameter("other", ":py:class:`bob.learn.em.GMMStats`", "A GMMStats object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+);
+
+
+
+static int PyBobLearnEMGaussian_init_number(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = Gaussian_doc.kwlist(0);
+  int n_inputs=1;
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &n_inputs))
+    return -1;
+
+  if(n_inputs < 0){
+    PyErr_Format(PyExc_TypeError, "input argument must be greater than or equal to zero");
+    Gaussian_doc.print_usage();
+    return -1;
+   }
+
+  self->cxx.reset(new bob::learn::em::Gaussian(n_inputs));
+  return 0;
+}
+
+static int PyBobLearnEMGaussian_init_copy(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = Gaussian_doc.kwlist(1);
+  PyBobLearnEMGaussianObject* tt;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGaussian_Type, &tt)){
+    Gaussian_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::Gaussian(*tt->cxx));
+  return 0;
+}
+
+static int PyBobLearnEMGaussian_init_hdf5(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = Gaussian_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    Gaussian_doc.print_usage();
+    return -1;
+  }
+  
+  try {
+    self->cxx.reset(new bob::learn::em::Gaussian(*(config->f)));
+  }
+  catch (std::exception& ex) {
+    PyErr_SetString(PyExc_RuntimeError, ex.what());
+    return -1;
+  }
+  catch (...) {
+    PyErr_Format(PyExc_RuntimeError, "cannot create new object of type `%s' - unknown exception thrown", Py_TYPE(self)->tp_name);
+    return -1;
+  }
+
+  return 0;
+}
+
+
+static int PyBobLearnEMGaussian_init(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+
+  // get the number of command line arguments
+  Py_ssize_t nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+  if (nargs==0){
+    self->cxx.reset(new bob::learn::em::Gaussian());
+    return 0;
+  }
+
+  //Reading the input argument
+  PyObject* arg = 0;
+  if (PyTuple_Size(args)) 
+    arg = PyTuple_GET_ITEM(args, 0);
+  else {
+    PyObject* tmp = PyDict_Values(kwargs);
+    auto tmp_ = make_safe(tmp);
+    arg = PyList_GET_ITEM(tmp, 0);
+  }
+
+  /**If the constructor input is a number**/
+  if (PyNumber_Check(arg)) 
+    return PyBobLearnEMGaussian_init_number(self, args, kwargs);
+  /**If the constructor input is Gaussian object**/
+  else if (PyBobLearnEMGaussian_Check(arg))
+    return PyBobLearnEMGaussian_init_copy(self, args, kwargs);
+  /**If the constructor input is a HDF5**/
+  else if (PyBobIoHDF5File_Check(arg))
+    return PyBobLearnEMGaussian_init_hdf5(self, args, kwargs);
+  else
+    PyErr_Format(PyExc_TypeError, "invalid input argument");
+    Gaussian_doc.print_usage();
+    return -1;
+
+  BOB_CATCH_MEMBER("cannot create Gaussian", -1)
+  return 0;
+}
+
+
+
+static void PyBobLearnEMGaussian_delete(PyBobLearnEMGaussianObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMGaussian_RichCompare(PyBobLearnEMGaussianObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMGaussian_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMGaussianObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare Gaussian objects", 0)
+}
+
+int PyBobLearnEMGaussian_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMGaussian_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** MEAN *****/
+static auto mean = bob::extension::VariableDoc(
+  "mean",
+  "array_like <double, 1D>",
+  "Mean of the Gaussian",
+  ""
+);
+PyObject* PyBobLearnEMGaussian_getMean(PyBobLearnEMGaussianObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getMean());
+  BOB_CATCH_MEMBER("mean could not be read", 0)
+}
+int PyBobLearnEMGaussian_setMean(PyBobLearnEMGaussianObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, mean.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "mean");
+  if (!b) return -1;
+  self->cxx->setMean(*b);
+  return 0;
+  BOB_CATCH_MEMBER("mean could not be set", -1)
+}
+
+/***** Variance *****/
+static auto variance = bob::extension::VariableDoc(
+  "variance",
+  "array_like <double, 1D>",
+  "Variance of the Gaussian",
+  ""
+);
+PyObject* PyBobLearnEMGaussian_getVariance(PyBobLearnEMGaussianObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getVariance());
+  BOB_CATCH_MEMBER("variance could not be read", 0)
+}
+int PyBobLearnEMGaussian_setVariance(PyBobLearnEMGaussianObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, variance.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "variance");
+  if (!b) return -1;
+  self->cxx->setVariance(*b);
+  return 0;
+  BOB_CATCH_MEMBER("variance could not be set", -1)
+}
+
+
+/***** variance_thresholds *****/
+static auto variance_thresholds = bob::extension::VariableDoc(
+  "variance_thresholds",
+  "array_like <double, 1D>",
+  "The variance flooring thresholds, i.e. the minimum allowed value of variance in each dimension. ",
+  "The variance will be set to this value if an attempt is made to set it to a smaller value."
+);
+PyObject* PyBobLearnEMGaussian_getVarianceThresholds(PyBobLearnEMGaussianObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getVarianceThresholds());
+  BOB_CATCH_MEMBER("variance_thresholds could not be read", 0)
+}
+int PyBobLearnEMGaussian_setVarianceThresholds(PyBobLearnEMGaussianObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, variance_thresholds.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "variance_thresholds");
+  if (!b) return -1;
+  self->cxx->setVarianceThresholds(*b);
+  return 0;
+  BOB_CATCH_MEMBER("variance_thresholds could not be set", -1)  
+}
+
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int)",
+  "A tuple that represents the dimensionality of the Gaussian ``(dim,)``.",
+  ""
+);
+PyObject* PyBobLearnEMGaussian_getShape(PyBobLearnEMGaussianObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i)", self->cxx->getNInputs());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+static PyGetSetDef PyBobLearnEMGaussian_getseters[] = {
+    {
+      mean.name(),
+      (getter)PyBobLearnEMGaussian_getMean,
+      (setter)PyBobLearnEMGaussian_setMean,
+      mean.doc(),
+      0
+    },
+    {
+      variance.name(),
+      (getter)PyBobLearnEMGaussian_getVariance,
+      (setter)PyBobLearnEMGaussian_setVariance,
+      variance.doc(),
+     0
+     },
+     {
+      variance_thresholds.name(),
+      (getter)PyBobLearnEMGaussian_getVarianceThresholds,
+      (setter)PyBobLearnEMGaussian_setVarianceThresholds,
+      variance_thresholds.doc(),
+      0
+     },
+     {
+      shape.name(),
+      (getter)PyBobLearnEMGaussian_getShape,
+      0,
+      shape.doc(),
+      0
+     },
+
+    {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Set the input dimensionality, reset the mean to zero and the variance to one."
+)
+.add_prototype("input")
+.add_parameter("input", "int", "Dimensionality of the feature vector");
+static PyObject* PyBobLearnEMGaussian_resize(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int input = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &input)) Py_RETURN_NONE;
+  if (input <= 0){
+    PyErr_Format(PyExc_TypeError, "input must be greater than zero");
+    resize.print_usage();
+    Py_RETURN_NONE;
+  }
+  self->cxx->setNInputs(input);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+/*** log_likelihood ***/
+static auto log_likelihood = bob::extension::FunctionDoc(
+  "log_likelihood",
+  "Output the log likelihood of the sample, x. The input size is checked.",
+  ".. note:: The :py:meth:`__call__` function is an alias for this.", 
+  true
+)
+.add_prototype("input","output")
+.add_parameter("input", "array_like <double, 1D>", "Input vector")
+.add_return("output","float","The log likelihood");
+static PyObject* PyBobLearnEMGaussian_loglikelihood(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = log_likelihood.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &input)) Py_RETURN_NONE;
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  double value = self->cxx->logLikelihood(*PyBlitzArrayCxx_AsBlitz<double,1>(input));
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot compute the likelihood", 0)
+}
+
+
+/*** log_likelihood_ ***/
+static auto log_likelihood_ = bob::extension::FunctionDoc(
+  "log_likelihood_",
+  "Output the log likelihood given a sample. The input size is NOT checked."
+)
+.add_prototype("input","output")
+.add_parameter("input", "array_like <double, 1D>", "Input vector")
+.add_return("output","double","The log likelihood");
+static PyObject* PyBobLearnEMGaussian_loglikelihood_(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  char** kwlist = log_likelihood_.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &input)) Py_RETURN_NONE;
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  double value = self->cxx->logLikelihood_(*PyBlitzArrayCxx_AsBlitz<double,1>(input));
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot compute the likelihood", 0)
+}
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the Gassian Machine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing")
+;
+static PyObject* PyBobLearnEMGaussian_Save(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the Gassian Machine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMGaussian_Load(PyBobLearnEMGaussianObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+  
+  BOB_CATCH_MEMBER("cannot load the data", 0)    
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this Gaussian with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` and any other values internal to this machine.",
+  true
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.Gaussian`", "A gaussian to be compared.")
+.add_parameter("[r_epsilon]", "float", "Relative precision.")
+.add_parameter("[a_epsilon]", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMGaussian_IsSimilarTo(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  PyBobLearnEMGaussianObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMGaussian_Type, &other,
+        &r_epsilon, &a_epsilon)) return 0;
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** set_variance_thresholds ***/
+static auto set_variance_thresholds = bob::extension::FunctionDoc(
+  "set_variance_thresholds",
+  "Set the variance flooring thresholds equal to the given threshold for all the dimensions."
+)
+.add_prototype("input")
+.add_parameter("input","float","Threshold")
+;
+static PyObject* PyBobLearnEMGaussian_SetVarianceThresholds(PyBobLearnEMGaussianObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = set_variance_thresholds.kwlist(0);
+
+  double input = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "d", kwlist, &input)) return 0;
+
+  self->cxx->setVarianceThresholds(input);
+
+  BOB_CATCH_MEMBER("cannot perform the set_variance_Thresholds method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+static PyMethodDef PyBobLearnEMGaussian_methods[] = {
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMGaussian_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },
+  {
+    log_likelihood.name(),
+    (PyCFunction)PyBobLearnEMGaussian_loglikelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    log_likelihood.doc()
+  },
+  {
+    log_likelihood_.name(),
+    (PyCFunction)PyBobLearnEMGaussian_loglikelihood_,
+    METH_VARARGS|METH_KEYWORDS,
+    log_likelihood_.doc()
+  },
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMGaussian_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMGaussian_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMGaussian_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    set_variance_thresholds.name(),
+    (PyCFunction)PyBobLearnEMGaussian_SetVarianceThresholds,
+    METH_VARARGS|METH_KEYWORDS,
+    set_variance_thresholds.doc()
+  },
+
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMGaussian_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMGaussian(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMGaussian_Type.tp_name = Gaussian_doc.name();
+  PyBobLearnEMGaussian_Type.tp_basicsize = sizeof(PyBobLearnEMGaussianObject);
+  PyBobLearnEMGaussian_Type.tp_flags = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMGaussian_Type.tp_doc = Gaussian_doc.doc();
+
+  // set the functions
+  PyBobLearnEMGaussian_Type.tp_new = PyType_GenericNew;
+  PyBobLearnEMGaussian_Type.tp_init = reinterpret_cast<initproc>(PyBobLearnEMGaussian_init);
+  PyBobLearnEMGaussian_Type.tp_dealloc = reinterpret_cast<destructor>(PyBobLearnEMGaussian_delete);
+  PyBobLearnEMGaussian_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMGaussian_RichCompare);
+  PyBobLearnEMGaussian_Type.tp_methods = PyBobLearnEMGaussian_methods;
+  PyBobLearnEMGaussian_Type.tp_getset = PyBobLearnEMGaussian_getseters;
+  PyBobLearnEMGaussian_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMGaussian_loglikelihood);
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMGaussian_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMGaussian_Type);
+  return PyModule_AddObject(module, "Gaussian", (PyObject*)&PyBobLearnEMGaussian_Type) >= 0;
+}
+
diff --git a/bob/learn/em/gmm_base_trainer.cpp b/bob/learn/em/gmm_base_trainer.cpp
new file mode 100644
index 0000000..96dfdc6
--- /dev/null
+++ b/bob/learn/em/gmm_base_trainer.cpp
@@ -0,0 +1,437 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Web 21 Jan 12:30:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+#include <boost/make_shared.hpp>
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static inline bool f(PyObject* o){return o != 0 && PyObject_IsTrue(o) > 0;}  /* converts PyObject to bool and returns false if object is NULL */
+
+static auto GMMBaseTrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".GMMBaseTrainer",
+  "This class implements the E-step of the expectation-maximisation"
+  "algorithm for a :py:class:`bob.learn.em.GMMMachine`"
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a GMMBaseTrainer",
+    "",
+    true
+  )
+  .add_prototype("update_means, [update_variances], [update_weights], [mean_var_update_responsibilities_threshold]","")
+  .add_prototype("other","")
+  .add_prototype("","")
+
+  .add_parameter("update_means", "bool", "Update means on each iteration")
+  .add_parameter("update_variances", "bool", "Update variances on each iteration")
+  .add_parameter("update_weights", "bool", "Update weights on each iteration")
+  .add_parameter("mean_var_update_responsibilities_threshold", "float", "Threshold over the responsibilities of the Gaussians Equations 9.24, 9.25 of Bishop, `Pattern recognition and machine learning`, 2006 require a division by the responsibilities, which might be equal to zero because of numerical issue. This threshold is used to avoid such divisions.")
+  .add_parameter("other", ":py:class:`bob.learn.em.GMMBaseTrainer`", "A GMMBaseTrainer object to be copied.")
+);
+
+
+
+static int PyBobLearnEMGMMBaseTrainer_init_copy(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMBaseTrainer_doc.kwlist(1);
+  PyBobLearnEMGMMBaseTrainerObject* tt;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMBaseTrainer_Type, &tt)){
+    GMMBaseTrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::GMMBaseTrainer(*tt->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMGMMBaseTrainer_init_bool(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMBaseTrainer_doc.kwlist(0);
+  PyObject* update_means     = 0;
+  PyObject* update_variances = 0;
+  PyObject* update_weights   = 0;
+  double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon();
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!|O!O!d", kwlist, &PyBool_Type, &update_means, &PyBool_Type, 
+                                                             &update_variances, &PyBool_Type, &update_weights, &mean_var_update_responsibilities_threshold)){
+    GMMBaseTrainer_doc.print_usage();
+    return -1;
+  }
+  self->cxx.reset(new bob::learn::em::GMMBaseTrainer(f(update_means), f(update_variances), f(update_weights), mean_var_update_responsibilities_threshold));
+  return 0;
+}
+
+
+static int PyBobLearnEMGMMBaseTrainer_init(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  if (nargs==0){ //default initializer ()
+    self->cxx.reset(new bob::learn::em::GMMBaseTrainer());
+    return 0;
+  }
+  else{
+    //Reading the input argument
+    PyObject* arg = 0;
+    if (PyTuple_Size(args))
+      arg = PyTuple_GET_ITEM(args, 0);
+    else {
+      PyObject* tmp = PyDict_Values(kwargs);
+      auto tmp_ = make_safe(tmp);
+      arg = PyList_GET_ITEM(tmp, 0);
+    }
+
+    // If the constructor input is GMMBaseTrainer object
+    if (PyBobLearnEMGMMBaseTrainer_Check(arg))
+      return PyBobLearnEMGMMBaseTrainer_init_copy(self, args, kwargs);
+    else
+      return PyBobLearnEMGMMBaseTrainer_init_bool(self, args, kwargs);
+  }
+
+  BOB_CATCH_MEMBER("cannot create GMMBaseTrainer_init_bool", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMGMMBaseTrainer_delete(PyBobLearnEMGMMBaseTrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMGMMBaseTrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMGMMBaseTrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMGMMBaseTrainer_RichCompare(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMBaseTrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMGMMBaseTrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare GMMBaseTrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+
+/***** gmm_stats *****/
+static auto gmm_stats = bob::extension::VariableDoc(
+  "gmm_stats",
+  ":py:class:`bob.learn.em.GMMStats`",
+  "Get/Set GMMStats",
+  ""
+);
+PyObject* PyBobLearnEMGMMBaseTrainer_getGMMStats(PyBobLearnEMGMMBaseTrainerObject* self, void*){
+  BOB_TRY
+
+  bob::learn::em::GMMStats stats = self->cxx->getGMMStats();
+  boost::shared_ptr<bob::learn::em::GMMStats> stats_shared = boost::make_shared<bob::learn::em::GMMStats>(stats);
+
+  //Allocating the correspondent python object
+  PyBobLearnEMGMMStatsObject* retval =
+    (PyBobLearnEMGMMStatsObject*)PyBobLearnEMGMMStats_Type.tp_alloc(&PyBobLearnEMGMMStats_Type, 0);
+
+  retval->cxx = stats_shared;
+
+  return Py_BuildValue("O",retval);
+  BOB_CATCH_MEMBER("GMMStats could not be read", 0)
+}
+/*
+int PyBobLearnEMGMMBaseTrainer_setGMMStats(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMStats_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a :py:class:`bob.learn.em.GMMStats`", Py_TYPE(self)->tp_name, gmm_stats.name());
+    return -1;
+  }
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  PyArg_Parse(value, "O!", &PyBobLearnEMGMMStats_Type,&stats);
+
+  self->cxx->setGMMStats(*stats->cxx);
+
+  return 0;
+  BOB_CATCH_MEMBER("gmm_stats could not be set", -1)  
+}
+*/
+
+
+/***** update_means *****/
+static auto update_means = bob::extension::VariableDoc(
+  "update_means",
+  "bool",
+  "Update means on each iteration",
+  ""
+);
+PyObject* PyBobLearnEMGMMBaseTrainer_getUpdateMeans(PyBobLearnEMGMMBaseTrainerObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("O",self->cxx->getUpdateMeans()?Py_True:Py_False);
+  BOB_CATCH_MEMBER("update_means could not be read", 0)
+}
+
+/***** update_variances *****/
+static auto update_variances = bob::extension::VariableDoc(
+  "update_variances",
+  "bool",
+  "Update variances on each iteration",
+  ""
+);
+PyObject* PyBobLearnEMGMMBaseTrainer_getUpdateVariances(PyBobLearnEMGMMBaseTrainerObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("O",self->cxx->getUpdateVariances()?Py_True:Py_False);
+  BOB_CATCH_MEMBER("update_variances could not be read", 0)
+}
+
+
+/***** update_weights *****/
+static auto update_weights = bob::extension::VariableDoc(
+  "update_weights",
+  "bool",
+  "Update weights on each iteration",
+  ""
+);
+PyObject* PyBobLearnEMGMMBaseTrainer_getUpdateWeights(PyBobLearnEMGMMBaseTrainerObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("O",self->cxx->getUpdateWeights()?Py_True:Py_False);
+  BOB_CATCH_MEMBER("update_weights could not be read", 0)
+}
+
+
+    
+     
+
+/***** mean_var_update_responsibilities_threshold *****/
+static auto mean_var_update_responsibilities_threshold = bob::extension::VariableDoc(
+  "mean_var_update_responsibilities_threshold",
+  "bool",
+  "Threshold over the responsibilities of the Gaussians" 
+  "Equations 9.24, 9.25 of Bishop, \"Pattern recognition and machine learning\", 2006" 
+  "require a division by the responsibilities, which might be equal to zero" 
+  "because of numerical issue. This threshold is used to avoid such divisions.",
+  ""
+);
+PyObject* PyBobLearnEMGMMBaseTrainer_getMeanVarUpdateResponsibilitiesThreshold(PyBobLearnEMGMMBaseTrainerObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getMeanVarUpdateResponsibilitiesThreshold());
+  BOB_CATCH_MEMBER("update_weights could not be read", 0)
+}
+
+
+static PyGetSetDef PyBobLearnEMGMMBaseTrainer_getseters[] = { 
+  {
+    update_means.name(),
+    (getter)PyBobLearnEMGMMBaseTrainer_getUpdateMeans,
+    0,
+    update_means.doc(),
+    0
+  },
+  {
+    update_variances.name(),
+    (getter)PyBobLearnEMGMMBaseTrainer_getUpdateVariances,
+    0,
+    update_variances.doc(),
+    0
+  },
+  {
+    update_weights.name(),
+    (getter)PyBobLearnEMGMMBaseTrainer_getUpdateWeights,
+    0,
+    update_weights.doc(),
+    0
+  },  
+  {
+    mean_var_update_responsibilities_threshold.name(),
+    (getter)PyBobLearnEMGMMBaseTrainer_getMeanVarUpdateResponsibilitiesThreshold,
+    0,
+    mean_var_update_responsibilities_threshold.doc(),
+    0
+  },  
+  {
+    gmm_stats.name(),
+    (getter)PyBobLearnEMGMMBaseTrainer_getGMMStats,
+    0, //(setter)PyBobLearnEMGMMBaseTrainer_setGMMStats,
+    gmm_stats.doc(),
+    0
+  },  
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialization before the EM steps",
+  "Instanciate :py:class:`bob.learn.em.GMMStats`",
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMGMMBaseTrainer_initialize(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)) Py_RETURN_NONE;
+
+  self->cxx->initialize(*gmm_machine->cxx);
+
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+/*** eStep ***/
+static auto eStep = bob::extension::FunctionDoc(
+  "eStep",
+  "Calculates and saves statistics across the dataset,"
+  "and saves these as m_ss. ",
+
+  "Calculates the average log likelihood of the observations given the GMM,"
+  "and returns this in average_log_likelihood."
+  "The statistics, m_ss, will be used in the mStep() that follows.",
+
+  true
+)
+.add_prototype("gmm_machine,data")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMGMMBaseTrainer_eStep(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = eStep.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  PyBlitzArrayObject* data = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->eStep(*gmm_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+  BOB_CATCH_MEMBER("cannot perform the eStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** computeLikelihood ***/
+static auto compute_likelihood = bob::extension::FunctionDoc(
+  "compute_likelihood",
+  "This functions returns the average min (Square Euclidean) distance (average distance to the closest mean)",
+  0,
+  true
+)
+.add_prototype("gmm_machine")
+.add_parameter("gmm_machine", ":py:class:`bob.learn.em.GMMMachine`", "GMMMachine Object");
+static PyObject* PyBobLearnEMGMMBaseTrainer_compute_likelihood(PyBobLearnEMGMMBaseTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = compute_likelihood.kwlist(0);
+
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine)) Py_RETURN_NONE;
+
+  double value = self->cxx->computeLikelihood(*gmm_machine->cxx);
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot perform the computeLikelihood method", 0)
+}
+
+
+static PyMethodDef PyBobLearnEMGMMBaseTrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMGMMBaseTrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    eStep.name(),
+    (PyCFunction)PyBobLearnEMGMMBaseTrainer_eStep,
+    METH_VARARGS|METH_KEYWORDS,
+    eStep.doc()
+  },
+  {
+    compute_likelihood.name(),
+    (PyCFunction)PyBobLearnEMGMMBaseTrainer_compute_likelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_likelihood.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMGMMBaseTrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMGMMBaseTrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMGMMBaseTrainer_Type.tp_name      = GMMBaseTrainer_doc.name();
+  PyBobLearnEMGMMBaseTrainer_Type.tp_basicsize = sizeof(PyBobLearnEMGMMBaseTrainerObject);
+  PyBobLearnEMGMMBaseTrainer_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMGMMBaseTrainer_Type.tp_doc       = GMMBaseTrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMGMMBaseTrainer_Type.tp_new          = PyType_GenericNew;
+  PyBobLearnEMGMMBaseTrainer_Type.tp_init         = reinterpret_cast<initproc>(PyBobLearnEMGMMBaseTrainer_init);
+  PyBobLearnEMGMMBaseTrainer_Type.tp_dealloc      = reinterpret_cast<destructor>(PyBobLearnEMGMMBaseTrainer_delete);
+  PyBobLearnEMGMMBaseTrainer_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMGMMBaseTrainer_RichCompare);
+  PyBobLearnEMGMMBaseTrainer_Type.tp_methods      = PyBobLearnEMGMMBaseTrainer_methods;
+  PyBobLearnEMGMMBaseTrainer_Type.tp_getset       = PyBobLearnEMGMMBaseTrainer_getseters;
+  PyBobLearnEMGMMBaseTrainer_Type.tp_call         = reinterpret_cast<ternaryfunc>(PyBobLearnEMGMMBaseTrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMGMMBaseTrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMGMMBaseTrainer_Type);
+  return PyModule_AddObject(module, "GMMBaseTrainer", (PyObject*)&PyBobLearnEMGMMBaseTrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/gmm_machine.cpp b/bob/learn/em/gmm_machine.cpp
new file mode 100644
index 0000000..efa9c5a
--- /dev/null
+++ b/bob/learn/em/gmm_machine.cpp
@@ -0,0 +1,834 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Wed 11 Dec 18:01:00 2014
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto GMMMachine_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".GMMMachine",
+  "This class implements a multivariate diagonal Gaussian distribution.",
+  "See Section 2.3.9 of Bishop, \"Pattern recognition and machine learning\", 2006"
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a GMMMachine",
+    "",
+    true
+  )
+  .add_prototype("n_gaussians,n_inputs","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+  .add_prototype("","")
+
+  .add_parameter("n_gaussians", "int", "Number of gaussians")
+  .add_parameter("n_inputs", "int", "Dimension of the feature vector")
+  .add_parameter("other", ":py:class:`bob.learn.em.GMMMachine`", "A GMMMachine object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMGMMMachine_init_number(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMMachine_doc.kwlist(0);
+  int n_inputs    = 1;
+  int n_gaussians = 1;
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii", kwlist, &n_gaussians, &n_inputs))
+    return -1;
+
+  if(n_gaussians < 0){
+    PyErr_Format(PyExc_TypeError, "gaussians argument must be greater than or equal to zero");
+    return -1;
+  }
+
+  if(n_inputs < 0){
+    PyErr_Format(PyExc_TypeError, "input argument must be greater than or equal to zero");
+    return -1;
+   }
+
+  self->cxx.reset(new bob::learn::em::GMMMachine(n_gaussians, n_inputs));
+  return 0;
+}
+
+
+static int PyBobLearnEMGMMMachine_init_copy(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMMachine_doc.kwlist(1);
+  PyBobLearnEMGMMMachineObject* tt;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMMachine_Type, &tt)){
+    GMMMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::GMMMachine(*tt->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMGMMMachine_init_hdf5(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMMachine_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    GMMMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::GMMMachine(*(config->f)));
+
+  return 0;
+}
+
+
+
+static int PyBobLearnEMGMMMachine_init(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+  
+  switch (nargs) {
+
+    case 0: //default initializer ()
+      self->cxx.reset(new bob::learn::em::GMMMachine());
+      return 0;
+
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      // If the constructor input is Gaussian object
+     if (PyBobLearnEMGMMMachine_Check(arg))
+       return PyBobLearnEMGMMMachine_init_copy(self, args, kwargs);
+      // If the constructor input is a HDF5
+     else if (PyBobIoHDF5File_Check(arg))
+       return PyBobLearnEMGMMMachine_init_hdf5(self, args, kwargs);
+    }
+    case 2:
+      return PyBobLearnEMGMMMachine_init_number(self, args, kwargs);
+    default:
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 0, 1 or 2 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      GMMMachine_doc.print_usage();
+      return -1;
+  }
+  BOB_CATCH_MEMBER("cannot create GMMMachine", 0)
+  return 0;
+}
+
+
+
+static void PyBobLearnEMGMMMachine_delete(PyBobLearnEMGMMMachineObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMGMMMachine_RichCompare(PyBobLearnEMGMMMachineObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMMachine_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMGMMMachineObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare GMMMachine objects", 0)
+}
+
+int PyBobLearnEMGMMMachine_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMGMMMachine_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int)",
+  "A tuple that represents the number of gaussians and dimensionality of each Gaussian ``(n_gaussians, dim)``.",
+  ""
+);
+PyObject* PyBobLearnEMGMMMachine_getShape(PyBobLearnEMGMMMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i)", self->cxx->getNGaussians(), self->cxx->getNInputs());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+/***** MEAN *****/
+
+static auto means = bob::extension::VariableDoc(
+  "means",
+  "array_like <float, 2D>",
+  "The means of the gaussians",
+  ""
+);
+PyObject* PyBobLearnEMGMMMachine_getMeans(PyBobLearnEMGMMMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getMeans());
+  BOB_CATCH_MEMBER("means could not be read", 0)
+}
+int PyBobLearnEMGMMMachine_setMeans(PyBobLearnEMGMMMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, means.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "means");
+  if (!b) return -1;
+  self->cxx->setMeans(*b);
+  return 0;
+  BOB_CATCH_MEMBER("means could not be set", -1)
+}
+
+/***** Variance *****/
+static auto variances = bob::extension::VariableDoc(
+  "variances",
+  "array_like <float, 2D>",
+  "Variances of the gaussians",
+  ""
+);
+PyObject* PyBobLearnEMGMMMachine_getVariances(PyBobLearnEMGMMMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getVariances());
+  BOB_CATCH_MEMBER("variances could not be read", 0)
+}
+int PyBobLearnEMGMMMachine_setVariances(PyBobLearnEMGMMMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, variances.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "variances");
+  if (!b) return -1;
+  self->cxx->setVariances(*b);
+  return 0;
+  BOB_CATCH_MEMBER("variances could not be set", -1)
+}
+
+/***** Weights *****/
+static auto weights = bob::extension::VariableDoc(
+  "weights",
+  "array_like <float, 1D>",
+  "The weights (also known as \"mixing coefficients\")",
+  ""
+);
+PyObject* PyBobLearnEMGMMMachine_getWeights(PyBobLearnEMGMMMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getWeights());
+  BOB_CATCH_MEMBER("weights could not be read", 0)
+}
+int PyBobLearnEMGMMMachine_setWeights(PyBobLearnEMGMMMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, weights.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "weights");
+  if (!b) return -1;
+  self->cxx->setWeights(*b);
+  return 0;
+  BOB_CATCH_MEMBER("weights could not be set", -1)
+}
+
+
+/***** variance_supervector *****/
+static auto variance_supervector = bob::extension::VariableDoc(
+  "variance_supervector",
+  "array_like <float, 1D>",
+  "The variance supervector of the GMMMachine",
+  "Concatenation of the variance vectors of each Gaussian of the GMMMachine"
+);
+PyObject* PyBobLearnEMGMMMachine_getVarianceSupervector(PyBobLearnEMGMMMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getVarianceSupervector());
+  BOB_CATCH_MEMBER("variance_supervector could not be read", 0)
+}
+int PyBobLearnEMGMMMachine_setVarianceSupervector(PyBobLearnEMGMMMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, variance_supervector.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "variance_supervector");
+  if (!b) return -1;
+  self->cxx->setVarianceSupervector(*b);
+  return 0;
+  BOB_CATCH_MEMBER("variance_supervector could not be set", -1)
+}
+
+/***** mean_supervector *****/
+static auto mean_supervector = bob::extension::VariableDoc(
+  "mean_supervector",
+  "array_like <float, 1D>",
+  "The mean supervector of the GMMMachine",
+  "Concatenation of the mean vectors of each Gaussian of the GMMMachine"
+);
+PyObject* PyBobLearnEMGMMMachine_getMeanSupervector(PyBobLearnEMGMMMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getMeanSupervector());
+  BOB_CATCH_MEMBER("mean_supervector could not be read", 0)
+}
+int PyBobLearnEMGMMMachine_setMeanSupervector(PyBobLearnEMGMMMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, mean_supervector.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "mean_supervector");
+  if (!b) return -1;
+  self->cxx->setMeanSupervector(*b);
+  return 0;
+  BOB_CATCH_MEMBER("mean_supervector could not be set", -1)
+}
+
+
+
+/***** variance_thresholds *****/
+static auto variance_thresholds = bob::extension::VariableDoc(
+  "variance_thresholds",
+  "array_like <double, 2D>",
+  "Set the variance flooring thresholds in each dimension to the same vector for all Gaussian components if the argument is a 1D numpy arrray, and equal for all Gaussian components and dimensions if the parameter is a scalar. ",
+  ""
+);
+PyObject* PyBobLearnEMGMMMachine_getVarianceThresholds(PyBobLearnEMGMMMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getVarianceThresholds());
+  BOB_CATCH_MEMBER("variance_thresholds could not be read", 0)
+}
+int PyBobLearnEMGMMMachine_setVarianceThresholds(PyBobLearnEMGMMMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, variance_thresholds.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "variance_thresholds");
+  if (!b) return -1;
+  self->cxx->setVarianceThresholds(*b);
+  return 0;
+  BOB_CATCH_MEMBER("variance_thresholds could not be set", -1)  
+}
+
+
+
+
+static PyGetSetDef PyBobLearnEMGMMMachine_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMGMMMachine_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+  {
+   means.name(),
+   (getter)PyBobLearnEMGMMMachine_getMeans,
+   (setter)PyBobLearnEMGMMMachine_setMeans,
+   means.doc(),
+   0
+  },
+  {
+   variances.name(),
+   (getter)PyBobLearnEMGMMMachine_getVariances,
+   (setter)PyBobLearnEMGMMMachine_setVariances,
+   variances.doc(),
+   0
+  },
+  {
+   weights.name(),
+   (getter)PyBobLearnEMGMMMachine_getWeights,
+   (setter)PyBobLearnEMGMMMachine_setWeights,
+   weights.doc(),
+   0
+  },
+  {
+   variance_thresholds.name(),
+   (getter)PyBobLearnEMGMMMachine_getVarianceThresholds,
+   (setter)PyBobLearnEMGMMMachine_setVarianceThresholds,
+   variance_thresholds.doc(),
+   0
+  },
+  {
+   variance_supervector.name(),
+   (getter)PyBobLearnEMGMMMachine_getVarianceSupervector,
+   (setter)PyBobLearnEMGMMMachine_setVarianceSupervector,
+   variance_supervector.doc(),
+   0
+  },
+
+  {
+   mean_supervector.name(),
+   (getter)PyBobLearnEMGMMMachine_getMeanSupervector,
+   (setter)PyBobLearnEMGMMMachine_setMeanSupervector,
+   mean_supervector.doc(),
+   0
+  },
+  
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the GMMMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMGMMMachine_Save(PyBobLearnEMGMMMachineObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the GMMMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMGMMMachine_Load(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this GMMMachine with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.GMMMachine`", "A GMMMachine object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMGMMMachine_IsSimilarTo(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMGMMMachineObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMGMMMachine_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Allocates space for the statistics and resets to zero.",
+  0,
+  true
+)
+.add_prototype("n_gaussians,n_inputs")
+.add_parameter("n_gaussians", "int", "Number of gaussians")
+.add_parameter("n_inputs", "int", "Dimensionality of the feature vector");
+static PyObject* PyBobLearnEMGMMMachine_resize(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int n_gaussians = 0;
+  int n_inputs = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii", kwlist, &n_gaussians, &n_inputs)) Py_RETURN_NONE;
+
+  if (n_gaussians <= 0){
+    PyErr_Format(PyExc_TypeError, "n_gaussians must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+  if (n_inputs <= 0){
+    PyErr_Format(PyExc_TypeError, "n_inputs must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+
+  self->cxx->resize(n_gaussians, n_inputs);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** log_likelihood ***/
+static auto log_likelihood = bob::extension::FunctionDoc(
+  "log_likelihood",
+  "Output the log likelihood of the sample, x, i.e. log(p(x|GMM)). Inputs are checked.",
+  ".. note:: The :py:meth:`__call__` function is an alias for this.", 
+  true
+)
+.add_prototype("input","output")
+.add_parameter("input", "array_like <float, 1D>", "Input vector")
+.add_return("output","float","The log likelihood");
+static PyObject* PyBobLearnEMGMMMachine_loglikelihood(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = log_likelihood.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &input)) Py_RETURN_NONE;
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  double value = self->cxx->logLikelihood(*PyBlitzArrayCxx_AsBlitz<double,1>(input));
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot compute the likelihood", 0)
+}
+
+
+/*** log_likelihood_ ***/
+static auto log_likelihood_ = bob::extension::FunctionDoc(
+  "log_likelihood_",
+  "Output the log likelihood of the sample, x, i.e. log(p(x|GMM)). Inputs are NOT checked.",
+  "", 
+  true
+)
+.add_prototype("input","output")
+.add_parameter("input", "array_like <float, 1D>", "Input vector")
+.add_return("output","float","The log likelihood");
+static PyObject* PyBobLearnEMGMMMachine_loglikelihood_(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = log_likelihood_.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &input)) Py_RETURN_NONE;
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  double value = self->cxx->logLikelihood_(*PyBlitzArrayCxx_AsBlitz<double,1>(input));
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot compute the likelihood", 0)
+}
+
+
+/*** acc_statistics ***/
+static auto acc_statistics = bob::extension::FunctionDoc(
+  "acc_statistics",
+  "Accumulate the GMM statistics for this sample(s). Inputs are checked.",
+  "", 
+  true
+)
+.add_prototype("input,stats")
+.add_parameter("input", "array_like <float, 2D>", "Input vector")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics of the GMM");
+static PyObject* PyBobLearnEMGMMMachine_accStatistics(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = acc_statistics.kwlist(0);
+
+  PyBlitzArrayObject* input           = 0;
+  PyBobLearnEMGMMStatsObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O!", kwlist, &PyBlitzArray_Converter,&input, 
+                                                                 &PyBobLearnEMGMMStats_Type, &stats))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+  self->cxx->accStatistics(*PyBlitzArrayCxx_AsBlitz<double,2>(input), *stats->cxx);
+
+  BOB_CATCH_MEMBER("cannot accumulate the statistics", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** acc_statistics_ ***/
+static auto acc_statistics_ = bob::extension::FunctionDoc(
+  "acc_statistics_",
+  "Accumulate the GMM statistics for this sample(s). Inputs are NOT checked.",
+  "", 
+  true
+)
+.add_prototype("input,stats")
+.add_parameter("input", "array_like <float, 2D>", "Input vector")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics of the GMM");
+static PyObject* PyBobLearnEMGMMMachine_accStatistics_(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = acc_statistics_.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+  PyBobLearnEMGMMStatsObject* stats = 0;
+
+
+
+ if(!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O!", kwlist, &PyBlitzArray_Converter,&input, 
+                                                                 &PyBobLearnEMGMMStats_Type, &stats))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+  self->cxx->accStatistics_(*PyBlitzArrayCxx_AsBlitz<double,2>(input), *stats->cxx);
+
+  BOB_CATCH_MEMBER("cannot accumulate the statistics", 0)
+  Py_RETURN_NONE;
+}
+
+
+
+/*** set_variance_thresholds ***/
+static auto set_variance_thresholds = bob::extension::FunctionDoc(
+  "set_variance_thresholds",
+  "Set the variance flooring thresholds in each dimension to the same vector for all Gaussian components if the argument is a 1D numpy arrray, and equal for all Gaussian components and dimensions if the parameter is a scalar.",
+  "",
+  true
+)
+.add_prototype("input")
+.add_parameter("input", "array_like <float, 1D>", "Input vector");
+static PyObject* PyBobLearnEMGMMMachine_setVarianceThresholds_method(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = set_variance_thresholds.kwlist(0);
+
+  PyBlitzArrayObject* input_array = 0;
+  double input_number = 0;
+  if(PyArg_ParseTupleAndKeywords(args, kwargs, "d", kwlist, &input_number)){
+    self->cxx->setVarianceThresholds(input_number);
+  }
+  else if(PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter,&input_array)) {
+    //protects acquired resources through this scope
+    auto input_ = make_safe(input_array);
+    self->cxx->setVarianceThresholds(*PyBlitzArrayCxx_AsBlitz<double,1>(input_array));
+  }
+  else
+    return 0;
+
+
+
+  BOB_CATCH_MEMBER("cannot accumulate set the variance threshold", 0)
+  Py_RETURN_NONE;
+}
+
+
+
+
+/*** get_gaussian ***/
+static auto get_gaussian = bob::extension::FunctionDoc(
+  "get_gaussian",
+  "Get the specified Gaussian component.",
+  ".. note:: An exception is thrown if i is out of range.", 
+  true
+)
+.add_prototype("i","gaussian")
+.add_parameter("i", "int", "Index of the gaussian")
+.add_return("gaussian",":py:class:`bob.learn.em.Gaussian`","Gaussian object");
+static PyObject* PyBobLearnEMGMMMachine_get_gaussian(PyBobLearnEMGMMMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_gaussian.kwlist(0);
+
+  int i = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+ 
+  boost::shared_ptr<bob::learn::em::Gaussian> gaussian = self->cxx->getGaussian(i);
+
+  //Allocating the correspondent python object
+  PyBobLearnEMGaussianObject* retval =
+    (PyBobLearnEMGaussianObject*)PyBobLearnEMGaussian_Type.tp_alloc(&PyBobLearnEMGaussian_Type, 0);
+
+  retval->cxx = gaussian;
+   
+  //return reinterpret_cast<PyObject*>(retval);
+  return Py_BuildValue("O",retval);
+
+  BOB_CATCH_MEMBER("cannot compute the likelihood", 0)
+}
+
+
+
+static PyMethodDef PyBobLearnEMGMMMachine_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },
+  {
+    log_likelihood.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_loglikelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    log_likelihood.doc()
+  },
+  {
+    log_likelihood_.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_loglikelihood_,
+    METH_VARARGS|METH_KEYWORDS,
+    log_likelihood_.doc()
+  },
+  {
+    acc_statistics.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_accStatistics,
+    METH_VARARGS|METH_KEYWORDS,
+    acc_statistics.doc()
+  },
+  {
+    acc_statistics_.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_accStatistics_,
+    METH_VARARGS|METH_KEYWORDS,
+    acc_statistics_.doc()
+  },
+ 
+  {
+    get_gaussian.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_get_gaussian,
+    METH_VARARGS|METH_KEYWORDS,
+    get_gaussian.doc()
+  },
+
+  {
+    set_variance_thresholds.name(),
+    (PyCFunction)PyBobLearnEMGMMMachine_setVarianceThresholds_method,
+    METH_VARARGS|METH_KEYWORDS,
+    set_variance_thresholds.doc()
+  },
+  
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMGMMMachine_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMGMMMachine(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMGMMMachine_Type.tp_name = GMMMachine_doc.name();
+  PyBobLearnEMGMMMachine_Type.tp_basicsize = sizeof(PyBobLearnEMGMMMachineObject);
+  PyBobLearnEMGMMMachine_Type.tp_flags = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMGMMMachine_Type.tp_doc = GMMMachine_doc.doc();
+
+  // set the functions
+  PyBobLearnEMGMMMachine_Type.tp_new = PyType_GenericNew;
+  PyBobLearnEMGMMMachine_Type.tp_init = reinterpret_cast<initproc>(PyBobLearnEMGMMMachine_init);
+  PyBobLearnEMGMMMachine_Type.tp_dealloc = reinterpret_cast<destructor>(PyBobLearnEMGMMMachine_delete);
+  PyBobLearnEMGMMMachine_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMGMMMachine_RichCompare);
+  PyBobLearnEMGMMMachine_Type.tp_methods = PyBobLearnEMGMMMachine_methods;
+  PyBobLearnEMGMMMachine_Type.tp_getset = PyBobLearnEMGMMMachine_getseters;
+  PyBobLearnEMGMMMachine_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMGMMMachine_loglikelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMGMMMachine_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMGMMMachine_Type);
+  return PyModule_AddObject(module, "GMMMachine", (PyObject*)&PyBobLearnEMGMMMachine_Type) >= 0;
+}
+
diff --git a/bob/learn/em/gmm_stats.cpp b/bob/learn/em/gmm_stats.cpp
new file mode 100644
index 0000000..a02a387
--- /dev/null
+++ b/bob/learn/em/gmm_stats.cpp
@@ -0,0 +1,623 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Wed 03 Dec 14:38:48 2014
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto GMMStats_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".GMMStats",
+  "A container for GMM statistics",
+  "With respect to [Reynolds2000]_ the class computes: \n\n"
+  "* Eq (8) is :py:class:`bob.learn.em.GMMStats.n`: :math:`n_i=\\sum\\limits_{t=1}^T Pr(i | x_t)`\n\n"
+  "* Eq (9) is :py:class:`bob.learn.em.GMMStats.sum_px`:  :math:`E_i(x)=\\frac{1}{n(i)}\\sum\\limits_{t=1}^T Pr(i | x_t)x_t`\n\n"
+  "* Eq (10) is :py:class:`bob.learn.em.GMMStats.sum_pxx`: :math:`E_i(x^2)=\\frac{1}{n(i)}\\sum\\limits_{t=1}^T Pr(i | x_t)x_t^2`\n\n"
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "A container for GMM statistics.",
+    "",
+    true
+  )
+  .add_prototype("n_gaussians,n_inputs","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+  .add_prototype("","")
+
+  .add_parameter("n_gaussians", "int", "Number of gaussians")
+  .add_parameter("n_inputs", "int", "Dimension of the feature vector")
+  .add_parameter("other", ":py:class:`bob.learn.em.GMMStats`", "A GMMStats object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMGMMStats_init_number(PyBobLearnEMGMMStatsObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMStats_doc.kwlist(0);
+  int n_inputs    = 1;
+  int n_gaussians = 1;
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii", kwlist, &n_gaussians, &n_inputs))
+    return -1;
+
+  if(n_gaussians < 0){
+    PyErr_Format(PyExc_TypeError, "gaussians argument must be greater than or equal to zero");
+    GMMStats_doc.print_usage();
+    return -1;
+  }
+
+  if(n_inputs < 0){
+    PyErr_Format(PyExc_TypeError, "input argument must be greater than or equal to zero");
+    GMMStats_doc.print_usage();
+    return -1;
+   }
+
+  self->cxx.reset(new bob::learn::em::GMMStats(n_gaussians, n_inputs));
+  return 0;
+}
+
+
+static int PyBobLearnEMGMMStats_init_copy(PyBobLearnEMGMMStatsObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMStats_doc.kwlist(1);
+  PyBobLearnEMGMMStatsObject* tt;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMStats_Type, &tt)){
+    GMMStats_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::GMMStats(*tt->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMGMMStats_init_hdf5(PyBobLearnEMGMMStatsObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = GMMStats_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    GMMStats_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::GMMStats(*(config->f)));
+
+  return 0;
+}
+
+
+
+static int PyBobLearnEMGMMStats_init(PyBobLearnEMGMMStatsObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  switch (nargs) {
+
+    case 0: //default initializer ()
+      self->cxx.reset(new bob::learn::em::GMMStats());
+      return 0;
+
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      /**If the constructor input is Gaussian object**/	
+     if (PyBobLearnEMGMMStats_Check(arg))
+       return PyBobLearnEMGMMStats_init_copy(self, args, kwargs);
+      /**If the constructor input is a HDF5**/
+     else if (PyBobIoHDF5File_Check(arg))
+       return PyBobLearnEMGMMStats_init_hdf5(self, args, kwargs);
+    }
+    case 2:
+      return PyBobLearnEMGMMStats_init_number(self, args, kwargs);
+    default:
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 0, 1 or 2 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      GMMStats_doc.print_usage();
+      return -1;
+  }
+  BOB_CATCH_MEMBER("cannot create GMMStats", 0)
+  return 0;
+}
+
+
+
+static void PyBobLearnEMGMMStats_delete(PyBobLearnEMGMMStatsObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMGMMStats_RichCompare(PyBobLearnEMGMMStatsObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMStats_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMGMMStatsObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare GMMStats objects", 0)
+}
+
+int PyBobLearnEMGMMStats_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMGMMStats_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** n *****/
+static auto n = bob::extension::VariableDoc(
+  "n",
+  "array_like <float, 1D>",
+  "For each Gaussian, the accumulated sum of responsibilities, i.e. the sum of :math:`P(gaussian_i|x)`"
+);
+PyObject* PyBobLearnEMGMMStats_getN(PyBobLearnEMGMMStatsObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->n);
+  BOB_CATCH_MEMBER("n could not be read", 0)
+}
+int PyBobLearnEMGMMStats_setN(PyBobLearnEMGMMStatsObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, n.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "n");
+  if (!b) return -1;
+  self->cxx->n = *b;
+  return 0;
+  BOB_CATCH_MEMBER("n could not be set", -1)  
+}
+
+
+/***** sum_px *****/
+static auto sum_px = bob::extension::VariableDoc(
+  "sum_px",
+  "array_like <float, 2D>",
+  "For each Gaussian, the accumulated sum of responsibility times the sample"
+);
+PyObject* PyBobLearnEMGMMStats_getSum_px(PyBobLearnEMGMMStatsObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->sumPx);
+  BOB_CATCH_MEMBER("sum_px could not be read", 0)
+}
+int PyBobLearnEMGMMStats_setSum_px(PyBobLearnEMGMMStatsObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, sum_px.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "sum_px");
+  if (!b) return -1;
+  self->cxx->sumPx = *b;
+  return 0;
+  BOB_CATCH_MEMBER("sum_px could not be set", -1)  
+}
+
+
+/***** sum_pxx *****/
+static auto sum_pxx = bob::extension::VariableDoc(
+  "sum_pxx",
+  "array_like <float, 2D>",
+  "For each Gaussian, the accumulated sum of responsibility times the sample squared"
+);
+PyObject* PyBobLearnEMGMMStats_getSum_pxx(PyBobLearnEMGMMStatsObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->sumPxx);
+  BOB_CATCH_MEMBER("sum_pxx could not be read", 0)
+}
+int PyBobLearnEMGMMStats_setSum_pxx(PyBobLearnEMGMMStatsObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, sum_pxx.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "sum_pxx");
+  if (!b) return -1;
+  self->cxx->sumPxx = *b;
+  return 0;
+  BOB_CATCH_MEMBER("sum_pxx could not be set", -1)  
+}
+
+
+/***** t *****/
+static auto t = bob::extension::VariableDoc(
+  "t",
+  "int",
+  "The number of samples"
+);
+PyObject* PyBobLearnEMGMMStats_getT(PyBobLearnEMGMMStatsObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("i", self->cxx->T);
+  BOB_CATCH_MEMBER("t could not be read", 0)
+}
+int PyBobLearnEMGMMStats_setT(PyBobLearnEMGMMStatsObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyInt_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an int", Py_TYPE(self)->tp_name, t.name());
+    return -1;
+  }
+
+  if (PyInt_AS_LONG(value) < 0){
+    PyErr_Format(PyExc_TypeError, "t must be greater than or equal to zero");
+    return -1;
+  }
+
+  self->cxx->T = PyInt_AS_LONG(value);
+  BOB_CATCH_MEMBER("t could not be set", -1)
+  return 0;
+}
+
+
+/***** log_likelihood *****/
+static auto log_likelihood = bob::extension::VariableDoc(
+  "log_likelihood",
+  "double",
+  "The accumulated log likelihood of all samples"
+);
+PyObject* PyBobLearnEMGMMStats_getLog_likelihood(PyBobLearnEMGMMStatsObject* self, void*){
+  BOB_TRY
+  return Py_BuildValue("d","log_likelihood", self->cxx->log_likelihood);
+  BOB_CATCH_MEMBER("log_likelihood could not be read", 0)
+}
+int PyBobLearnEMGMMStats_setLog_likelihood(PyBobLearnEMGMMStatsObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an double", Py_TYPE(self)->tp_name, t.name());
+    return -1;
+  }
+
+  self->cxx->log_likelihood = PyFloat_AsDouble(value);
+  return 0;
+  BOB_CATCH_MEMBER("log_likelihood could not be set", -1)
+}
+
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int)",
+  "A tuple that represents the number of gaussians and dimensionality of each Gaussian ``(n_gaussians, dim)``.",
+  ""
+);
+PyObject* PyBobLearnEMGMMStats_getShape(PyBobLearnEMGMMStatsObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i)", self->cxx->sumPx.shape()[0], self->cxx->sumPx.shape()[1]);
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+
+
+static PyGetSetDef PyBobLearnEMGMMStats_getseters[] = {
+  {
+    n.name(),
+    (getter)PyBobLearnEMGMMStats_getN,
+    (setter)PyBobLearnEMGMMStats_setN,
+    n.doc(),
+    0
+  },
+  {
+    sum_px.name(),
+    (getter)PyBobLearnEMGMMStats_getSum_px,
+    (setter)PyBobLearnEMGMMStats_setSum_px,
+    sum_px.doc(),
+    0
+  },
+  {
+    sum_pxx.name(),
+    (getter)PyBobLearnEMGMMStats_getSum_pxx,
+    (setter)PyBobLearnEMGMMStats_setSum_pxx,
+    sum_pxx.doc(),
+    0
+  },
+  {
+    t.name(),
+    (getter)PyBobLearnEMGMMStats_getT,
+    (setter)PyBobLearnEMGMMStats_setT,
+    t.doc(),
+    0
+  },
+  {
+    log_likelihood.name(),
+    (getter)PyBobLearnEMGMMStats_getLog_likelihood,
+    (setter)PyBobLearnEMGMMStats_setLog_likelihood,
+    log_likelihood.doc(),
+    0
+  },  
+  {
+   shape.name(),
+   (getter)PyBobLearnEMGMMStats_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the GMMStats to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMGMMStats_Save(PyBobLearnEMGMMStatsObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the GMMStats to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMGMMStats_Load(PyBobLearnEMGMMStatsObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this GMMStats with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.GMMStats`", "A GMMStats object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMGMMStats_IsSimilarTo(PyBobLearnEMGMMStatsObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMGMMStatsObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMGMMStats_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Allocates space for the statistics and resets to zero.",
+  0,
+  true
+)
+.add_prototype("n_gaussians,n_inputs")
+.add_parameter("n_gaussians", "int", "Number of gaussians")
+.add_parameter("n_inputs", "int", "Dimensionality of the feature vector");
+static PyObject* PyBobLearnEMGMMStats_resize(PyBobLearnEMGMMStatsObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int n_gaussians = 0;
+  int n_inputs = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii", kwlist, &n_gaussians, &n_inputs)) Py_RETURN_NONE;
+
+  if (n_gaussians <= 0){
+    PyErr_Format(PyExc_TypeError, "n_gaussians must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+  if (n_inputs <= 0){
+    PyErr_Format(PyExc_TypeError, "n_inputs must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+
+
+  self->cxx->resize(n_gaussians, n_inputs);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** init ***/
+static auto init = bob::extension::FunctionDoc(
+  "init",
+  " Resets statistics to zero."
+)
+.add_prototype("");
+static PyObject* PyBobLearnEMGMMStats_init_method(PyBobLearnEMGMMStatsObject* self) {
+  BOB_TRY
+
+  self->cxx->init();
+
+  BOB_CATCH_MEMBER("cannot perform the init method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+static PyMethodDef PyBobLearnEMGMMStats_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMGMMStats_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMGMMStats_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMGMMStats_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMGMMStats_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },
+  {
+    init.name(),
+    (PyCFunction)PyBobLearnEMGMMStats_init_method,
+    METH_NOARGS,
+    init.doc()
+  },
+
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Operators *******************************************/
+/******************************************************************/
+
+static PyBobLearnEMGMMStatsObject* PyBobLearnEMGMMStats_inplaceadd(PyBobLearnEMGMMStatsObject* self, PyObject* other) {
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMStats_Check(other)){
+    PyErr_Format(PyExc_TypeError, "expected bob.learn.em.GMMStats object");
+    return 0;
+  }
+
+  auto other_ = reinterpret_cast<PyBobLearnEMGMMStatsObject*>(other);
+
+  self->cxx->operator+=(*other_->cxx);
+
+  BOB_CATCH_MEMBER("it was not possible to process the operator +=", 0)
+
+  Py_INCREF(self);
+  return self;
+}
+
+static PyNumberMethods PyBobLearnEMGMMStats_operators = {0};
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMGMMStats_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMGMMStats(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMGMMStats_Type.tp_name = GMMStats_doc.name();
+  PyBobLearnEMGMMStats_Type.tp_basicsize = sizeof(PyBobLearnEMGMMStatsObject);
+  PyBobLearnEMGMMStats_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_HAVE_INPLACEOPS;
+  PyBobLearnEMGMMStats_Type.tp_doc = GMMStats_doc.doc();
+
+  // set the functions
+  PyBobLearnEMGMMStats_Type.tp_new = PyType_GenericNew;
+  PyBobLearnEMGMMStats_Type.tp_init = reinterpret_cast<initproc>(PyBobLearnEMGMMStats_init);
+  PyBobLearnEMGMMStats_Type.tp_dealloc = reinterpret_cast<destructor>(PyBobLearnEMGMMStats_delete);
+  PyBobLearnEMGMMStats_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMGMMStats_RichCompare);
+  PyBobLearnEMGMMStats_Type.tp_methods = PyBobLearnEMGMMStats_methods;
+  PyBobLearnEMGMMStats_Type.tp_getset = PyBobLearnEMGMMStats_getseters;
+  PyBobLearnEMGMMStats_Type.tp_call = 0;
+  PyBobLearnEMGMMStats_Type.tp_as_number = &PyBobLearnEMGMMStats_operators;
+
+  //set operators
+  PyBobLearnEMGMMStats_operators.nb_inplace_add = reinterpret_cast<binaryfunc>(PyBobLearnEMGMMStats_inplaceadd);
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMGMMStats_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMGMMStats_Type);
+  return PyModule_AddObject(module, "GMMStats", (PyObject*)&PyBobLearnEMGMMStats_Type) >= 0;
+}
+
diff --git a/bob/learn/em/include/.DS_Store b/bob/learn/em/include/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..34b4a20f450a2fe6b32abb36f282ba6e1cc123f8
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8z3~dZp0Z1N%F(jFwB8(vOz-Htyq%tHj6fxv6=t1QO
zQ6RlM3`q?63`q=n49NOZ8FEvKlXH^t^K%FpGAchB0;3@?8UmvsFd71*AwYBpfa+dQ
z{m)Ibj!}i9Aut*OBP9et<%0sGZO`BUr5hkLNQ!}xfdSkFU}RumfrSYpxF5g(k^^Z4
z(IBlL8l;th5yS$U0oKaE2-V66?uLN$fx09h8mygx5o|Mv57y4W2)3Dlff1sefe~sm
zBeaLY2+_{K2+_{K2(}&Ox>0&G1V%#u76Qx=h5)GkcV%F})&Ga68YM?VU^E1VWe6~`
zxCFa6fh%R~{sYyup!zfcs^$Px86&7(hKPZbfU0(Ib<6}ARFr@!1BrvQgJ^Jd%*en1
TuFXdq1F#SprAI@6z99er@?{mD

literal 0
HcmV?d00001

diff --git a/bob/learn/em/include/bob.learn.em/EMPCATrainer.h b/bob/learn/em/include/bob.learn.em/EMPCATrainer.h
new file mode 100644
index 0000000..90153c2
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/EMPCATrainer.h
@@ -0,0 +1,200 @@
+/**
+ * @date Tue Oct 11 12:18:23 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief Expectation Maximization Algorithm for Principal Component
+ * Analysis
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_EMPCA_TRAINER_H
+#define BOB_LEARN_EM_EMPCA_TRAINER_H
+
+#include <bob.learn.linear/machine.h>
+#include <blitz/array.h>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief Trains a linear machine using an Expectation-Maximization algorithm
+ * on the given dataset.\n
+ * References:\n
+ *  1. "Probabilistic Principal Component Analysis",
+ *     Michael Tipping and Christopher Bishop,
+ *     Journal of the Royal Statistical Society,
+ *      Series B, 61, Part 3, pp. 611–622\n
+ *  2. "EM Algorithms for PCA and SPCA",
+ *     Sam Roweis, Neural Information Processing Systems 10 (NIPS'97),
+ *     pp.626-632 (Sensible Principal Component Analysis part)\n
+ *
+ * Notations used are the ones from reference 1.\n
+ * The probabilistic model is given by: \f$t = W x + \mu + \epsilon\f$\n
+ *  - \f$t\f$ is the observed data (dimension \f$f\f$)\n
+ *  - \f$W\f$ is a  projection matrix (dimension \f$f \times d\f$)\n
+ *  - \f$x\f$ is the projected data (dimension \f$d < f\f$)\n
+ *  - \f$\mu\f$ is the mean of the data (dimension \f$f\f$)\n
+ *  - \f$\epsilon\f$ is the noise of the data (dimension \f$f\f$)
+ *      Gaussian with zero-mean and covariance matrix \f$\sigma^2 Id\f$
+ */
+class EMPCATrainer
+{
+  public: //api
+    /**
+     * @brief Initializes a new EM PCA trainer. The training stage will place the
+     * resulting components in the linear machine and set it up to
+     * extract the variable means automatically.
+     */
+    EMPCATrainer(bool compute_likelihood=true);
+
+    /**
+     * @brief Copy constructor
+     */
+    EMPCATrainer(const EMPCATrainer& other);
+
+    /**
+     * @brief (virtual) Destructor
+     */
+    virtual ~EMPCATrainer();
+
+    /**
+     * @brief Assignment operator
+     */
+    EMPCATrainer& operator=(const EMPCATrainer& other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const EMPCATrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const EMPCATrainer& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const EMPCATrainer& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief This methods performs some initialization before the EM loop.
+     */
+    virtual void initialize(bob::learn::linear::Machine& machine,
+      const blitz::Array<double,2>& ar);
+
+    /**
+     * @brief Calculates and saves statistics across the dataset, and saves
+     * these as m_z_{first,second}_order.
+     *
+     * The statistics will be used in the mStep() that follows.
+     */
+    virtual void eStep(bob::learn::linear::Machine& machine,
+      const blitz::Array<double,2>& ar);
+
+    /**
+     * @brief Performs a maximization step to update the parameters of the
+     * factor analysis model.
+     */
+    virtual void mStep(bob::learn::linear::Machine& machine,
+       const blitz::Array<double,2>& ar);
+
+    /**
+     * @brief Computes the average log likelihood using the current estimates
+     * of the latent variables.
+     */
+    virtual double computeLikelihood(bob::learn::linear::Machine& machine);
+
+    /**
+     * @brief Sets \f$\sigma^2\f$ (Mostly for test purpose)
+     */
+    void setSigma2(double sigma2) { m_sigma2 = sigma2; }
+
+    /**
+     * @brief Gets \f$\sigma^2\f$ (Mostly for test purpose)
+     */
+    double getSigma2() const { return m_sigma2; }
+
+    /**
+     * @brief Sets the Random Number Generator
+     */
+    void setRng(const boost::shared_ptr<boost::mt19937> rng)
+    { m_rng = rng; }
+
+    /**
+     * @brief Gets the Random Number Generator
+     */
+    const boost::shared_ptr<boost::mt19937> getRng() const
+    { return m_rng; }
+
+
+  private: //representation
+
+    bool m_compute_likelihood;
+    boost::shared_ptr<boost::mt19937> m_rng;
+
+    blitz::Array<double,2> m_S; /// Covariance of the training data (required only if we need to compute the log likelihood)
+    blitz::Array<double,2> m_z_first_order; /// Current mean of the \f$z_{n}\f$ latent variable
+    blitz::Array<double,3> m_z_second_order; /// Current covariance of the \f$z_{n}\f$ latent variable
+    blitz::Array<double,2> m_inW; /// The matrix product \f$W^T W\f$
+    blitz::Array<double,2> m_invM; /// The matrix \f$inv(M)\f$, where \f$M = W^T W + \sigma^2 Id\f$
+    double m_sigma2; /// The variance \f$sigma^2\f$ of the noise epsilon of the probabilistic model
+    double m_f_log2pi; /// The constant \f$n_{features} log(2*\pi)\f$ used during the likelihood computation
+
+    // Working arrays
+    mutable blitz::Array<double,2> m_tmp_dxf; /// size dimensionality x n_features
+    mutable blitz::Array<double,1> m_tmp_d; /// size dimensionality
+    mutable blitz::Array<double,1> m_tmp_f; /// size n_features
+    mutable blitz::Array<double,2> m_tmp_dxd_1; /// size dimensionality x dimensionality
+    mutable blitz::Array<double,2> m_tmp_dxd_2; /// size dimensionality x dimensionality
+    mutable blitz::Array<double,2> m_tmp_fxd_1; /// size n_features x dimensionality
+    mutable blitz::Array<double,2> m_tmp_fxd_2; /// size n_features x dimensionality
+    mutable blitz::Array<double,2> m_tmp_fxf_1; /// size n_features x n_features
+    mutable blitz::Array<double,2> m_tmp_fxf_2; /// size n_features x n_features
+
+
+    /**
+     * @brief Initializes/resizes the (array) members
+     */
+    void initMembers(const bob::learn::linear::Machine& machine,
+      const blitz::Array<double,2>& ar);
+    /**
+     * @brief Computes the mean and the variance (if required) of the training
+     * data
+     */
+    void computeMeanVariance(bob::learn::linear::Machine& machine,
+      const blitz::Array<double,2>& ar);
+    /**
+     * @brief Random initialization of \f$W\f$ and \f$sigma^2\f$.
+     * W is the projection matrix (from the LinearMachine)
+     */
+    void initRandomWSigma2(bob::learn::linear::Machine& machine);
+    /**
+     * @brief Computes the product \f$W^T W\f$.
+     * \f$W\f$ is the projection matrix (from the LinearMachine)
+     */
+    void computeWtW(bob::learn::linear::Machine& machine);
+    /**
+     * @brief Computes the inverse of \f$M\f$ matrix, where
+     *   \f$M = W^T W + \sigma^2 Id\f$.
+     *   \f$W\f$ is the projection matrix (from the LinearMachine)
+     */
+    void computeInvM();
+    /**
+     * @brief M-Step (part 1): Computes the new estimate of \f$W\f$ using the
+     * new estimated statistics.
+     */
+    void updateW(bob::learn::linear::Machine& machine,
+       const blitz::Array<double,2>& ar);
+    /**
+     * @brief M-Step (part 2): Computes the new estimate of \f$\sigma^2\f$ using
+     * the new estimated statistics.
+     */
+    void updateSigma2(bob::learn::linear::Machine& machine,
+       const blitz::Array<double,2>& ar);
+};
+
+} } } // namespaces
+
+#endif /* BOB_LEARN_EM_EMPCA_TRAINER_H */
diff --git a/bob/learn/em/include/bob.learn.em/FABase.h b/bob/learn/em/include/bob.learn.em/FABase.h
new file mode 100644
index 0000000..3b52198
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/FABase.h
@@ -0,0 +1,293 @@
+/**
+ * @date Tue Jan 27 15:51:15 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief A base class for Factor Analysis
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_FABASE_H
+#define BOB_LEARN_EM_FABASE_H
+
+#include <stdexcept>
+
+#include <bob.learn.em/GMMMachine.h>
+#include <boost/shared_ptr.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief A FA Base class which contains U, V and D matrices
+ * TODO: add a reference to the journal articles
+ */
+class FABase
+{
+  public:
+    /**
+     * @brief Default constructor. Builds an otherwise invalid 0 x 0 FABase
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     */
+    FABase();
+
+    /**
+     * @brief Constructor. Builds a new FABase.
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     *
+     * @param ubm The Universal Background Model
+     * @param ru size of U (CD x ru)
+     * @param rv size of U (CD x rv)
+     * @warning ru and rv SHOULD BE  >= 1. Just set U/V/D to zero if you want
+     *   to ignore one subspace. This is the case for ISV.
+     */
+    FABase(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm, const size_t ru=1, const size_t rv=1);
+
+    /**
+     * @brief Copy constructor
+     */
+    FABase(const FABase& other);
+
+    /**
+     * @brief Just to virtualise the destructor
+     */
+    virtual ~FABase();
+
+    /**
+     * @brief Assigns from a different JFA machine
+     */
+    FABase& operator=(const FABase &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const FABase& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const FABase& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const FABase& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Returns the UBM
+     */
+    const boost::shared_ptr<bob::learn::em::GMMMachine> getUbm() const
+    { return m_ubm; }
+
+    /**
+     * @brief Returns the U matrix
+     */
+    const blitz::Array<double,2>& getU() const
+    { return m_U; }
+
+    /**
+     * @brief Returns the V matrix
+     */
+    const blitz::Array<double,2>& getV() const
+    { return m_V; }
+
+    /**
+     * @brief Returns the diagonal matrix diag(d) (as a 1D vector)
+     */
+    const blitz::Array<double,1>& getD() const
+    { return m_d; }
+
+    /**
+     * @brief Returns the UBM mean supervector (as a 1D vector)
+     */
+    const blitz::Array<double,1>& getUbmMean() const
+    { return m_cache_mean; }
+
+    /**
+     * @brief Returns the UBM variance supervector (as a 1D vector)
+     */
+    const blitz::Array<double,1>& getUbmVariance() const
+    { return m_cache_sigma; }
+
+    /**
+     * @brief Returns the number of Gaussian components C
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNGaussians() const
+    { if(!m_ubm) throw std::runtime_error("No UBM was set in the JFA machine.");
+      return m_ubm->getNGaussians(); }
+
+    /**
+     * @brief Returns the feature dimensionality D
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNInputs() const
+    { if(!m_ubm) throw std::runtime_error("No UBM was set in the JFA machine.");
+      return m_ubm->getNInputs(); }
+
+    /**
+     * @brief Returns the supervector length CD
+     * (CxD: Number of Gaussian components by the feature dimensionality)
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getSupervectorLength() const
+    { if(!m_ubm) throw std::runtime_error("No UBM was set in the JFA machine.");
+      return m_ubm->getNInputs()*m_ubm->getNGaussians(); }
+
+    /**
+     * @brief Returns the size/rank ru of the U matrix
+     */
+    const size_t getDimRu() const
+    { return m_ru; }
+
+    /**
+     * @brief Returns the size/rank rv of the V matrix
+     */
+    const size_t getDimRv() const
+    { return m_rv; }
+
+    /**
+     * @brief Resets the dimensionality of the subspace U and V
+     * U and V are hence uninitialized.
+     */
+    void resize(const size_t ru, const size_t rv);
+
+    /**
+     * @brief Resets the dimensionality of the subspace U and V,
+     * assuming that no UBM has yet been set
+     * U and V are hence uninitialized.
+     */
+    void resize(const size_t ru, const size_t rv, const size_t cd);
+
+    /**
+     * @brief Returns the U matrix in order to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,2>& updateU()
+    { return m_U; }
+
+    /**
+     * @brief Returns the V matrix in order to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,2>& updateV()
+    { return m_V; }
+
+    /**
+     * @brief Returns the diagonal matrix diag(d) (as a 1D vector) in order
+     * to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,1>& updateD()
+    { return m_d; }
+
+
+    /**
+     * @brief Sets (the mean supervector of) the Universal Background Model
+     * U, V and d are uninitialized in case of dimensions update (C or D)
+     */
+    void setUbm(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm);
+
+    /**
+     * @brief Sets the U matrix
+     */
+    void setU(const blitz::Array<double,2>& U);
+
+    /**
+     * @brief Sets the V matrix
+     */
+    void setV(const blitz::Array<double,2>& V);
+
+    /**
+     * @brief Sets the diagonal matrix diag(d)
+     * (a 1D vector is expected as an argument)
+     */
+    void setD(const blitz::Array<double,1>& d);
+
+
+    /**
+     * @brief Estimates x from the GMM statistics considering the LPT
+     * assumption, that is the latent session variable x is approximated
+     * using the UBM
+     */
+    void estimateX(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& x) const;
+
+    /**
+     * @brief Compute and put U^{T}.Sigma^{-1} matrix in cache
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    void updateCacheUbmUVD();
+
+
+  private:
+    /**
+     * @brief Update cache arrays/variables
+     */
+    void updateCache();
+    /**
+     * @brief Put GMM mean/variance supervector in cache
+     */
+    void updateCacheUbm();
+    /**
+     * @brief Resize working arrays
+     */
+    void resizeTmp();
+    /**
+     * @brief Computes (Id + U^T.Sigma^-1.U.N_{i,h}.U)^-1 =
+     *   (Id + sum_{c=1..C} N_{i,h}.U_{c}^T.Sigma_{c}^-1.U_{c})^-1
+     */
+    void computeIdPlusUSProdInv(const bob::learn::em::GMMStats& gmm_stats,
+      blitz::Array<double,2>& out) const;
+    /**
+     * @brief Computes Fn_x = sum_{sessions h}(N*(o - m))
+     * (Normalised first order statistics)
+     */
+    void computeFn_x(const bob::learn::em::GMMStats& gmm_stats,
+      blitz::Array<double,1>& out) const;
+    /**
+     * @brief Estimates the value of x from the passed arguments
+     * (IdPlusUSProdInv and Fn_x), considering the LPT assumption
+     */
+    void estimateX(const blitz::Array<double,2>& IdPlusUSProdInv,
+      const blitz::Array<double,1>& Fn_x, blitz::Array<double,1>& x) const;
+
+
+    // UBM
+    boost::shared_ptr<bob::learn::em::GMMMachine> m_ubm;
+
+    // dimensionality
+    size_t m_ru; // size of U (CD x ru)
+    size_t m_rv; // size of V (CD x rv)
+
+    // U, V, D matrices
+    // D is assumed to be diagonal, and only the diagonal is stored
+    blitz::Array<double,2> m_U;
+    blitz::Array<double,2> m_V;
+    blitz::Array<double,1> m_d;
+
+    // Vectors/Matrices precomputed in cache
+    blitz::Array<double,1> m_cache_mean;
+    blitz::Array<double,1> m_cache_sigma;
+    blitz::Array<double,2> m_cache_UtSigmaInv;
+
+    mutable blitz::Array<double,2> m_tmp_IdPlusUSProdInv;
+    mutable blitz::Array<double,1> m_tmp_Fn_x;
+    mutable blitz::Array<double,1> m_tmp_ru;
+    mutable blitz::Array<double,2> m_tmp_ruD;
+    mutable blitz::Array<double,2> m_tmp_ruru;
+};
+
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_FABASE_H
diff --git a/bob/learn/em/include/bob.learn.em/FABaseTrainer.h b/bob/learn/em/include/bob.learn.em/FABaseTrainer.h
new file mode 100644
index 0000000..037b4f2
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/FABaseTrainer.h
@@ -0,0 +1,350 @@
+/**
+ * @date Sat Jan 31 17:16:17 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief FABaseTrainer functions
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_FABASETRAINER_H
+#define BOB_LEARN_EM_FABASETRAINER_H
+
+#include <blitz/array.h>
+#include <bob.learn.em/GMMStats.h>
+#include <bob.learn.em/JFAMachine.h>
+#include <vector>
+
+#include <map>
+#include <string>
+#include <bob.core/array_copy.h>
+#include <boost/shared_ptr.hpp>
+#include <boost/random.hpp>
+#include <bob.core/logging.h>
+
+namespace bob { namespace learn { namespace em {
+
+class FABaseTrainer
+{
+  public:
+    /**
+     * @brief Constructor
+     */
+    FABaseTrainer();
+
+    /**
+     * @brief Copy constructor
+     */
+    FABaseTrainer(const FABaseTrainer& other);
+
+    /**
+     * @brief Destructor
+     */
+    ~FABaseTrainer();
+
+    /**
+     * @brief Check that the dimensionality of the statistics match.
+     */
+    void checkStatistics(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+
+    /**
+     * @brief Initialize the dimensionality, the UBM, the sums of the
+     * statistics and the number of identities.
+     */
+    void initUbmNidSumStatistics(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+
+    /**
+     * @brief Precomputes the sums of the zeroth order statistics over the
+     * sessions for each client
+     */
+    void precomputeSumStatisticsN(const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+    /**
+     * @brief Precomputes the sums of the first order statistics over the
+     * sessions for each client
+     */
+    void precomputeSumStatisticsF(const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+
+    /**
+     * @brief Initializes (allocates and sets to zero) the x, y, z speaker
+     * factors
+     */
+    void initializeXYZ(const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+
+    /**
+     * @brief Resets the x, y, z speaker factors to zero values
+     */
+    void resetXYZ();
+
+
+    /**** Y and V functions ****/
+    /**
+     * @brief Computes Vt * diag(sigma)^-1
+     */
+    void computeVtSigmaInv(const bob::learn::em::FABase& m);
+    /**
+     * @brief Computes Vt_{c} * diag(sigma)^-1 * V_{c} for each Gaussian c
+     */
+    void computeVProd(const bob::learn::em::FABase& m);
+    /**
+     * @brief Computes (I+Vt*diag(sigma)^-1*Ni*V)^-1 which occurs in the y
+     * estimation for the given person
+     */
+    void computeIdPlusVProd_i(const size_t id);
+    /**
+     * @brief Computes sum_{sessions h}(N_{i,h}*(o_{i,h} - m - D*z_{i} - U*x_{i,h})
+     * which occurs in the y estimation of the given person
+     */
+    void computeFn_y_i(const bob::learn::em::FABase& m,
+      const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& stats,
+      const size_t id);
+    /**
+     * @brief Updates y_i (of the current person) and the accumulators to
+     * compute V with the cache values m_cache_IdPlusVprod_i, m_VtSigmaInv and
+     * m_cache_Fn_y_i
+     */
+    void updateY_i(const size_t id);
+    /**
+     * @brief Updates y and the accumulators to compute V
+     */
+    void updateY(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+    /**
+     * @brief Computes the accumulators m_acc_V_A1 and m_acc_V_A2 for V
+     * V = A2 * A1^-1
+     */
+    void computeAccumulatorsV(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+    /**
+     * @brief Updates V from the accumulators m_acc_V_A1 and m_acc_V_A2
+     */
+    void updateV(blitz::Array<double,2>& V);
+
+
+    /**** X and U functions ****/
+    /**
+     * @brief Computes Ut * diag(sigma)^-1
+     */
+    void computeUtSigmaInv(const bob::learn::em::FABase& m);
+    /**
+     * @brief Computes Ut_{c} * diag(sigma)^-1 * U_{c} for each Gaussian c
+     */
+    void computeUProd(const bob::learn::em::FABase& m);
+    /**
+     * @brief Computes (I+Ut*diag(sigma)^-1*Ni*U)^-1 which occurs in the x
+     * estimation
+     */
+    void computeIdPlusUProd_ih(const boost::shared_ptr<bob::learn::em::GMMStats>& stats);
+    /**
+     * @brief Computes sum_{sessions h}(N_{i,h}*(o_{i,h} - m - D*z_{i} - U*x_{i,h})
+     * which occurs in the y estimation of the given person
+     */
+    void computeFn_x_ih(const bob::learn::em::FABase& m,
+      const boost::shared_ptr<bob::learn::em::GMMStats>& stats, const size_t id);
+    /**
+     * @brief Updates x_ih (of the current person/session) and the
+     * accumulators to compute U with the cache values m_cache_IdPlusVprod_i,
+     * m_VtSigmaInv and m_cache_Fn_y_i
+     */
+    void updateX_ih(const size_t id, const size_t h);
+    /**
+     * @brief Updates x
+     */
+    void updateX(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+    /**
+     * @brief Computes the accumulators m_acc_U_A1 and m_acc_U_A2 for U
+     * U = A2 * A1^-1
+     */
+    void computeAccumulatorsU(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+    /**
+     * @brief Updates U from the accumulators m_acc_U_A1 and m_acc_U_A2
+     */
+    void updateU(blitz::Array<double,2>& U);
+
+
+    /**** z and D functions ****/
+    /**
+     * @brief Computes diag(D) * diag(sigma)^-1
+     */
+    void computeDtSigmaInv(const bob::learn::em::FABase& m);
+    /**
+     * @brief Computes Dt_{c} * diag(sigma)^-1 * D_{c} for each Gaussian c
+     */
+    void computeDProd(const bob::learn::em::FABase& m);
+    /**
+     * @brief Computes (I+diag(d)t*diag(sigma)^-1*Ni*diag(d))^-1 which occurs
+     * in the z estimation for the given person
+     */
+    void computeIdPlusDProd_i(const size_t id);
+    /**
+     * @brief Computes sum_{sessions h}(N_{i,h}*(o_{i,h} - m - V*y_{i} - U*x_{i,h})
+     * which occurs in the y estimation of the given person
+     */
+    void computeFn_z_i(const bob::learn::em::FABase& m,
+      const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& stats, const size_t id);
+    /**
+     * @brief Updates z_i (of the current person) and the accumulators to
+     * compute D with the cache values m_cache_IdPlusDProd_i, m_VtSigmaInv
+     * and m_cache_Fn_z_i
+     */
+    void updateZ_i(const size_t id);
+    /**
+     * @brief Updates z and the accumulators to compute D
+     */
+    void updateZ(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+    /**
+     * @brief Computes the accumulators m_acc_D_A1 and m_acc_D_A2 for d
+     * d = A2 * A1^-1
+     */
+    void computeAccumulatorsD(const bob::learn::em::FABase& m,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& stats);
+    /**
+     * @brief Updates d from the accumulators m_acc_D_A1 and m_acc_D_A2
+     */
+    void updateD(blitz::Array<double,1>& d);
+
+
+    /**
+     * @brief Get the zeroth order statistics
+     */
+    const std::vector<blitz::Array<double,1> >& getNacc() const
+    { return m_Nacc; }
+    /**
+     * @brief Get the first order statistics
+     */
+    const std::vector<blitz::Array<double,1> >& getFacc() const
+    { return m_Facc; }
+    /**
+     * @brief Get the x speaker factors
+     */
+    const std::vector<blitz::Array<double,2> >& getX() const
+    { return m_x; }
+    /**
+     * @brief Get the y speaker factors
+     */
+    const std::vector<blitz::Array<double,1> >& getY() const
+    { return m_y; }
+    /**
+     * @brief Get the z speaker factors
+     */
+    const std::vector<blitz::Array<double,1> >& getZ() const
+    { return m_z; }
+    /**
+     * @brief Set the x speaker factors
+     */
+    void setX(const std::vector<blitz::Array<double,2> >& X)
+    { m_x = X; }
+    /**
+     * @brief Set the y speaker factors
+     */
+    void setY(const std::vector<blitz::Array<double,1> >& y)
+    { m_y = y; }
+    /**
+     * @brief Set the z speaker factors
+     */
+    void setZ(const std::vector<blitz::Array<double,1> >& z)
+    { m_z = z; }
+
+    /**
+     * @brief Initializes the cache to process the given statistics
+     */
+    void initCache();
+
+    /**
+     * @brief Getters for the accumulators
+     */
+    const blitz::Array<double,3>& getAccVA1() const
+    { return m_acc_V_A1; }
+    const blitz::Array<double,2>& getAccVA2() const
+    { return m_acc_V_A2; }
+    const blitz::Array<double,3>& getAccUA1() const
+    { return m_acc_U_A1; }
+    const blitz::Array<double,2>& getAccUA2() const
+    { return m_acc_U_A2; }
+    const blitz::Array<double,1>& getAccDA1() const
+    { return m_acc_D_A1; }
+    const blitz::Array<double,1>& getAccDA2() const
+    { return m_acc_D_A2; }
+
+    /**
+     * @brief Setters for the accumulators, Very useful if the e-Step needs
+     * to be parallelized.
+     */
+    void setAccVA1(const blitz::Array<double,3>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_V_A1);
+      m_acc_V_A1 = acc; }
+    void setAccVA2(const blitz::Array<double,2>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_V_A2);
+      m_acc_V_A2 = acc; }
+    void setAccUA1(const blitz::Array<double,3>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_U_A1);
+      m_acc_U_A1 = acc; }
+    void setAccUA2(const blitz::Array<double,2>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_U_A2);
+      m_acc_U_A2 = acc; }
+    void setAccDA1(const blitz::Array<double,1>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_D_A1);
+      m_acc_D_A1 = acc; }
+    void setAccDA2(const blitz::Array<double,1>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_D_A2);
+      m_acc_D_A2 = acc; }
+
+
+  private:
+    size_t m_Nid; // Number of identities
+    size_t m_dim_C; // Number of Gaussian components of the UBM GMM
+    size_t m_dim_D; // Dimensionality of the feature space
+    size_t m_dim_ru; // Rank of the U subspace
+    size_t m_dim_rv; // Rank of the V subspace
+
+    std::vector<blitz::Array<double,2> > m_x; // matrix x of speaker factors for eigenchannels U, for each client
+    std::vector<blitz::Array<double,1> > m_y; // vector y of spealer factors for eigenvoices V, for each client
+    std::vector<blitz::Array<double,1> > m_z; // vector z of spealer factors for eigenvoices Z, for each client
+
+    std::vector<blitz::Array<double,1> > m_Nacc; // Sum of the zeroth order statistics over the sessions for each client, dimension C
+    std::vector<blitz::Array<double,1> > m_Facc; // Sum of the first order statistics over the sessions for each client, dimension CD
+
+    // Accumulators for the M-step
+    blitz::Array<double,3> m_acc_V_A1;
+    blitz::Array<double,2> m_acc_V_A2;
+    blitz::Array<double,3> m_acc_U_A1;
+    blitz::Array<double,2> m_acc_U_A2;
+    blitz::Array<double,1> m_acc_D_A1;
+    blitz::Array<double,1> m_acc_D_A2;
+
+    // Cache/Precomputation
+    blitz::Array<double,2> m_cache_VtSigmaInv; // Vt * diag(sigma)^-1
+    blitz::Array<double,3> m_cache_VProd; // first dimension is the Gaussian id
+    blitz::Array<double,2> m_cache_IdPlusVProd_i;
+    blitz::Array<double,1> m_cache_Fn_y_i;
+
+    blitz::Array<double,2> m_cache_UtSigmaInv; // Ut * diag(sigma)^-1
+    blitz::Array<double,3> m_cache_UProd; // first dimension is the Gaussian id
+    blitz::Array<double,2> m_cache_IdPlusUProd_ih;
+    blitz::Array<double,1> m_cache_Fn_x_ih;
+
+    blitz::Array<double,1> m_cache_DtSigmaInv; // Dt * diag(sigma)^-1
+    blitz::Array<double,1> m_cache_DProd; // supervector length dimension
+    blitz::Array<double,1> m_cache_IdPlusDProd_i;
+    blitz::Array<double,1> m_cache_Fn_z_i;
+
+    // Working arrays
+    mutable blitz::Array<double,2> m_tmp_ruru;
+    mutable blitz::Array<double,2> m_tmp_ruD;
+    mutable blitz::Array<double,2> m_tmp_rvrv;
+    mutable blitz::Array<double,2> m_tmp_rvD;
+    mutable blitz::Array<double,1> m_tmp_rv;
+    mutable blitz::Array<double,1> m_tmp_ru;
+    mutable blitz::Array<double,1> m_tmp_CD;
+    mutable blitz::Array<double,1> m_tmp_CD_b;
+};
+
+
+} } } // namespaces
+
+#endif /* BOB_LEARN_EM_FABASETRAINER_H */
diff --git a/bob/learn/em/include/bob.learn.em/GMMBaseTrainer.h b/bob/learn/em/include/bob.learn.em/GMMBaseTrainer.h
new file mode 100644
index 0000000..121cdc2
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/GMMBaseTrainer.h
@@ -0,0 +1,161 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * @brief This class implements the E-step of the expectation-maximisation algorithm for a GMM Machine.
+ * @details See Section 9.2.2 of Bishop, "Pattern recognition and machine learning", 2006
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_GMMBASETRAINER_H
+#define BOB_LEARN_EM_GMMBASETRAINER_H
+
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.learn.em/GMMStats.h>
+#include <limits>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class implements the E-step of the expectation-maximisation
+ * algorithm for a GMM Machine.
+ * @details See Section 9.2.2 of Bishop,
+ *   "Pattern recognition and machine learning", 2006
+ */
+class GMMBaseTrainer
+{
+  public:
+    /**
+     * @brief Default constructor
+     */
+    GMMBaseTrainer(const bool update_means=true,
+                   const bool update_variances=false, 
+                   const bool update_weights=false,
+                   const double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon());
+
+    /**
+     * @brief Copy constructor
+     */
+    GMMBaseTrainer(const GMMBaseTrainer& other);
+
+    /**
+     * @brief Destructor
+     */
+    virtual ~GMMBaseTrainer();
+
+    /**
+     * @brief Initialization before the EM steps
+     */
+    void initialize(bob::learn::em::GMMMachine& gmm);
+
+    /**
+     * @brief Calculates and saves statistics across the dataset,
+     * and saves these as m_ss. Calculates the average
+     * log likelihood of the observations given the GMM,
+     * and returns this in average_log_likelihood.
+     *
+     * The statistics, m_ss, will be used in the mStep() that follows.
+     * Implements EMTrainer::eStep(double &)
+     */
+     void eStep(bob::learn::em::GMMMachine& gmm,
+      const blitz::Array<double,2>& data);
+
+    /**
+     * @brief Computes the likelihood using current estimates of the latent
+     * variables
+     */
+    double computeLikelihood(bob::learn::em::GMMMachine& gmm);
+
+
+    /**
+     * @brief Assigns from a different GMMBaseTrainer
+     */
+    GMMBaseTrainer& operator=(const GMMBaseTrainer &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const GMMBaseTrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const GMMBaseTrainer& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const GMMBaseTrainer& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Returns the internal GMM statistics. Useful to parallelize the
+     * E-step
+     */
+    const bob::learn::em::GMMStats getGMMStats() const
+    { return m_ss; }
+
+    /**
+     * @brief Sets the internal GMM statistics. Useful to parallelize the
+     * E-step
+     */
+    void setGMMStats(const bob::learn::em::GMMStats& stats);
+    
+    /**
+     * update means on each iteration
+     */    
+    bool getUpdateMeans()
+    {return m_update_means;}
+    
+    /**
+     * update variances on each iteration
+     */
+    bool getUpdateVariances()
+    {return m_update_variances;}
+
+
+    bool getUpdateWeights()
+    {return m_update_weights;}
+    
+    
+    double getMeanVarUpdateResponsibilitiesThreshold()
+    {return m_mean_var_update_responsibilities_threshold;}
+    
+
+  private:
+  
+    /**
+     * These are the sufficient statistics, calculated during the
+     * E-step and used during the M-step
+     */
+    bob::learn::em::GMMStats m_ss;
+
+
+    /**
+     * update means on each iteration
+     */
+    bool m_update_means;
+
+    /**
+     * update variances on each iteration
+     */
+    bool m_update_variances;
+
+    /**
+     * update weights on each iteration
+     */
+    bool m_update_weights;
+
+    /**
+     * threshold over the responsibilities of the Gaussians
+     * Equations 9.24, 9.25 of Bishop, "Pattern recognition and machine learning", 2006
+     * require a division by the responsibilities, which might be equal to zero
+     * because of numerical issue. This threshold is used to avoid such divisions.
+     */
+    double m_mean_var_update_responsibilities_threshold;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_GMMBASETRAINER_H
diff --git a/bob/learn/em/include/bob.learn.em/GMMMachine.h b/bob/learn/em/include/bob.learn.em/GMMMachine.h
new file mode 100644
index 0000000..c3b1246
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/GMMMachine.h
@@ -0,0 +1,371 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief This class implements a multivariate diagonal Gaussian distribution.
+ * @details See Section 2.3.9 of Bishop, "Pattern recognition and machine learning", 2006
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_GMMMACHINE_H
+#define BOB_LEARN_EM_GMMMACHINE_H
+
+#include <bob.learn.em/Gaussian.h>
+#include <bob.learn.em/GMMStats.h>
+#include <bob.io.base/HDF5File.h>
+#include <iostream>
+#include <boost/shared_ptr.hpp>
+#include <vector>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class implements a multivariate diagonal Gaussian distribution.
+ * @details See Section 2.3.9 of Bishop, "Pattern recognition and machine learning", 2006
+ */
+class GMMMachine
+{
+  public:
+    /**
+     * Default constructor
+     */
+    GMMMachine();
+
+    /**
+     * Constructor
+     * @param[in] n_gaussians  The number of Gaussian components
+     * @param[in] n_inputs     The feature dimensionality
+     */
+    GMMMachine(const size_t n_gaussians, const size_t n_inputs);
+
+    /**
+     * Copy constructor
+     * (Needed because the GMM points to its constituent Gaussian members)
+     */
+    GMMMachine(const GMMMachine& other);
+
+    /**
+     * Constructor from a Configuration
+     */
+    GMMMachine(bob::io::base::HDF5File& config);
+
+    /**
+     * Assignment
+     */
+    GMMMachine& operator=(const GMMMachine &other);
+
+    /**
+     * Equal to
+     */
+    bool operator==(const GMMMachine& b) const;
+
+    /**
+     * Not equal to
+     */
+    bool operator!=(const GMMMachine& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const GMMMachine& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * Destructor
+     */
+    virtual ~GMMMachine();
+
+
+    /**
+     * Reset the input dimensionality, and the number of Gaussian components.
+     * Initialises the weights to uniform distribution.
+     * @param n_gaussians The number of Gaussian components
+     * @param n_inputs    The feature dimensionality
+     */
+    void resize(const size_t n_gaussians, const size_t n_inputs);
+
+
+    /////////////////////////
+    // Getters
+    ////////////////////////
+
+    /**
+     * Get number of inputs
+     */
+    size_t getNInputs() const
+    { return m_n_inputs; }
+
+    /**
+     * Get the weights ("mixing coefficients") of the Gaussian components
+     */
+    const blitz::Array<double,1>& getWeights() const
+    { return m_weights; }
+
+    /**
+     * Get the logarithm of the weights of the Gaussian components
+     */
+    inline const blitz::Array<double,1>& getLogWeights() const
+    { return m_cache_log_weights; }
+
+
+    /**
+     * Get the means
+     */    
+    const blitz::Array<double,2> getMeans() const;
+    
+    /**
+     * Get the mean supervector
+     */
+    void getMeanSupervector(blitz::Array<double,1> &mean_supervector) const;
+    
+     /**
+     * Returns a const reference to the supervector (Put in cache)
+     */
+    const blitz::Array<double,1>& getMeanSupervector() const;
+        
+    /**
+     * Get the variances
+     */
+    const blitz::Array<double,2> getVariances() const;
+    
+    /**
+     * Returns a const reference to the supervector (Put in cache)
+     */
+    const blitz::Array<double,1>& getVarianceSupervector() const;
+    
+
+    /**
+     * Get the variance flooring thresholds for each Gaussian in each dimension
+     */
+    const blitz::Array<double,2> getVarianceThresholds() const;
+
+
+
+    ///////////////////////
+    // Setters
+    ///////////////////////
+
+    /**
+     * Set the weights
+     */
+    void setWeights(const blitz::Array<double,1> &weights);
+
+    /**
+     * Set the means
+     */
+    void setMeans(const blitz::Array<double,2> &means);
+    /**
+     * Set the means from a supervector
+     */
+    void setMeanSupervector(const blitz::Array<double,1> &mean_supervector);
+
+    /**
+     * Set the variances
+     */
+    void setVariances(const blitz::Array<double,2> &variances);
+    /**
+     * Set the variances from a supervector
+     */
+    void setVarianceSupervector(const blitz::Array<double,1> &variance_supervector);
+
+    /**
+     * Set the variance flooring thresholds in each dimension
+     */
+    void setVarianceThresholds(const double value);
+    /**
+     * Set the variance flooring thresholds in each dimension
+     * (equal for all Gaussian components)
+     */
+    void setVarianceThresholds(blitz::Array<double,1> variance_thresholds);
+    /**
+     * Set the variance flooring thresholds for each Gaussian in each dimension
+     */
+    void setVarianceThresholds(const blitz::Array<double,2> &variance_thresholds);
+
+
+    ////////////////
+    // Methods
+    /////////////////
+
+    /**
+     * Get the weights in order to be updated
+     * ("mixing coefficients") of the Gaussian components
+     * @warning Only trainers should use this function for efficiency reason
+     */
+    inline blitz::Array<double,1>& updateWeights()
+    { return m_weights; }
+
+
+    /**
+     * Update the log of the weights in cache
+     * @warning Should be used by trainer only when using updateWeights()
+     */
+    void recomputeLogWeights() const;
+
+
+
+    /**
+     * Output the log likelihood of the sample, x, i.e. log(p(x|GMMMachine))
+     * @param[in]  x                                 The sample
+     * @param[out] log_weighted_gaussian_likelihoods For each Gaussian, i: log(weight_i*p(x|Gaussian_i))
+     * @return     The GMMMachine log likelihood, i.e. log(p(x|GMMMachine))
+     * Dimensions of the parameters are checked
+     */
+    double logLikelihood(const blitz::Array<double, 1> &x, blitz::Array<double,1> &log_weighted_gaussian_likelihoods) const;
+
+    /**
+     * Output the log likelihood of the sample, x, i.e. log(p(x|GMMMachine))
+     * @param[in]  x                                 The sample
+     * @param[out] log_weighted_gaussian_likelihoods For each Gaussian, i: log(weight_i*p(x|Gaussian_i))
+     * @return     The GMMMachine log likelihood, i.e. log(p(x|GMMMachine))
+     * @warning Dimensions of the parameters are not checked
+     */
+    double logLikelihood_(const blitz::Array<double, 1> &x, blitz::Array<double,1> &log_weighted_gaussian_likelihoods) const;
+
+    /**
+     * Output the log likelihood of the sample, x, i.e. log(p(x|GMM))
+     * @param[in]  x The sample
+     * Dimension of the input is checked
+     */
+    double logLikelihood(const blitz::Array<double, 1> &x) const;
+
+    /**
+     * Output the log likelihood of the sample, x, i.e. log(p(x|GMM))
+     * @param[in]  x The sample
+     * @warning Dimension of the input is not checked
+     */
+    double logLikelihood_(const blitz::Array<double, 1> &x) const;
+
+    /**
+     * Accumulates the GMM statistics over a set of samples.
+     * @see bool accStatistics(const blitz::Array<double,1> &x, GMMStats stats)
+     * Dimensions of the parameters are checked
+     */
+    void accStatistics(const blitz::Array<double,2>& input, GMMStats &stats) const;
+
+    /**
+     * Accumulates the GMM statistics over a set of samples.
+     * @see bool accStatistics(const blitz::Array<double,1> &x, GMMStats stats)
+     * @warning Dimensions of the parameters are not checked
+     */
+    void accStatistics_(const blitz::Array<double,2>& input, GMMStats &stats) const;
+
+    /**
+     * Accumulate the GMM statistics for this sample.
+     *
+     * @param[in]  x     The current sample
+     * @param[out] stats The accumulated statistics
+     * Dimensions of the parameters are checked
+     */
+    void accStatistics(const blitz::Array<double,1> &x, GMMStats &stats) const;
+
+    /**
+     * Accumulate the GMM statistics for this sample.
+     *
+     * @param[in]  x     The current sample
+     * @param[out] stats The accumulated statistics
+     * @warning Dimensions of the parameters are not checked
+     */
+    void accStatistics_(const blitz::Array<double,1> &x, GMMStats &stats) const;
+
+
+    /**
+     * Get a pointer to a particular Gaussian component
+     * @param[in] i The index of the Gaussian component
+     * @return A smart pointer to the i'th Gaussian component
+     *         if it exists, otherwise throws an exception
+     */
+    boost::shared_ptr<bob::learn::em::Gaussian> getGaussian(const size_t i);
+
+
+    /**
+     * Return the number of Gaussian components
+     */
+    inline size_t getNGaussians() const
+    { return m_n_gaussians; }
+
+    /**
+     * Save to a Configuration
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * Load from a Configuration
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    /**
+     * Load/Reload mean/variance supervector in cache
+     */
+    void reloadCacheSupervectors() const;
+
+    friend std::ostream& operator<<(std::ostream& os, const GMMMachine& machine);
+
+
+  private:
+    /**
+     * Copy another GMMMachine
+     */
+    void copy(const GMMMachine&);
+
+    /**
+     * The number of Gaussian components
+     */
+    size_t m_n_gaussians;
+
+    /**
+     * The feature dimensionality
+     */
+    size_t m_n_inputs;
+
+    /**
+     * The Gaussian components
+     */
+    std::vector<boost::shared_ptr<Gaussian> > m_gaussians;
+
+    /**
+     * The weights (also known as "mixing coefficients")
+     */
+    blitz::Array<double,1> m_weights;
+
+    /**
+     * Update the mean and variance supervectors
+     * in cache (into a 1D blitz array)
+     */
+    void updateCacheSupervectors() const;
+
+    /**
+     * Initialise the cache members (allocate arrays)
+     */
+    void initCache() const;
+
+    /**
+     * Accumulate the GMM statistics for this sample.
+     * Called by accStatistics() and accStatistics_()
+     *
+     * @param[in]  x     The current sample
+     * @param[out] stats The accumulated statistics
+     * @param[in]  log_likelihood  The current log_likelihood
+     * @warning Dimensions of the parameters are not checked
+     */
+    void accStatisticsInternal(const blitz::Array<double,1> &x,
+      GMMStats &stats, const double log_likelihood) const;
+
+
+    /// Some cache arrays to avoid re-allocation when computing log-likelihoods
+    mutable blitz::Array<double,1> m_cache_log_weights;
+    mutable blitz::Array<double,1> m_cache_log_weighted_gaussian_likelihoods;
+    mutable blitz::Array<double,1> m_cache_P;
+    mutable blitz::Array<double,2> m_cache_Px;
+
+    mutable blitz::Array<double,1> m_cache_mean_supervector;
+    mutable blitz::Array<double,1> m_cache_variance_supervector;
+    mutable bool m_cache_supervector;
+
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_GMMMACHINE_H
diff --git a/bob/learn/em/include/bob.learn.em/GMMStats.h b/bob/learn/em/include/bob.learn.em/GMMStats.h
new file mode 100644
index 0000000..af56f05
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/GMMStats.h
@@ -0,0 +1,141 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_GMMSTATS_H
+#define BOB_LEARN_EM_GMMSTATS_H
+
+#include <blitz/array.h>
+#include <bob.io.base/HDF5File.h>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief A container for GMM statistics.
+ * @see GMMMachine
+ *
+ * With respect to Reynolds, "Speaker Verification Using Adapted
+ * Gaussian Mixture Models", DSP, 2000:
+ * Eq (8) is n(i)
+ * Eq (9) is sumPx(i) / n(i)
+ * Eq (10) is sumPxx(i) / n(i)
+ */
+class GMMStats {
+  public:
+
+    /**
+     * Default constructor.
+     */
+    GMMStats();
+
+    /**
+     * Constructor.
+     * @param n_gaussians Number of Gaussians in the mixture model.
+     * @param n_inputs    Feature dimensionality.
+     */
+    GMMStats(const size_t n_gaussians, const size_t n_inputs);
+
+    /**
+     * Copy constructor
+     */
+    GMMStats(const GMMStats& other);
+
+    /**
+     * Constructor (from a Configuration)
+     */
+    GMMStats(bob::io::base::HDF5File& config);
+
+    /**
+     * Assigment
+     */
+    GMMStats& operator=(const GMMStats& other);
+
+    /**
+     * Equal to
+     */
+    bool operator==(const GMMStats& b) const;
+
+    /**
+     * Not Equal to
+     */
+    bool operator!=(const GMMStats& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const GMMStats& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * Updates a GMMStats with another GMMStats
+     */
+    void operator+=(const GMMStats& b);
+
+    /**
+     * Destructor
+     */
+    ~GMMStats();
+
+    /**
+     * Allocates space for the statistics and resets to zero.
+     * @param n_gaussians Number of Gaussians in the mixture model.
+     * @param n_inputs    Feature dimensionality.
+     */
+    void resize(const size_t n_gaussians, const size_t n_inputs);
+
+    /**
+     * Resets statistics to zero.
+     */
+    void init();
+
+    /**
+     * The accumulated log likelihood of all samples
+     */
+    double log_likelihood;
+
+    /**
+     * The accumulated number of samples
+     */
+    size_t T;
+
+    /**
+     * For each Gaussian, the accumulated sum of responsibilities, i.e. the sum of P(gaussian_i|x)
+     */
+    blitz::Array<double,1> n;
+
+    /**
+     * For each Gaussian, the accumulated sum of responsibility times the sample
+     */
+    blitz::Array<double,2> sumPx;
+
+    /**
+     * For each Gaussian, the accumulated sum of responsibility times the sample squared
+     */
+    blitz::Array<double,2> sumPxx;
+
+    /**
+     * Save to a Configuration
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * Load from a Configuration
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    friend std::ostream& operator<<(std::ostream& os, const GMMStats& g);
+
+  private:
+    /**
+     * Copy another GMMStats
+     */
+    void copy(const GMMStats&);
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_GMMSTATS_H
diff --git a/bob/learn/em/include/bob.learn.em/Gaussian.h b/bob/learn/em/include/bob.learn.em/Gaussian.h
new file mode 100644
index 0000000..023f008
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/Gaussian.h
@@ -0,0 +1,247 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_GAUSSIAN_H
+#define BOB_LEARN_EM_GAUSSIAN_H
+
+#include <bob.io.base/HDF5File.h>
+#include <blitz/array.h>
+#include <limits>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class implements a multivariate diagonal Gaussian distribution.
+ */
+class Gaussian
+{
+  public:
+    /**
+     * Default constructor
+     */
+    Gaussian();
+
+    /**
+     * Constructor
+     * @param[in] n_inputs The feature dimensionality
+     */
+    Gaussian(const size_t n_inputs);
+
+    /**
+     * Destructor
+     */
+    virtual ~Gaussian();
+
+    /**
+     * Copy constructor
+     */
+    Gaussian(const Gaussian& other);
+
+    /**
+     * Constructs from a configuration file
+     */
+    Gaussian(bob::io::base::HDF5File& config);
+
+    /**
+     * Assignment
+     */
+    Gaussian& operator=(const Gaussian &other);
+
+    /**
+     * Equal to
+     */
+    bool operator==(const Gaussian& b) const;
+    /**
+     * Not equal to
+     */
+    bool operator!=(const Gaussian& b) const;
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const Gaussian& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * Set the input dimensionality, reset the mean to zero
+     * and the variance to one.
+     * @see resize()
+     * @param n_inputs The feature dimensionality
+     * @warning The mean and variance are not initialized
+     */
+    void setNInputs(const size_t n_inputs);
+
+    /**
+     * Get the input dimensionality
+     */
+    size_t getNInputs() const
+    { return m_n_inputs; }
+
+    /**
+     * Set the input dimensionality, reset the mean to zero
+     * and the variance to one.
+     * @see setNInputs()
+     * @param n_inputs The feature dimensionality
+     */
+    void resize(const size_t n_inputs);
+
+    /**
+     * Get the mean
+     */
+    inline const blitz::Array<double,1>& getMean() const
+    { return m_mean; }
+
+    /**
+     * Get the mean in order to be updated
+     * @warning Only trainers should use this function for efficiency reason
+     */
+    inline blitz::Array<double,1>& updateMean()
+    { return m_mean; }
+
+    /**
+     * Set the mean
+     */
+    void setMean(const blitz::Array<double,1> &mean);
+
+    /**
+     * Get the variance (the diagonal of the covariance matrix)
+     */
+    inline const blitz::Array<double,1>& getVariance() const
+    { return m_variance; }
+
+    /**
+     * Get the variance in order to be updated
+     * @warning Only trainers should use this function for efficiency reason
+     */
+    inline blitz::Array<double,1>& updateVariance()
+    { return m_variance; }
+
+    /**
+     * Set the variance
+     */
+    void setVariance(const blitz::Array<double,1> &variance);
+
+    /**
+     * Get the variance flooring thresholds
+     */
+    const blitz::Array<double,1>& getVarianceThresholds() const
+    { return m_variance_thresholds; }
+
+    /**
+     * Get the variance thresholds in order to be updated
+     * @warning Only trainers should use this function for efficiency reason
+     */
+    inline blitz::Array<double,1>& updateVarianceThreshods()
+    { return m_variance_thresholds; }
+
+    /**
+     * Set the variance flooring thresholds
+     */
+    void setVarianceThresholds(const blitz::Array<double,1> &variance_thresholds);
+
+    /**
+     * Set the variance flooring thresholds
+     */
+    void setVarianceThresholds(const double value);
+
+    /**
+     * Apply the variance flooring thresholds
+     * This method is called when using setVarianceThresholds()
+     * @warning It is only useful when using updateVarianceThreshods(),
+     * and should mostly be done by trainers
+     */
+    void applyVarianceThresholds();
+
+    /**
+     * Output the log likelihood of the sample, x
+     * @param x The data sample (feature vector)
+     */
+    double logLikelihood(const blitz::Array<double,1>& x) const;
+
+    /**
+     * Output the log likelihood of the sample, x
+     * @param x The data sample (feature vector)
+     * @warning The input is NOT checked
+     */
+    double logLikelihood_(const blitz::Array<double,1>& x) const;
+
+    /**
+     * Saves to a Configuration
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * Loads from a Configuration
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    /**
+     * Prints a Gaussian in the output stream
+     */
+    friend std::ostream& operator<<(std::ostream& os, const bob::learn::em::Gaussian& g);
+
+
+  private:
+    /**
+     * Copies another Gaussian
+     */
+    void copy(const Gaussian& other);
+
+    /**
+     * Computes n_inputs * log(2*pi)
+     */
+    void preComputeNLog2Pi();
+
+    /**
+     * Computes and stores the value of g_norm,
+     * to later speed up evaluation of logLikelihood()
+     * Note: g_norm is defined as follows:
+     * log(Gaussian pdf) = log(1/((2pi)^(k/2)(det)^(1/2)) * exp(...))
+     *                   = -1/2 * g_norm * (...)
+     */
+    void preComputeConstants();
+
+    /**
+     * The mean vector of the Gaussian
+     */
+    blitz::Array<double,1> m_mean;
+
+    /**
+     * The diagonal of the covariance matrix (assumed to be diagonal)
+     */
+    blitz::Array<double,1> m_variance;
+
+    /**
+     * The variance flooring thresholds, i.e. the minimum allowed
+     * value of variance in each dimension.
+     * The variance will be set to this value if an attempt is made
+     * to set it to a smaller value.
+     */
+    blitz::Array<double,1> m_variance_thresholds;
+
+    /**
+     * A constant that depends only on the feature dimensionality
+     * m_n_log2pi = n_inputs * log(2*pi) (used to compute m_gnorm)
+     */
+    double m_n_log2pi;
+
+    /**
+     * A constant that depends only on the feature dimensionality
+     * (m_n_inputs) and the variance
+     * @see bool preComputeConstants()
+     */
+    double m_g_norm;
+
+    /**
+     * The number of inputs (feature dimensionality)
+     */
+    size_t m_n_inputs;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_GAUSSIAN_H
diff --git a/bob/learn/em/include/bob.learn.em/ISVBase.h b/bob/learn/em/include/bob.learn.em/ISVBase.h
new file mode 100644
index 0000000..477d197
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/ISVBase.h
@@ -0,0 +1,228 @@
+/**
+ * @date Tue Jan 27 16:02:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief A base class for Joint Factor Analysis-like machines
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_ISVBASE_H
+#define BOB_LEARN_EM_ISVBASE_H
+
+#include <stdexcept>
+
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.learn.em/FABase.h>
+
+#include <bob.io.base/HDF5File.h>
+#include <boost/shared_ptr.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+
+/**
+ * @brief An ISV Base class which contains U and D matrices
+ * TODO: add a reference to the journal articles
+ */
+class ISVBase
+{
+  public:
+    /**
+     * @brief Default constructor. Builds an otherwise invalid 0 x 0 ISVBase
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     */
+    ISVBase();
+
+    /**
+     * @brief Constructor. Builds a new ISVBase.
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     *
+     * @param ubm The Universal Background Model
+     * @param ru size of U (CD x ru)
+     * @warning ru SHOULD BE >= 1.
+     */
+    ISVBase(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm, const size_t ru=1);
+
+    /**
+     * @brief Copy constructor
+     */
+    ISVBase(const ISVBase& other);
+
+    /**
+     * @deprecated Starts a new JFAMachine from an existing Configuration object.
+     */
+    ISVBase(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Just to virtualise the destructor
+     */
+    virtual ~ISVBase();
+
+    /**
+     * @brief Assigns from a different JFA machine
+     */
+    ISVBase& operator=(const ISVBase &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const ISVBase& b) const
+    { return m_base.operator==(b.m_base); }
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const ISVBase& b) const
+    { return m_base.operator!=(b.m_base); }
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const ISVBase& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const
+    { return m_base.is_similar_to(b.m_base, r_epsilon, a_epsilon); }
+
+    /**
+     * @brief Saves machine to an HDF5 file
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * @brief Loads data from an existing configuration object. Resets
+     * the current state.
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Returns the UBM
+     */
+    const boost::shared_ptr<bob::learn::em::GMMMachine> getUbm() const
+    { return m_base.getUbm(); }
+
+    /**
+     * @brief Returns the U matrix
+     */
+    const blitz::Array<double,2>& getU() const
+    { return m_base.getU(); }
+
+    /**
+     * @brief Returns the diagonal matrix diag(d) (as a 1D vector)
+     */
+    const blitz::Array<double,1>& getD() const
+    { return m_base.getD(); }
+
+    /**
+     * @brief Returns the number of Gaussian components C
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNGaussians() const
+    { return m_base.getNGaussians(); }
+
+    /**
+     * @brief Returns the feature dimensionality D
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNInputs() const
+    { return m_base.getNInputs(); }
+
+    /**
+     * @brief Returns the supervector length CD
+     * (CxD: Number of Gaussian components by the feature dimensionality)
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getSupervectorLength() const
+    { return m_base.getSupervectorLength(); }
+
+    /**
+     * @brief Returns the size/rank ru of the U matrix
+     */
+    const size_t getDimRu() const
+    { return m_base.getDimRu(); }
+
+    /**
+     * @brief Resets the dimensionality of the subspace U
+     * U is hence uninitialized.
+     */
+    void resize(const size_t ru)
+    { m_base.resize(ru, 1);
+      blitz::Array<double,2>& V = m_base.updateV();
+      V = 0;
+     }
+
+    /**
+     * @brief Returns the U matrix in order to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,2>& updateU()
+    { return m_base.updateU(); }
+
+    /**
+     * @brief Returns the diagonal matrix diag(d) (as a 1D vector) in order
+     * to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,1>& updateD()
+    { return m_base.updateD(); }
+
+
+    /**
+     * @brief Sets (the mean supervector of) the Universal Background Model
+     * U, V and d are uninitialized in case of dimensions update (C or D)
+     */
+    void setUbm(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm)
+    { m_base.setUbm(ubm); }
+
+    /**
+     * @brief Sets the U matrix
+     */
+    void setU(const blitz::Array<double,2>& U)
+    { m_base.setU(U); }
+
+    /**
+     * @brief Sets the diagonal matrix diag(d)
+     * (a 1D vector is expected as an argument)
+     */
+    void setD(const blitz::Array<double,1>& d)
+    { m_base.setD(d); }
+
+    /**
+     * @brief Estimates x from the GMM statistics considering the LPT
+     * assumption, that is the latent session variable x is approximated
+     * using the UBM
+     */
+    void estimateX(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& x) const
+    { m_base.estimateX(gmm_stats, x); }
+
+    /**
+     * @brief Precompute (put U^{T}.Sigma^{-1} matrix in cache)
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    void precompute()
+    { m_base.updateCacheUbmUVD(); }
+
+    /**
+     * @brief Returns the FABase member
+     */
+    const bob::learn::em::FABase& getBase() const
+    { return m_base; }
+
+
+  private:
+    // FABase
+    bob::learn::em::FABase m_base;
+};
+
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_JFABASE_H
diff --git a/bob/learn/em/include/bob.learn.em/ISVMachine.h b/bob/learn/em/include/bob.learn.em/ISVMachine.h
new file mode 100644
index 0000000..8b941bc
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/ISVMachine.h
@@ -0,0 +1,230 @@
+/**
+ * @date Tue Jan 27 16:06:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief A base class for Joint Factor Analysis-like machines
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_ISVMACHINE_H
+#define BOB_LEARN_EM_ISVMACHINE_H
+
+#include <stdexcept>
+
+#include <bob.learn.em/ISVBase.h>
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.learn.em/LinearScoring.h>
+
+#include <bob.io.base/HDF5File.h>
+#include <boost/shared_ptr.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+
+/**
+ * @brief A ISVMachine which is associated to a ISVBase that contains
+ *   U D matrices.
+ * TODO: add a reference to the journal articles
+ */
+class ISVMachine
+{
+  public:
+    /**
+     * @brief Default constructor. Builds an otherwise invalid 0 x 0 ISVMachine
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     */
+    ISVMachine();
+
+    /**
+     * @brief Constructor. Builds a new ISVMachine.
+     *
+     * @param isv_base The ISVBase associated with this machine
+     */
+    ISVMachine(const boost::shared_ptr<bob::learn::em::ISVBase> isv_base);
+
+    /**
+     * @brief Copy constructor
+     */
+    ISVMachine(const ISVMachine& other);
+
+    /**
+     * @brief Starts a new ISVMachine from an existing Configuration object.
+     */
+    ISVMachine(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Just to virtualise the destructor
+     */
+    virtual ~ISVMachine();
+
+    /**
+     * @brief Assigns from a different ISV machine
+     */
+    ISVMachine& operator=(const ISVMachine &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const ISVMachine& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const ISVMachine& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const ISVMachine& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Saves machine to an HDF5 file
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * @brief Loads data from an existing configuration object. Resets
+     * the current state.
+     */
+    void load(bob::io::base::HDF5File& config);
+
+
+    /**
+     * @brief Returns the number of Gaussian components C
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNGaussians() const
+    { return m_isv_base->getNGaussians(); }
+
+    /**
+     * @brief Returns the feature dimensionality D
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNInputs() const
+    { return m_isv_base->getNInputs(); }
+
+    /**
+     * @brief Returns the supervector length CD
+     * (CxD: Number of Gaussian components by the feature dimensionality)
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getSupervectorLength() const
+    { return m_isv_base->getSupervectorLength(); }
+
+    /**
+     * @brief Returns the size/rank ru of the U matrix
+     */
+    const size_t getDimRu() const
+    { return m_isv_base->getDimRu(); }
+
+    /**
+     * @brief Returns the x session factor
+     */
+    const blitz::Array<double,1>& getX() const
+    { return m_cache_x; }
+
+    /**
+     * @brief Returns the z speaker factor
+     */
+    const blitz::Array<double,1>& getZ() const
+    { return m_z; }
+
+    /**
+     * @brief Returns the z speaker factors in order to update it
+     */
+    blitz::Array<double,1>& updateZ()
+    { return m_z; }
+
+    /**
+     * @brief Returns the V matrix
+     */
+    void setZ(const blitz::Array<double,1>& z);
+
+    /**
+     * @brief Returns the ISVBase
+     */
+    const boost::shared_ptr<bob::learn::em::ISVBase> getISVBase() const
+    { return m_isv_base; }
+
+    /**
+     * @brief Sets the ISVBase
+     */
+    void setISVBase(const boost::shared_ptr<bob::learn::em::ISVBase> isv_base);
+
+
+    /**
+     * @brief Estimates x from the GMM statistics considering the LPT
+     * assumption, that is the latent session variable x is approximated
+     * using the UBM
+     */
+    void estimateX(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& x) const
+    { m_isv_base->estimateX(gmm_stats, x); }
+    /**
+     * @brief Estimates Ux from the GMM statistics considering the LPT
+     * assumption, that is the latent session variable x is approximated
+     * using the UBM
+     */
+    void estimateUx(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& Ux);
+
+   /**
+    * @brief Execute the machine
+    *
+    * @param input input data used by the machine
+    * @warning Inputs are checked
+    * @return score value computed by the machine    
+    */
+    double forward(const bob::learn::em::GMMStats& input);
+    /**
+     * @brief Computes a score for the given UBM statistics and given the
+     * Ux vector
+     */
+    double forward(const bob::learn::em::GMMStats& gmm_stats,
+      const blitz::Array<double,1>& Ux);
+
+    /**
+     * @brief Execute the machine
+     *
+     * @param input input data used by the machine
+     * @warning Inputs are NOT checked
+     * @return score value computed by the machine     
+     */
+    double forward_(const bob::learn::em::GMMStats& input);
+
+  private:
+    /**
+     * @brief Resize latent variable according to the ISVBase
+     */
+    void resize();
+    /**
+     * @ Update cache
+     */
+    void updateCache();
+    /**
+     * @brief Resize working arrays
+     */
+    void resizeTmp();
+
+    // UBM
+    boost::shared_ptr<bob::learn::em::ISVBase> m_isv_base;
+
+    // y and z vectors/factors learned during the enrolment procedure
+    blitz::Array<double,1> m_z;
+
+    // cache
+    blitz::Array<double,1> m_cache_mDz;
+    mutable blitz::Array<double,1> m_cache_x;
+
+    // x vector/factor in cache when computing scores
+    mutable blitz::Array<double,1> m_tmp_Ux;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_ISVMACHINE_H
diff --git a/bob/learn/em/include/bob.learn.em/ISVTrainer.h b/bob/learn/em/include/bob.learn.em/ISVTrainer.h
new file mode 100644
index 0000000..e314ad6
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/ISVTrainer.h
@@ -0,0 +1,154 @@
+/**
+ * @date Tue Jul 19 12:16:17 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief JFA functions
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_ISVTRAINER_H
+#define BOB_LEARN_EM_ISVTRAINER_H
+
+#include <blitz/array.h>
+#include <bob.learn.em/GMMStats.h>
+#include <bob.learn.em/FABaseTrainer.h>
+#include <bob.learn.em/ISVMachine.h>
+#include <vector>
+
+#include <map>
+#include <string>
+#include <bob.core/array_copy.h>
+#include <boost/shared_ptr.hpp>
+#include <boost/random.hpp>
+#include <bob.core/logging.h>
+
+namespace bob { namespace learn { namespace em {
+
+class ISVTrainer
+{
+  public:
+    /**
+     * @brief Constructor
+     */
+    ISVTrainer(const double relevance_factor=4.);
+
+    /**
+     * @brief Copy onstructor
+     */
+    ISVTrainer(const ISVTrainer& other);
+
+    /**
+     * @brief Destructor
+     */
+    virtual ~ISVTrainer();
+
+    /**
+     * @brief Assignment operator
+     */
+    ISVTrainer& operator=(const ISVTrainer& other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const ISVTrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const ISVTrainer& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const ISVTrainer& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief This methods performs some initialization before the EM loop.
+     */
+    virtual void initialize(bob::learn::em::ISVBase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+
+    /**
+     * @brief Calculates and saves statistics across the dataset
+     * The statistics will be used in the mStep() that follows.
+     */
+    virtual void eStep(bob::learn::em::ISVBase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+
+    /**
+     * @brief Performs a maximization step to update the parameters of the
+     * factor analysis model.
+     */
+    virtual void mStep(bob::learn::em::ISVBase& machine);
+
+    /**
+     * @brief Computes the average log likelihood using the current estimates
+     * of the latent variables.
+     */
+    virtual double computeLikelihood(bob::learn::em::ISVBase& machine);
+
+    /**
+     * @brief Enrol a client
+     */
+    void enrol(bob::learn::em::ISVMachine& machine,
+      const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& features,
+      const size_t n_iter);
+
+    /**
+     * @brief Get the x speaker factors
+     */
+    const std::vector<blitz::Array<double,2> >& getX() const
+    { return m_base_trainer.getX(); }
+    /**
+     * @brief Get the z speaker factors
+     */
+    const std::vector<blitz::Array<double,1> >& getZ() const
+    { return m_base_trainer.getZ(); }
+    /**
+     * @brief Set the x speaker factors
+     */
+    void setX(const std::vector<blitz::Array<double,2> >& X)
+    { m_base_trainer.setX(X); }
+    /**
+     * @brief Set the z speaker factors
+     */
+    void setZ(const std::vector<blitz::Array<double,1> >& z)
+    { m_base_trainer.setZ(z); }
+
+    /**
+     * @brief Getters for the accumulators
+     */
+    const blitz::Array<double,3>& getAccUA1() const
+    { return m_base_trainer.getAccUA1(); }
+    const blitz::Array<double,2>& getAccUA2() const
+    { return m_base_trainer.getAccUA2(); }
+
+    /**
+     * @brief Setters for the accumulators, Very useful if the e-Step needs
+     * to be parallelized.
+     */
+    void setAccUA1(const blitz::Array<double,3>& acc)
+    { m_base_trainer.setAccUA1(acc); }
+    void setAccUA2(const blitz::Array<double,2>& acc)
+    { m_base_trainer.setAccUA2(acc); }
+
+
+  private:
+    /**
+     * @brief Initialize D to sqrt(ubm_var/relevance_factor)
+     */
+    void initializeD(bob::learn::em::ISVBase& machine) const;
+
+    // Attributes
+    bob::learn::em::FABaseTrainer m_base_trainer;
+
+    double m_relevance_factor;
+
+    boost::shared_ptr<boost::mt19937> m_rng; ///< The random number generator for the inialization};
+};
+
+} } } // namespaces
+
+#endif /* BOB_LEARN_EM_ISVTRAINER_H */
diff --git a/bob/learn/em/include/bob.learn.em/IVectorMachine.h b/bob/learn/em/include/bob.learn.em/IVectorMachine.h
new file mode 100644
index 0000000..59c6749
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/IVectorMachine.h
@@ -0,0 +1,274 @@
+/**
+ * @date Sat Mar 30 20:55:00 2013 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_IVECTOR_MACHINE_H
+#define BOB_LEARN_EM_IVECTOR_MACHINE_H
+
+#include <blitz/array.h>
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.learn.em/GMMStats.h>
+#include <bob.io.base/HDF5File.h>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief An IVectorMachine consists of a Total Variability subspace \f$T\f$
+ *   and allows the extraction of IVector\n
+ * Reference:\n
+ * "Front-End Factor Analysis For Speaker Verification",
+ *    N. Dehak, P. Kenny, R. Dehak, P. Dumouchel, P. Ouellet,
+ *   IEEE Trans. on Audio, Speech and Language Processing
+ */
+class IVectorMachine
+{
+  public:
+    /**
+     * @brief Default constructor. Builds an IVectorMachine.
+     * The Universal Background Model and the matrices \f$T\f$ and
+     * \f$diag(\Sigma)\f$ are not initialized.
+     */
+    IVectorMachine();
+
+    /**
+     * @brief Constructor. Builds a new IVectorMachine.
+     * The Universal Background Model and the matrices \f$T\f$ and
+     * \f$diag(\Sigma)\f$ are not initialized.
+     *
+     * @param ubm The Universal Background Model
+     * @param rt size of \f$T\f$ (CD x rt)
+     * @param variance_threshold variance flooring threshold for the
+     *   \f$\Sigma\f$ (diagonal) matrix
+     * @warning rt SHOULD BE >= 1.
+     */
+    IVectorMachine(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm,
+      const size_t rt=1, const double variance_threshold=1e-10);
+
+    /**
+     * @brief Copy constructor
+     */
+    IVectorMachine(const IVectorMachine& other);
+
+    /**
+     * @brief Starts a new IVectorMachine from an existing Configuration object.
+     */
+    IVectorMachine(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Destructor
+     */
+    virtual ~IVectorMachine();
+
+    /**
+     * @brief Assigns from a different IVectorMachine
+     */
+    IVectorMachine& operator=(const IVectorMachine &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const IVectorMachine& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const IVectorMachine& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const IVectorMachine& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Saves model to an HDF5 file
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * @brief Loads data from an existing configuration object. Resets
+     * the current state.
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Returns the UBM
+     */
+    const boost::shared_ptr<bob::learn::em::GMMMachine> getUbm() const
+    { return m_ubm; }
+
+    /**
+     * @brief Returns the \f$T\f$ matrix
+     */
+    const blitz::Array<double,2>& getT() const
+    { return m_T; }
+
+    /**
+     * @brief Returns the \f$\Sigma\f$ (diagonal) matrix as a 1D array
+     */
+    const blitz::Array<double,1>& getSigma() const
+    { return m_sigma; }
+
+    /**
+     * @brief Gets the variance flooring threshold
+     */
+    const double getVarianceThreshold() const
+    { return m_variance_threshold; }
+
+    /**
+     * @brief Returns the number of Gaussian components C.
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNGaussians() const
+    { return m_ubm->getNGaussians(); }
+
+    /**
+     * @brief Returns the feature dimensionality D.
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNInputs() const
+    { return m_ubm->getNInputs(); }
+
+    /**
+     * @brief Returns the supervector length CD.
+     * (CxD: Number of Gaussian components by the feature dimensionality)
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getSupervectorLength() const
+    { return m_ubm->getNGaussians()*m_ubm->getNInputs(); }
+
+    /**
+     * @brief Returns the size/rank rt of the \f$T\f$ matrix
+     */
+    const size_t getDimRt() const
+    { return m_rt; }
+
+    /**
+     * @brief Resets the dimensionality of the subspace \f$T\f$.
+     * \f$T\f$ is hence uninitialized.
+     */
+    void resize(const size_t rt);
+
+    /**
+     * @brief Returns the \f$T\f$ matrix in order to update it.
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,2>& updateT()
+    { return m_T; }
+
+    /**
+     * @brief Returns the \f$\Sigma\f$ (diagonal) matrix in order to update it.
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,1>& updateSigma()
+    { return m_sigma; }
+
+    /**
+     * @brief Sets (the mean supervector of) the Universal Background Model.
+     * \f$T\f$ and \f$\Sigma\f$ are uninitialized in case of dimensions update (C or D)
+     */
+    void setUbm(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm);
+
+    /**
+     * @brief Sets the \f$T\f$ matrix
+     */
+    void setT(const blitz::Array<double,2>& T);
+
+    /**
+     * @brief Sets the \f$\Sigma\f$ (diagonal) matrix
+     */
+    void setSigma(const blitz::Array<double,1>& sigma);
+
+    /**
+     * @brief Set the variance flooring threshold
+     */
+    void setVarianceThreshold(const double value);
+
+    /**
+     * @brief Update arrays in cache
+     * @warning It is only useful when using updateT() or updateSigma()
+     * and should mostly be done by trainers
+     */
+    void precompute();
+
+    /**
+     * @brief Computes \f$(Id + \sum_{c=1}^{C} N_{i,j,c} T^{T} \Sigma_{c}^{-1} T)\f$
+     * @warning No check is perform
+     */
+    void computeIdTtSigmaInvT(const bob::learn::em::GMMStats& input, blitz::Array<double,2>& output) const;
+
+    /**
+     * @brief Computes \f$T^{T} \Sigma^{-1} \sum_{c=1}^{C} (F_c - N_c ubmmean_{c})\f$
+     * @warning No check is perform
+     */
+    void computeTtSigmaInvFnorm(const bob::learn::em::GMMStats& input, blitz::Array<double,1>& output) const;
+
+    /**
+     * @brief Extracts an ivector from the input GMM statistics
+     *
+     * @param input GMM statistics to be used by the machine
+     * @param output I-vector computed by the machine
+     */
+    void forward(const bob::learn::em::GMMStats& input, blitz::Array<double,1>& output) const;
+
+    /**
+     * @brief Extracts an ivector from the input GMM statistics
+     *
+     * @param input GMM statistics to be used by the machine
+     * @param output I-vector computed by the machine
+     * @warning Inputs are NOT checked
+     */
+    void forward_(const bob::learn::em::GMMStats& input, blitz::Array<double,1>& output) const;
+
+  private:
+    /**
+     * @brief Apply the variance flooring thresholds.
+     * This method is called when using setVarianceThresholds()
+     */
+    void applyVarianceThreshold();
+
+    /**
+     * @brief Resize cache
+     */
+    void resizeCache();
+    /**
+     * @brief Resize working arrays
+     */
+    void resizeTmp();
+    /**
+     * @brief Resize cache and working arrays before updating cache
+     */
+    void resizePrecompute();
+
+    // UBM
+    boost::shared_ptr<bob::learn::em::GMMMachine> m_ubm;
+
+    // dimensionality
+    size_t m_rt; ///< size of \f$T\f$ (CD x rt)
+
+    ///< \f$T\f$ and \f$Sigma\f$ matrices.
+    ///< \f$Sigma\f$ is assumed to be diagonal, and only the diagonal is stored
+    blitz::Array<double,2> m_T; ///< The total variability matrix \f$T\f$
+    blitz::Array<double,1> m_sigma; ///< The diagonal covariance matrix \f$\Sigma\f$
+    double m_variance_threshold; ///< The variance flooring threshold
+
+    blitz::Array<double,3> m_cache_Tct_sigmacInv;
+    blitz::Array<double,3> m_cache_Tct_sigmacInv_Tc;
+
+    mutable blitz::Array<double,1> m_tmp_d;
+    mutable blitz::Array<double,1> m_tmp_t1;
+    mutable blitz::Array<double,1> m_tmp_t2;
+    mutable blitz::Array<double,2> m_tmp_tt;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_IVECTOR_MACHINE_H
diff --git a/bob/learn/em/include/bob.learn.em/IVectorTrainer.h b/bob/learn/em/include/bob.learn.em/IVectorTrainer.h
new file mode 100644
index 0000000..4d90627
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/IVectorTrainer.h
@@ -0,0 +1,152 @@
+/**
+ * @date Sat Mar 30 20:55:00 2013 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_IVECTOR_TRAINER_H
+#define BOB_LEARN_EM_IVECTOR_TRAINER_H
+
+#include <blitz/array.h>
+#include <bob.learn.em/IVectorMachine.h>
+#include <bob.learn.em/GMMStats.h>
+#include <boost/shared_ptr.hpp>
+#include <vector>
+#include <bob.core/array_copy.h>
+#include <boost/random.hpp>
+
+#include <boost/random/mersenne_twister.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief An IVectorTrainer to learn a Total Variability subspace \f$T\f$
+ *  (and eventually a covariance matrix \f$\Sigma\f$).\n
+ * Reference:\n
+ * "Front-End Factor Analysis For Speaker Verification",
+ *    N. Dehak, P. Kenny, R. Dehak, P. Dumouchel, P. Ouellet,
+ *   IEEE Trans. on Audio, Speech and Language Processing
+ */
+class IVectorTrainer
+{
+  public:
+    /**
+     * @brief Default constructor. Builds an IVectorTrainer
+     */
+    IVectorTrainer(const bool update_sigma=false);
+
+    /**
+     * @brief Copy constructor
+     */
+    IVectorTrainer(const IVectorTrainer& other);
+
+    /**
+     * @brief Destructor
+     */
+    virtual ~IVectorTrainer();
+
+    /**
+     * @brief Initialization before the EM loop
+     */
+    virtual void initialize(bob::learn::em::IVectorMachine& ivector);
+
+    /**
+     * @brief Calculates statistics across the dataset,
+     * and saves these as:
+     * - m_acc_Nij_wij2
+     * - m_acc_Fnormij_wij
+     * - m_acc_Nij (only if update_sigma is enabled)
+     * - m_acc_Snormij (only if update_sigma is enabled)
+     *
+     * These statistics will be used in the mStep() that follows.
+     */
+    virtual void eStep(bob::learn::em::IVectorMachine& ivector,
+      const std::vector<bob::learn::em::GMMStats>& data);
+
+    /**
+     * @brief Maximisation step: Update the Total Variability matrix \f$T\f$
+     * and \f$\Sigma\f$ if update_sigma is enabled.
+     */
+    virtual void mStep(bob::learn::em::IVectorMachine& ivector);
+
+
+    /**
+     * @brief Assigns from a different IVectorTrainer
+     */
+    IVectorTrainer& operator=(const IVectorTrainer &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const IVectorTrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const IVectorTrainer& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const IVectorTrainer& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Getters for the accumulators
+     */
+    const blitz::Array<double,3>& getAccNijWij2() const
+    { return m_acc_Nij_wij2; }
+    const blitz::Array<double,3>& getAccFnormijWij() const
+    { return m_acc_Fnormij_wij; }
+    const blitz::Array<double,1>& getAccNij() const
+    { return m_acc_Nij; }
+    const blitz::Array<double,2>& getAccSnormij() const
+    { return m_acc_Snormij; }
+
+    /**
+     * @brief Setters for the accumulators, Very useful if the e-Step needs
+     * to be parallelized.
+     */
+    void setAccNijWij2(const blitz::Array<double,3>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_Nij_wij2);
+      m_acc_Nij_wij2 = acc; }
+    void setAccFnormijWij(const blitz::Array<double,3>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_Fnormij_wij);
+      m_acc_Fnormij_wij = acc; }
+    void setAccNij(const blitz::Array<double,1>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_Nij);
+      m_acc_Nij = acc; }
+    void setAccSnormij(const blitz::Array<double,2>& acc)
+    { bob::core::array::assertSameShape(acc, m_acc_Snormij);
+      m_acc_Snormij = acc; }
+
+  protected:
+    // Attributes
+    bool m_update_sigma;
+
+    // Acccumulators
+    blitz::Array<double,3> m_acc_Nij_wij2;
+    blitz::Array<double,3> m_acc_Fnormij_wij;
+    blitz::Array<double,1> m_acc_Nij;
+    blitz::Array<double,2> m_acc_Snormij;
+
+    // Working arrays
+    mutable blitz::Array<double,1> m_tmp_wij;
+    mutable blitz::Array<double,2> m_tmp_wij2;
+    mutable blitz::Array<double,1> m_tmp_d1;
+    mutable blitz::Array<double,1> m_tmp_t1;
+    mutable blitz::Array<double,2> m_tmp_dd1;
+    mutable blitz::Array<double,2> m_tmp_dt1;
+    mutable blitz::Array<double,2> m_tmp_tt1;
+    mutable blitz::Array<double,2> m_tmp_tt2;
+    
+    /**
+     * @brief The random number generator for the inialization
+     */
+    boost::shared_ptr<boost::mt19937> m_rng;    
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_IVECTOR_TRAINER_H
diff --git a/bob/learn/em/include/bob.learn.em/JFABase.h b/bob/learn/em/include/bob.learn.em/JFABase.h
new file mode 100644
index 0000000..c75cec8
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/JFABase.h
@@ -0,0 +1,253 @@
+/**
+ * @date Tue Jan 27 15:54:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief A base class for Joint Factor Analysis-like machines
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_JFABASE_H
+#define BOB_LEARN_EM_JFABASE_H
+
+#include <stdexcept>
+
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.learn.em/FABase.h>
+//#include <bob.learn.em/LinearScoring.h>
+
+#include <bob.io.base/HDF5File.h>
+#include <boost/shared_ptr.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+
+/**
+ * @brief A JFA Base class which contains U, V and D matrices
+ * TODO: add a reference to the journal articles
+ */
+class JFABase
+{
+  public:
+    /**
+     * @brief Default constructor. Builds a 1 x 1 JFABase
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     */
+    JFABase();
+
+    /**
+     * @brief Constructor. Builds a new JFABase.
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     *
+     * @param ubm The Universal Background Model
+     * @param ru size of U (CD x ru)
+     * @param rv size of U (CD x rv)
+     * @warning ru and rv SHOULD BE  >= 1.
+     */
+    JFABase(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm, const size_t ru=1, const size_t rv=1);
+
+    /**
+     * @brief Copy constructor
+     */
+    JFABase(const JFABase& other);
+
+    /**
+     * @deprecated Starts a new JFAMachine from an existing Configuration object.
+     */
+    JFABase(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Just to virtualise the destructor
+     */
+    virtual ~JFABase();
+
+    /**
+     * @brief Assigns from a different JFA machine
+     */
+    JFABase& operator=(const JFABase &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const JFABase& b) const
+    { return m_base.operator==(b.m_base); }
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const JFABase& b) const
+    { return m_base.operator!=(b.m_base); }
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const JFABase& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const
+    { return m_base.is_similar_to(b.m_base, r_epsilon, a_epsilon); }
+
+    /**
+     * @brief Saves model to an HDF5 file
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * @brief Loads data from an existing configuration object. Resets
+     * the current state.
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Returns the UBM
+     */
+    const boost::shared_ptr<bob::learn::em::GMMMachine> getUbm() const
+    { return m_base.getUbm(); }
+
+    /**
+     * @brief Returns the U matrix
+     */
+    const blitz::Array<double,2>& getU() const
+    { return m_base.getU(); }
+
+    /**
+     * @brief Returns the V matrix
+     */
+    const blitz::Array<double,2>& getV() const
+    { return m_base.getV(); }
+
+    /**
+     * @brief Returns the diagonal matrix diag(d) (as a 1D vector)
+     */
+    const blitz::Array<double,1>& getD() const
+    { return m_base.getD(); }
+
+    /**
+     * @brief Returns the number of Gaussian components
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNGaussians() const
+    { return m_base.getNGaussians();}
+
+    /**
+     * @brief Returns the feature dimensionality D
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNInputs() const
+    { return m_base.getNInputs(); }
+
+    /**
+     * @brief Returns the supervector length CD
+     * (CxD: Number of Gaussian components by the feature dimensionality)
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getSupervectorLength() const
+    { return m_base.getSupervectorLength(); }
+
+    /**
+     * @brief Returns the size/rank ru of the U matrix
+     */
+    const size_t getDimRu() const
+    { return m_base.getDimRu(); }
+
+    /**
+     * @brief Returns the size/rank rv of the V matrix
+     */
+    const size_t getDimRv() const
+    { return m_base.getDimRv(); }
+
+    /**
+     * @brief Resets the dimensionality of the subspace U and V
+     * U and V are hence uninitialized.
+     */
+    void resize(const size_t ru, const size_t rv)
+    { m_base.resize(ru, rv); }
+
+    /**
+     * @brief Returns the U matrix in order to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,2>& updateU()
+    { return m_base.updateU(); }
+
+    /**
+     * @brief Returns the V matrix in order to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,2>& updateV()
+    { return m_base.updateV(); }
+
+    /**
+     * @brief Returns the diagonal matrix diag(d) (as a 1D vector) in order
+     * to update it
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    blitz::Array<double,1>& updateD()
+    { return m_base.updateD(); }
+
+
+    /**
+     * @brief Sets (the mean supervector of) the Universal Background Model
+     * U, V and d are uninitialized in case of dimensions update (C or D)
+     */
+    void setUbm(const boost::shared_ptr<bob::learn::em::GMMMachine> ubm)
+    { m_base.setUbm(ubm); }
+
+    /**
+     * @brief Sets the U matrix
+     */
+    void setU(const blitz::Array<double,2>& U)
+    { m_base.setU(U); }
+
+    /**
+     * @brief Sets the V matrix
+     */
+    void setV(const blitz::Array<double,2>& V)
+    { m_base.setV(V); }
+
+    /**
+     * @brief Sets the diagonal matrix diag(d)
+     * (a 1D vector is expected as an argument)
+     */
+    void setD(const blitz::Array<double,1>& d)
+    { m_base.setD(d); }
+
+    /**
+     * @brief Estimates x from the GMM statistics considering the LPT
+     * assumption, that is the latent session variable x is approximated
+     * using the UBM
+     */
+    void estimateX(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& x) const
+    { m_base.estimateX(gmm_stats, x); }
+
+    /**
+     * @brief Precompute (put U^{T}.Sigma^{-1} matrix in cache)
+     * @warning Should only be used by the trainer for efficiency reason,
+     *   or for testing purpose.
+     */
+    void precompute()
+    { m_base.updateCacheUbmUVD(); }
+
+    /**
+     * @brief Returns the FABase member
+     */
+    const bob::learn::em::FABase& getBase() const
+    { return m_base; }
+
+
+  private:
+    // FABase
+    bob::learn::em::FABase m_base;
+};
+
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_JFABASE_H
diff --git a/bob/learn/em/include/bob.learn.em/JFAMachine.h b/bob/learn/em/include/bob.learn.em/JFAMachine.h
new file mode 100644
index 0000000..6569b85
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/JFAMachine.h
@@ -0,0 +1,254 @@
+/**
+ * @date Tue Jan 27 16:47:00 2015 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief A base class for Joint Factor Analysis-like machines
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_JFAMACHINE_H
+#define BOB_LEARN_EM_JFAMACHINE_H
+
+#include <stdexcept>
+
+#include <bob.learn.em/JFABase.h>
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.learn.em/LinearScoring.h>
+
+#include <bob.io.base/HDF5File.h>
+#include <boost/shared_ptr.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+
+/**
+ * @brief A JFAMachine which is associated to a JFABase that contains
+ *   U, V and D matrices. The JFAMachine describes the identity part
+ *   (latent variables y and z)
+ * TODO: add a reference to the journal articles
+ */
+class JFAMachine
+{
+  public:
+    /**
+     * @brief Default constructor. Builds an otherwise invalid 0 x 0 JFAMachine
+     * The Universal Background Model and the matrices U, V and diag(d) are
+     * not initialized.
+     */
+    JFAMachine();
+
+    /**
+     * @brief Constructor. Builds a new JFAMachine.
+     *
+     * @param jfa_base The JFABase associated with this machine
+     */
+    JFAMachine(const boost::shared_ptr<bob::learn::em::JFABase> jfa_base);
+
+    /**
+     * @brief Copy constructor
+     */
+    JFAMachine(const JFAMachine& other);
+
+    /**
+     * @deprecated Starts a new JFAMachine from an existing Configuration object.
+     */
+    JFAMachine(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Just to virtualise the destructor
+     */
+    virtual ~JFAMachine();
+
+    /**
+     * @brief Assigns from a different JFA machine
+     */
+    JFAMachine& operator=(const JFAMachine &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const JFAMachine& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const JFAMachine& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const JFAMachine& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Saves machine to an HDF5 file
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * @brief Loads data from an existing configuration object. Resets
+     * the current state.
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Returns the number of Gaussian components C
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNGaussians() const
+    { return m_jfa_base->getNGaussians(); }
+
+    /**
+     * @brief Returns the feature dimensionality D
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getNInputs() const
+    { return m_jfa_base->getNInputs(); }
+
+    /**
+     * @brief Returns the supervector length CD
+     * (CxD: Number of Gaussian components by the feature dimensionality)
+     * @warning An exception is thrown if no Universal Background Model has
+     *   been set yet.
+     */
+    const size_t getSupervectorLength() const
+    { return m_jfa_base->getSupervectorLength(); }
+
+    /**
+     * @brief Returns the size/rank ru of the U matrix
+     */
+    const size_t getDimRu() const
+    { return m_jfa_base->getDimRu(); }
+
+    /**
+     * @brief Returns the size/rank rv of the V matrix
+     */
+    const size_t getDimRv() const
+    { return m_jfa_base->getDimRv(); }
+
+    /**
+     * @brief Returns the x session factor
+     */
+    const blitz::Array<double,1>& getX() const
+    { return m_cache_x; }
+
+    /**
+     * @brief Returns the y speaker factor
+     */
+    const blitz::Array<double,1>& getY() const
+    { return m_y; }
+
+    /**
+     * @brief Returns the z speaker factor
+     */
+    const blitz::Array<double,1>& getZ() const
+    { return m_z; }
+
+    /**
+     * @brief Returns the y speaker factors in order to update it
+     */
+    blitz::Array<double,1>& updateY()
+    { return m_y; }
+
+    /**
+     * @brief Returns the z speaker factors in order to update it
+     */
+    blitz::Array<double,1>& updateZ()
+    { return m_z; }
+
+    /**
+     * @brief Returns the y speaker factors
+     */
+    void setY(const blitz::Array<double,1>& y);
+
+    /**
+     * @brief Returns the V matrix
+     */
+    void setZ(const blitz::Array<double,1>& z);
+
+    /**
+     * @brief Returns the JFABase
+     */
+    const boost::shared_ptr<bob::learn::em::JFABase> getJFABase() const
+    { return m_jfa_base; }
+
+    /**
+     * @brief Sets the JFABase
+     */
+    void setJFABase(const boost::shared_ptr<bob::learn::em::JFABase> jfa_base);
+
+
+    /**
+     * @brief Estimates x from the GMM statistics considering the LPT
+     * assumption, that is the latent session variable x is approximated
+     * using the UBM
+     */
+    void estimateX(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& x) const
+    { m_jfa_base->estimateX(gmm_stats, x); }
+    /**
+     * @brief Estimates Ux from the GMM statistics considering the LPT
+     * assumption, that is the latent session variable x is approximated
+     * using the UBM
+     */
+    void estimateUx(const bob::learn::em::GMMStats& gmm_stats, blitz::Array<double,1>& Ux);
+
+   /**
+    * @brief Execute the machine
+    *
+    * @param input input data used by the machine
+    * @warning Inputs are checked
+    * @return score value computed by the machine
+    */
+    double forward(const bob::learn::em::GMMStats& input);
+    /**
+     * @brief Computes a score for the given UBM statistics and given the
+     * Ux vector
+     */
+    double forward(const bob::learn::em::GMMStats& gmm_stats,
+      const blitz::Array<double,1>& Ux);
+
+    /**
+     * @brief Execute the machine
+     *
+     * @param input input data used by the machine
+     * @param score value computed by the machine
+     * @warning Inputs are NOT checked
+     */
+    double forward_(const bob::learn::em::GMMStats& input);
+
+  private:
+    /**
+     * @brief Resize latent variable according to the JFABase
+     */
+    void resize();
+    /**
+     * @brief Resize working arrays
+     */
+    void resizeTmp();
+    /**
+     * @brief Update the cache
+     */
+    void updateCache();
+
+    // UBM
+    boost::shared_ptr<bob::learn::em::JFABase> m_jfa_base;
+
+    // y and z vectors/factors learned during the enrolment procedure
+    blitz::Array<double,1> m_y;
+    blitz::Array<double,1> m_z;
+
+    // cache
+    blitz::Array<double,1> m_cache_mVyDz;
+    mutable blitz::Array<double,1> m_cache_x;
+
+    // x vector/factor in cache when computing scores
+    mutable blitz::Array<double,1> m_tmp_Ux;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_JFAMACHINE_H
diff --git a/bob/learn/em/include/bob.learn.em/JFATrainer.h b/bob/learn/em/include/bob.learn.em/JFATrainer.h
new file mode 100644
index 0000000..07c0646
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/JFATrainer.h
@@ -0,0 +1,238 @@
+/**
+ * @date Tue Jul 19 12:16:17 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief JFA functions
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_JFATRAINER_H
+#define BOB_LEARN_EM_JFATRAINER_H
+
+#include <blitz/array.h>
+#include <bob.learn.em/GMMStats.h>
+#include <bob.learn.em/FABaseTrainer.h>
+#include <bob.learn.em/JFAMachine.h>
+#include <vector>
+
+#include <map>
+#include <string>
+#include <bob.core/array_copy.h>
+#include <boost/shared_ptr.hpp>
+#include <boost/random.hpp>
+#include <bob.core/logging.h>
+
+namespace bob { namespace learn { namespace em {
+
+class JFATrainer
+{
+  public:
+    /**
+     * @brief Constructor
+     */
+    JFATrainer();
+
+    /**
+     * @brief Copy onstructor
+     */
+    JFATrainer(const JFATrainer& other);
+
+    /**
+     * @brief Destructor
+     */
+    virtual ~JFATrainer();
+
+    /**
+     * @brief Assignment operator
+     */
+    JFATrainer& operator=(const JFATrainer& other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const JFATrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const JFATrainer& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const JFATrainer& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Sets the maximum number of EM-like iterations (for each subspace)
+     */
+    //void setMaxIterations(const size_t max_iterations)
+    //{ m_max_iterations = max_iterations; }
+
+    /**
+     * @brief Gets the maximum number of EM-like iterations (for each subspace)
+     */
+    //size_t getMaxIterations() const
+    //{ return m_max_iterations; }
+
+    /**
+     * @brief This methods performs some initialization before the EM loop.
+     */
+    virtual void initialize(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+
+    /**
+     * @brief This methods performs the e-Step to train the first subspace V
+     */
+    virtual void eStep1(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the m-Step to train the first subspace V
+     */
+    virtual void mStep1(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the finalization after training the first
+     * subspace V
+     */
+    virtual void finalize1(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the e-Step to train the second subspace U
+     */
+    virtual void eStep2(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the m-Step to train the second subspace U
+     */
+    virtual void mStep2(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the finalization after training the second
+     * subspace U
+     */
+    virtual void finalize2(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the e-Step to train the third subspace d
+     */
+    virtual void eStep3(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the m-Step to train the third subspace d
+     */
+    virtual void mStep3(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods performs the finalization after training the third
+     * subspace d
+     */
+    virtual void finalize3(bob::learn::em::JFABase& machine,
+      const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+
+    /**
+     * @brief This methods performs the main loops to train the subspaces U, V and d
+     */
+    //virtual void train_loop(bob::learn::em::JFABase& machine,
+      //const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+    /**
+     * @brief This methods trains the subspaces U, V and d
+     */
+    //virtual void train(bob::learn::em::JFABase& machine,
+      //const std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& ar);
+
+    /**
+     * @brief Enrol a client
+     */
+    void enrol(bob::learn::em::JFAMachine& machine,
+      const std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& features,
+      const size_t n_iter);
+
+    /**
+     * @brief Sets the Random Number Generator
+     */
+    void setRng(const boost::shared_ptr<boost::mt19937> rng)
+    { m_rng = rng; }
+
+    /**
+     * @brief Gets the Random Number Generator
+     */
+    const boost::shared_ptr<boost::mt19937> getRng() const
+    { return m_rng; }
+
+    /**
+     * @brief Get the x speaker factors
+     */
+    const std::vector<blitz::Array<double,2> >& getX() const
+    { return m_base_trainer.getX(); }
+    /**
+     * @brief Get the y speaker factors
+     */
+    const std::vector<blitz::Array<double,1> >& getY() const
+    { return m_base_trainer.getY(); }
+    /**
+     * @brief Get the z speaker factors
+     */
+    const std::vector<blitz::Array<double,1> >& getZ() const
+    { return m_base_trainer.getZ(); }
+    /**
+     * @brief Set the x speaker factors
+     */
+    void setX(const std::vector<blitz::Array<double,2> >& X)
+    { m_base_trainer.setX(X); }
+    /**
+     * @brief Set the y speaker factors
+     */
+    void setY(const std::vector<blitz::Array<double,1> >& y)
+    { m_base_trainer.setY(y); }
+    /**
+     * @brief Set the z speaker factors
+     */
+    void setZ(const std::vector<blitz::Array<double,1> >& z)
+    { m_base_trainer.setZ(z); }
+
+    /**
+     * @brief Getters for the accumulators
+     */
+    const blitz::Array<double,3>& getAccVA1() const
+    { return m_base_trainer.getAccVA1(); }
+    const blitz::Array<double,2>& getAccVA2() const
+    { return m_base_trainer.getAccVA2(); }
+    const blitz::Array<double,3>& getAccUA1() const
+    { return m_base_trainer.getAccUA1(); }
+    const blitz::Array<double,2>& getAccUA2() const
+    { return m_base_trainer.getAccUA2(); }
+    const blitz::Array<double,1>& getAccDA1() const
+    { return m_base_trainer.getAccDA1(); }
+    const blitz::Array<double,1>& getAccDA2() const
+    { return m_base_trainer.getAccDA2(); }
+
+    /**
+     * @brief Setters for the accumulators, Very useful if the e-Step needs
+     * to be parallelized.
+     */
+    void setAccVA1(const blitz::Array<double,3>& acc)
+    { m_base_trainer.setAccVA1(acc); }
+    void setAccVA2(const blitz::Array<double,2>& acc)
+    { m_base_trainer.setAccVA2(acc); }
+    void setAccUA1(const blitz::Array<double,3>& acc)
+    { m_base_trainer.setAccUA1(acc); }
+    void setAccUA2(const blitz::Array<double,2>& acc)
+    { m_base_trainer.setAccUA2(acc); }
+    void setAccDA1(const blitz::Array<double,1>& acc)
+    { m_base_trainer.setAccDA1(acc); }
+    void setAccDA2(const blitz::Array<double,1>& acc)
+    { m_base_trainer.setAccDA2(acc); }
+
+
+  private:
+    // Attributes
+    //size_t m_max_iterations;
+    boost::shared_ptr<boost::mt19937> m_rng; ///< The random number generator for the inialization
+    bob::learn::em::FABaseTrainer m_base_trainer;
+};
+
+} } } // namespaces
+
+#endif /* BOB_LEARN_EM_JFATRAINER_H */
diff --git a/bob/learn/em/include/bob.learn.em/KMeansMachine.h b/bob/learn/em/include/bob.learn.em/KMeansMachine.h
new file mode 100644
index 0000000..2c8113a
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/KMeansMachine.h
@@ -0,0 +1,244 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+#ifndef BOB_LEARN_EM_KMEANSMACHINE_H
+#define BOB_LEARN_EM_KMEANSMACHINE_H
+
+#include <blitz/array.h>
+#include <cfloat>
+
+#include <bob.io.base/HDF5File.h>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class implements a k-means classifier.
+ * @details See Section 9.1 of Bishop, "Pattern recognition and machine learning", 2006
+ */
+class KMeansMachine {
+  public:
+    /**
+     * Default constructor. Builds an otherwise invalid 0 x 0 k-means
+     * machine. This is equivalent to construct a LinearMachine with two
+     * size_t parameters set to 0, as in LinearMachine(0, 0).
+     */
+    KMeansMachine();
+
+    /**
+     * Constructor
+     * @param[in] n_means  The number of means
+     * @param[in] n_inputs The feature dimensionality
+     */
+    KMeansMachine(const size_t n_means, const size_t n_inputs);
+
+    /**
+     * Builds a new machine with the given means. Each row of the means
+     * matrix should represent a mean.
+     */
+    KMeansMachine(const blitz::Array<double,2>& means);
+
+    /**
+     * Copies another machine (copy constructor)
+     */
+    KMeansMachine(const KMeansMachine& other);
+
+    /**
+     * Starts a new KMeansMachine from an existing Configuration object.
+     */
+    KMeansMachine(bob::io::base::HDF5File& config);
+
+    /**
+     * Destructor
+     */
+    virtual ~KMeansMachine();
+
+    /**
+     * Assigns from a different machine
+     */
+    KMeansMachine& operator=(const KMeansMachine& other);
+
+    /**
+     * Equal to
+     */
+    bool operator==(const KMeansMachine& b) const;
+
+    /**
+     * Not equal to
+     */
+    bool operator!=(const KMeansMachine& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const KMeansMachine& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * Loads data from an existing configuration object. Resets the current
+     * state.
+     */
+    void load(bob::io::base::HDF5File& config);
+
+    /**
+     * Saves an existing machine to a Configuration object.
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * Output the minimum (Square Euclidean) distance between the input and
+     * one of the means (overrides Machine::forward)
+     */
+    void forward(const blitz::Array<double,1>& input, double& output) const;
+
+    /**
+     * Output the minimum (Square Euclidean) distance between the input and
+     * one of the means (overrides Machine::forward_)
+     * @warning Inputs are NOT checked
+     */
+    void forward_(const blitz::Array<double,1>& input, double& output) const;
+
+
+    /**
+     * Set the means
+     */
+    void setMeans(const blitz::Array<double,2>& means);
+
+    /**
+     * Set the i'th mean
+     */
+    void setMean(const size_t i, const blitz::Array<double,1>& mean);
+
+    /**
+     * Get a mean
+     * @param[in]   i    The index of the mean
+     * @param[out] mean The mean, a 1D array, with a length equal to the number of feature dimensions.
+     */
+    const blitz::Array<double,1> getMean(const size_t i) const;
+
+    /**
+     * Get the means (i.e. a 2D array, with as many rows as means, and as
+     * many columns as feature dimensions.)
+     */
+    const blitz::Array<double,2>& getMeans() const
+    { return m_means; }
+
+     /**
+     * Get the means in order to be updated (i.e. a 2D array, with as many
+     * rows as means, and as many columns as feature dimensions.)
+     * @warning Only trainers should use this function for efficiency reasons
+     */
+    blitz::Array<double,2>& updateMeans()
+    { return m_means; }
+
+    /**
+     * Return the power of two of the (Square Euclidean) distance of the
+     * sample, x, to the i'th mean
+     * @param x The data sample (feature vector)
+     * @param i The index of the mean
+     */
+    double getDistanceFromMean(const blitz::Array<double,1>& x,
+      const size_t i) const;
+
+    /**
+     * Calculate the index of the mean that is closest
+     * (in terms of Square Euclidean distance) to the data sample, x
+     * @param x The data sample (feature vector)
+     * @param closest_mean (output) The index of the mean closest to the sample
+     * @param min_distance (output) The distance of the sample from the closest mean
+     */
+    void getClosestMean(const blitz::Array<double,1>& x,
+      size_t &closest_mean, double &min_distance) const;
+
+    /**
+     * Output the minimum (Square Euclidean) distance between the input and
+     * one of the means
+     */
+    double getMinDistance(const blitz::Array<double,1>& input) const;
+
+    /**
+     * For each mean, find the subset of the samples
+     * that is closest to that mean, and calculate
+     * 1) the variance of that subset (the cluster variance)
+     * 2) the proportion of the samples represented by that subset (the cluster weight)
+     * @param[in]  data      The data
+     * @param[out] variances The cluster variances (one row per cluster),
+     *                       with as many columns as feature dimensions.
+     * @param[out] weights   A vector of weights, one per cluster
+     */
+    void getVariancesAndWeightsForEachCluster(const blitz::Array<double,2> &data, blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const;
+    /**
+     * Methods consecutively called by getVariancesAndWeightsForEachCluster()
+     * This should help for the parallelization on several nodes by splitting the data and calling
+     * getVariancesAndWeightsForEachClusterAcc() for each split. In this case, there is a need to sum
+     * with the m_cache_means, variances, and weights variables before performing the merge on one
+     * node using getVariancesAndWeightsForEachClusterFin().
+     */
+    void getVariancesAndWeightsForEachClusterInit(blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const;
+    void getVariancesAndWeightsForEachClusterAcc(const blitz::Array<double,2> &data, blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const;
+    void getVariancesAndWeightsForEachClusterFin(blitz::Array<double,2>& variances, blitz::Array<double,1>& weights) const;
+
+    /**
+     * Get the m_cache_means array.
+     * @warning This variable should only be used in the case you want to parallelize the
+     * getVariancesAndWeightsForEachCluster() method!
+     */
+    const blitz::Array<double,2>& getCacheMeans() const
+    { return m_cache_means; }
+
+    /**
+     * Set the m_cache_means array.
+     * @warning This variable should only be used in the case you want to parallelize the
+     * getVariancesAndWeightsForEachCluster() method!
+     */
+    void setCacheMeans(const blitz::Array<double,2>& cache_means);
+
+    /**
+     * Resize the means
+     */
+    void resize(const size_t n_means, const size_t n_inputs);
+
+    /**
+     * Return the number of means
+     */
+    size_t getNMeans() const { return m_n_means; }
+
+    /**
+     * Return the number of inputs
+     */
+    size_t getNInputs() const { return m_n_inputs; }
+
+    /**
+     * Prints a KMeansMachine in the output stream
+     */
+    friend std::ostream& operator<<(std::ostream& os, const KMeansMachine& km);
+
+
+  private:
+     /**
+     * The number of means
+     */
+    size_t m_n_means;
+
+    /**
+     * The number of inputs
+     */
+    size_t m_n_inputs;
+
+    /**
+     * The means (each row is a mean)
+     */
+    blitz::Array<double,2> m_means;
+
+    /**
+     * cache to avoid re-allocation
+     */
+    mutable blitz::Array<double,2> m_cache_means;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_KMEANSMACHINE_H
diff --git a/bob/learn/em/include/bob.learn.em/KMeansTrainer.h b/bob/learn/em/include/bob.learn.em/KMeansTrainer.h
new file mode 100644
index 0000000..e3d53a5
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/KMeansTrainer.h
@@ -0,0 +1,187 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+#ifndef BOB_LEARN_EM_KMEANSTRAINER_H
+#define BOB_LEARN_EM_KMEANSTRAINER_H
+
+#include <bob.learn.em/KMeansMachine.h>
+#include <boost/version.hpp>
+#include <boost/random/mersenne_twister.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * Trains a KMeans machine.
+ * @brief This class implements the expectation-maximisation algorithm for a k-means machine.
+ * @details See Section 9.1 of Bishop, "Pattern recognition and machine learning", 2006
+ *          It uses a random initialisation of the means followed by the expectation-maximization algorithm
+ */
+class KMeansTrainer
+{
+  public:
+    /**
+     * @brief This enumeration defines different initialization methods for
+     * K-means
+     */
+    typedef enum {
+      RANDOM=0,
+      RANDOM_NO_DUPLICATE
+#if BOOST_VERSION >= 104700
+      ,
+      KMEANS_PLUS_PLUS
+#endif
+    }
+    InitializationMethod;
+
+    /**
+     * @brief Constructor
+     */
+    KMeansTrainer(InitializationMethod=RANDOM);
+
+    /*     
+    KMeansTrainer(double convergence_threshold=0.001,
+      size_t max_iterations=10, bool compute_likelihood=true,
+      InitializationMethod=RANDOM);*/
+      
+
+    /**
+     * @brief Virtualize destructor
+     */
+    virtual ~KMeansTrainer() {}
+
+    /**
+     * @brief Copy constructor
+     */
+    KMeansTrainer(const KMeansTrainer& other);
+
+    /**
+     * @brief Assigns from a different machine
+     */
+    KMeansTrainer& operator=(const KMeansTrainer& other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const KMeansTrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const KMeansTrainer& b) const;
+
+    /**
+     * @brief The name for this trainer
+     */
+    virtual std::string name() const { return "KMeansTrainer"; }
+
+    /**
+     * @brief Initialise the means randomly.
+     * Data is split into as many chunks as there are means,
+     * then each mean is set to a random example within each chunk.
+     */
+    void initialize(bob::learn::em::KMeansMachine& kMeansMachine,
+      const blitz::Array<double,2>& sampler);
+
+    /**
+     * @brief Accumulate across the dataset:
+     * - zeroeth and first order statistics
+     * - average (Square Euclidean) distance from the closest mean
+     * Implements EMTrainer::eStep(double &)
+     */
+    void eStep(bob::learn::em::KMeansMachine& kmeans,
+      const blitz::Array<double,2>& data);
+
+    /**
+     * @brief Updates the mean based on the statistics from the E-step.
+     */
+    void mStep(bob::learn::em::KMeansMachine& kmeans);
+
+    /**
+     * @brief This functions returns the average min (Square Euclidean)
+     * distance (average distance to the closest mean)
+     */
+    double computeLikelihood(bob::learn::em::KMeansMachine& kmeans);
+
+
+    /**
+     * @brief Reset the statistics accumulators
+     * to the correct size and a value of zero.
+     */
+    bool resetAccumulators(bob::learn::em::KMeansMachine& kMeansMachine);
+
+    /**
+     * @brief Sets the Random Number Generator
+     */
+    void setRng(const boost::shared_ptr<boost::mt19937> rng)
+    { m_rng = rng; }
+
+    /**
+     * @brief Gets the Random Number Generator
+     */
+    const boost::shared_ptr<boost::mt19937> getRng() const
+    { return m_rng; }
+
+    /**
+     * @brief Sets the initialization method used to generate the initial means
+     */
+    void setInitializationMethod(InitializationMethod v) { m_initialization_method = v; }
+
+    /**
+     * @brief Gets the initialization method used to generate the initial means
+     */
+    InitializationMethod getInitializationMethod() const { return m_initialization_method; }
+
+    /**
+     * @brief Returns the internal statistics. Useful to parallelize the E-step
+     */
+    const blitz::Array<double,1>& getZeroethOrderStats() const { return m_zeroethOrderStats; }
+    const blitz::Array<double,2>& getFirstOrderStats() const { return m_firstOrderStats; }
+    double getAverageMinDistance() const { return m_average_min_distance; }
+    /**
+     * @brief Sets the internal statistics. Useful to parallelize the E-step
+     */
+    void setZeroethOrderStats(const blitz::Array<double,1>& zeroethOrderStats);
+    void setFirstOrderStats(const blitz::Array<double,2>& firstOrderStats);
+    void setAverageMinDistance(const double value) { m_average_min_distance = value; }
+
+
+  private:
+  
+    /**
+     * @brief The initialization method
+     * Check that there is no duplicated means during the random initialization
+     */
+    InitializationMethod m_initialization_method;
+
+    /**
+     * @brief The random number generator for the inialization
+     */
+    boost::shared_ptr<boost::mt19937> m_rng;
+
+    /**
+     * @brief Average min (Square Euclidean) distance
+     */
+    double m_average_min_distance;
+
+    /**
+     * @brief Zeroeth order statistics accumulator.
+     * The k'th value in m_zeroethOrderStats is the denominator of
+     * equation 9.4, Bishop, "Pattern recognition and machine learning", 2006
+     */
+    blitz::Array<double,1> m_zeroethOrderStats;
+
+    /**
+     * @brief First order statistics accumulator.
+     * The k'th row of m_firstOrderStats is the numerator of
+     * equation 9.4, Bishop, "Pattern recognition and machine learning", 2006
+     */
+    blitz::Array<double,2> m_firstOrderStats;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_KMEANSTRAINER_H
diff --git a/bob/learn/em/include/bob.learn.em/LinearScoring.h b/bob/learn/em/include/bob.learn.em/LinearScoring.h
new file mode 100644
index 0000000..822922c
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/LinearScoring.h
@@ -0,0 +1,98 @@
+/**
+ * @date Wed Jul 13 16:00:04 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+#ifndef BOB_LEARN_EM_LINEARSCORING_H
+#define BOB_LEARN_EM_LINEARSCORING_H
+
+#include <blitz/array.h>
+#include <boost/shared_ptr.hpp>
+#include <vector>
+#include <bob.learn.em/GMMMachine.h>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * Compute a matrix of scores using linear scoring.
+ *
+ * @warning Each GMM must have the same size.
+ *
+ * @param models        list of mean supervector for the client models
+ * @param ubm_mean      mean supervector of the world model
+ * @param ubm_variance  variance supervector of the world model
+ * @param test_stats    list of accumulate statistics for each test trial
+ * @param test_channelOffset  list of channel offset if any (for JFA/ISA for instance)
+ * @param frame_length_normalisation   perform a normalisation by the number of feature vectors
+ * @param[out] scores 2D matrix of scores, <tt>scores[m, s]</tt> is the score for model @c m against statistics @c s
+ * @warning the output scores matrix should have the correct size (number of models x number of test_stats)
+ */
+void linearScoring(const std::vector<blitz::Array<double,1> >& models,
+                   const blitz::Array<double,1>& ubm_mean, const blitz::Array<double,1>& ubm_variance,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const std::vector<blitz::Array<double, 1> >& test_channelOffset,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double,2>& scores);
+void linearScoring(const std::vector<blitz::Array<double,1> >& models,
+                   const blitz::Array<double,1>& ubm_mean, const blitz::Array<double,1>& ubm_variance,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double,2>& scores);
+
+/**
+ * Compute a matrix of scores using linear scoring.
+ *
+ * @warning Each GMM must have the same size.
+ *
+ * @param models      list of client models as GMMMachines
+ * @param ubm         world model as a GMMMachine
+ * @param test_stats  list of accumulate statistics for each test trial
+ * @param frame_length_normalisation   perform a normalisation by the number of feature vectors
+ * @param[out] scores 2D matrix of scores, <tt>scores[m, s]</tt> is the score for model @c m against statistics @c s
+ * @warning the output scores matrix should have the correct size (number of models x number of test_stats)
+ */
+void linearScoring(const std::vector<boost::shared_ptr<const bob::learn::em::GMMMachine> >& models,
+                   const bob::learn::em::GMMMachine& ubm,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double,2>& scores);
+/**
+ * Compute a matrix of scores using linear scoring.
+ *
+ * @warning Each GMM must have the same size.
+ *
+ * @param models      list of client models as GMMMachines
+ * @param ubm         world model as a GMMMachine
+ * @param test_stats  list of accumulate statistics for each test trial
+ * @param test_channelOffset  list of channel offset if any (for JFA/ISA for instance)
+ * @param frame_length_normalisation   perform a normalisation by the number of feature vectors
+ * @param[out] scores 2D matrix of scores, <tt>scores[m, s]</tt> is the score for model @c m against statistics @c s
+ * @warning the output scores matrix should have the correct size (number of models x number of test_stats)
+ */
+void linearScoring(const std::vector<boost::shared_ptr<const bob::learn::em::GMMMachine> >& models,
+                   const bob::learn::em::GMMMachine& ubm,
+                   const std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& test_stats,
+                   const std::vector<blitz::Array<double, 1> >& test_channelOffset,
+                   const bool frame_length_normalisation,
+                   blitz::Array<double,2>& scores);
+
+/**
+ * Compute a score using linear scoring.
+ *
+ * @param model         mean supervector for the client model
+ * @param ubm_mean      mean supervector of the world model
+ * @param ubm_variance  variance supervector of the world model
+ * @param test_stats    accumulate statistics of the test trial
+ * @param test_channelOffset  channel offset
+ * @param frame_length_normalisation   perform a normalisation by the number of feature vectors
+ */
+double linearScoring(const blitz::Array<double,1>& model,
+                   const blitz::Array<double,1>& ubm_mean, const blitz::Array<double,1>& ubm_variance,
+                   const bob::learn::em::GMMStats& test_stats,
+                   const blitz::Array<double,1>& test_channelOffset,
+                   const bool frame_length_normalisation);
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_LINEARSCORING_H
diff --git a/bob/learn/em/include/bob.learn.em/MAP_GMMTrainer.h b/bob/learn/em/include/bob.learn.em/MAP_GMMTrainer.h
new file mode 100644
index 0000000..7d30b26
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/MAP_GMMTrainer.h
@@ -0,0 +1,170 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * @brief This class implements the maximum a posteriori M-step of the expectation-maximisation algorithm for a GMM Machine. The prior parameters are encoded in the form of a GMM (e.g. a universal background model). The EM algorithm thus performs GMM adaptation.
+ * @details See Section 3.4 of Reynolds et al., "Speaker Verification Using Adapted Gaussian Mixture Models", Digital Signal Processing, 2000. We use a "single adaptation coefficient", alpha_i, and thus a single relevance factor, r.
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_MAP_GMMTRAINER_H
+#define BOB_LEARN_EM_MAP_GMMTRAINER_H
+
+#include <bob.learn.em/GMMBaseTrainer.h>
+#include <limits>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class implements the maximum a posteriori M-step of the expectation-maximisation algorithm for a GMM Machine. The prior parameters are encoded in the form of a GMM (e.g. a universal background model). The EM algorithm thus performs GMM adaptation.
+ * @details See Section 3.4 of Reynolds et al., "Speaker Verification Using Adapted Gaussian Mixture Models", Digital Signal Processing, 2000. We use a "single adaptation coefficient", alpha_i, and thus a single relevance factor, r.
+ */
+class MAP_GMMTrainer
+{
+  public:
+    /**
+     * @brief Default constructor
+     */
+    MAP_GMMTrainer(
+      const bool update_means=true,
+      const bool update_variances=false, 
+      const bool update_weights=false,
+      const double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon(),
+      const bool reynolds_adaptation=false, 
+      const double relevance_factor=4, 
+      const double alpha=0.5,
+      boost::shared_ptr<bob::learn::em::GMMMachine> prior_gmm = 0);
+
+    /**
+     * @brief Copy constructor
+     */
+    MAP_GMMTrainer(const MAP_GMMTrainer& other);
+
+    /**
+     * @brief Destructor
+     */
+    virtual ~MAP_GMMTrainer();
+
+    /**
+     * @brief Initialization
+     */
+    void initialize(bob::learn::em::GMMMachine& gmm);
+
+    /**
+     * @brief Assigns from a different MAP_GMMTrainer
+     */
+    MAP_GMMTrainer& operator=(const MAP_GMMTrainer &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const MAP_GMMTrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const MAP_GMMTrainer& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const MAP_GMMTrainer& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Set the GMM to use as a prior for MAP adaptation.
+     * Generally, this is a "universal background model" (UBM),
+     * also referred to as a "world model".
+     */
+    bool setPriorGMM(boost::shared_ptr<bob::learn::em::GMMMachine> prior_gmm);
+
+    /**
+     * @brief Calculates and saves statistics across the dataset,
+     * and saves these as m_ss. Calculates the average
+     * log likelihood of the observations given the GMM,
+     * and returns this in average_log_likelihood.
+     *
+     * The statistics, m_ss, will be used in the mStep() that follows.
+     * Implements EMTrainer::eStep(double &)
+     */
+     void eStep(bob::learn::em::GMMMachine& gmm,
+      const blitz::Array<double,2>& data){
+      m_gmm_base_trainer.eStep(gmm,data);
+     }
+
+
+    /**
+     * @brief Performs a maximum a posteriori (MAP) update of the GMM
+     * parameters using the accumulated statistics in m_ss and the
+     * parameters of the prior model
+     * Implements EMTrainer::mStep()
+     */
+    void mStep(bob::learn::em::GMMMachine& gmm);
+
+    /**
+     * @brief Computes the likelihood using current estimates of the latent
+     * variables
+     */
+    double computeLikelihood(bob::learn::em::GMMMachine& gmm){
+      return m_gmm_base_trainer.computeLikelihood(gmm);
+    }    
+    
+    bool getReynoldsAdaptation()
+    {return m_reynolds_adaptation;}
+
+    void setReynoldsAdaptation(const bool reynolds_adaptation)
+    {m_reynolds_adaptation = reynolds_adaptation;}
+    
+
+    double getRelevanceFactor()
+    {return m_relevance_factor;}
+
+    void setRelevanceFactor(const double relevance_factor)
+    {m_relevance_factor = relevance_factor;}
+
+
+    double getAlpha()
+    {return m_alpha;}
+
+    void setAlpha(const double alpha)
+    {m_alpha = alpha;}
+
+
+  protected:
+
+    /**
+     * The relevance factor for MAP adaptation, r (see Reynolds et al., \"Speaker Verification Using Adapted Gaussian Mixture Models\", Digital Signal Processing, 2000).
+     */
+    double m_relevance_factor;
+
+    /**
+    Base Trainer for the MAP algorithm. Basically implements the e-step
+    */ 
+    bob::learn::em::GMMBaseTrainer m_gmm_base_trainer;
+
+    /**
+     * The GMM to use as a prior for MAP adaptation.
+     * Generally, this is a "universal background model" (UBM),
+     * also referred to as a "world model"
+     */
+    boost::shared_ptr<bob::learn::em::GMMMachine> m_prior_gmm;
+
+    /**
+     * The alpha for the Torch3-like adaptation
+     */
+    double m_alpha;
+    /**
+     * Whether Torch3-like adaptation should be used or not
+     */
+    bool m_reynolds_adaptation;
+
+  private:
+    /// cache to avoid re-allocation
+    mutable blitz::Array<double,1> m_cache_alpha;
+    mutable blitz::Array<double,1> m_cache_ml_weights;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_MAP_GMMTRAINER_H
diff --git a/bob/learn/em/include/bob.learn.em/ML_GMMTrainer.h b/bob/learn/em/include/bob.learn.em/ML_GMMTrainer.h
new file mode 100644
index 0000000..58e8a76
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/ML_GMMTrainer.h
@@ -0,0 +1,119 @@
+/**
+ * @date Tue May 10 11:35:58 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ *
+ * @brief This class implements the maximum likelihood M-step of the expectation-maximisation algorithm for a GMM Machine.
+ * @details See Section 9.2.2 of Bishop, "Pattern recognition and machine learning", 2006
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_ML_GMMTRAINER_H
+#define BOB_LEARN_EM_ML_GMMTRAINER_H
+
+#include <bob.learn.em/GMMBaseTrainer.h>
+#include <limits>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class implements the maximum likelihood M-step of the
+ *   expectation-maximisation algorithm for a GMM Machine.
+ * @details See Section 9.2.2 of Bishop,
+ *  "Pattern recognition and machine learning", 2006
+ */
+class ML_GMMTrainer{
+  public:
+    /**
+     * @brief Default constructor
+     */
+    ML_GMMTrainer(const bool update_means=true,
+                  const bool update_variances=false, 
+                  const bool update_weights=false,
+                  const double mean_var_update_responsibilities_threshold = std::numeric_limits<double>::epsilon());
+
+    /**
+     * @brief Copy constructor
+     */
+    ML_GMMTrainer(const ML_GMMTrainer& other);
+
+    /**
+     * @brief Destructor
+     */
+    virtual ~ML_GMMTrainer();
+
+    /**
+     * @brief Initialisation before the EM steps
+     */
+    void initialize(bob::learn::em::GMMMachine& gmm);
+
+    /**
+     * @brief Calculates and saves statistics across the dataset,
+     * and saves these as m_ss. Calculates the average
+     * log likelihood of the observations given the GMM,
+     * and returns this in average_log_likelihood.
+     *
+     * The statistics, m_ss, will be used in the mStep() that follows.
+     * Implements EMTrainer::eStep(double &)
+     */
+     void eStep(bob::learn::em::GMMMachine& gmm,
+      const blitz::Array<double,2>& data){
+      m_gmm_base_trainer.eStep(gmm,data);
+     }
+
+    /**
+     * @brief Performs a maximum likelihood (ML) update of the GMM parameters
+     * using the accumulated statistics in m_ss
+     * Implements EMTrainer::mStep()
+     */
+    void mStep(bob::learn::em::GMMMachine& gmm);
+
+    /**
+     * @brief Computes the likelihood using current estimates of the latent
+     * variables
+     */
+    double computeLikelihood(bob::learn::em::GMMMachine& gmm){
+      return m_gmm_base_trainer.computeLikelihood(gmm);
+    }
+
+
+    /**
+     * @brief Assigns from a different ML_GMMTrainer
+     */
+    ML_GMMTrainer& operator=(const ML_GMMTrainer &other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const ML_GMMTrainer& b) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const ML_GMMTrainer& b) const;
+
+    /**
+     * @brief Similar to
+     */
+    bool is_similar_to(const ML_GMMTrainer& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+      
+    
+  protected:
+
+    /**
+    Base Trainer for the MAP algorithm. Basically implements the e-step
+    */ 
+    bob::learn::em::GMMBaseTrainer m_gmm_base_trainer;
+
+
+  private:
+    /**
+     * @brief Add cache to avoid re-allocation at each iteration
+     */
+    mutable blitz::Array<double,1> m_cache_ss_n_thresholded;
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_ML_GMMTRAINER_H
diff --git a/bob/learn/em/include/bob.learn.em/PLDAMachine.h b/bob/learn/em/include/bob.learn.em/PLDAMachine.h
new file mode 100644
index 0000000..4f6362d
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/PLDAMachine.h
@@ -0,0 +1,702 @@
+/**
+ * @date Fri Oct 14 18:07:56 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief Machines that implements the Probabilistic Linear Discriminant
+ *   Analysis Model of Prince and Helder,
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_PLDAMACHINE_H
+#define BOB_LEARN_EM_PLDAMACHINE_H
+
+#include <blitz/array.h>
+#include <bob.io.base/HDF5File.h>
+#include <map>
+#include <iostream>
+#include <stdexcept>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class is a container for the \f$F\f$, \f$G\f$ and \f$\Sigma\f$
+ * matrices and the mean vector \f$\mu\f$ of a PLDA model. This also
+ * precomputes useful matrices to make the model scalable.\n
+ * References:\n
+ * 1. 'A Scalable Formulation of Probabilistic Linear Discriminant Analysis:
+ *     Applied to Face Recognition', Laurent El Shafey, Chris McCool,
+ *     Roy Wallace, Sebastien Marcel, TPAMI'2013
+ * 2. 'Probabilistic Linear Discriminant Analysis for Inference About
+ *     Identity', Prince and Elder, ICCV'2007\n
+ * 3. 'Probabilistic Models for Inference about Identity', Li, Fu, Mohammed,
+ *     Elder and Prince, TPAMI'2012
+ */
+class PLDABase
+{
+  public:
+    /**
+     * @brief Default constructor.\n Builds an otherwise invalid 0x0x0
+     * PLDABase.
+     */
+    PLDABase();
+    /**
+     * @brief Constructor, builds a new PLDABase.\n \f$F\f$, \f$G\f$
+     * and \f$\Sigma\f$ are initialized to the 'eye' matrix (matrix with 1's
+     * on the diagonal and 0 outside), and \f$\mu\f$ is initialized to 0.
+     *
+     * @param dim_d Dimensionality of the feature vector
+     * @param dim_f size of \f$F\f$ (dim_d x dim_f)
+     * @param dim_g size of \f$G\f$ (dim_d x dim_g)
+     * @param variance_threshold The smallest possible value of the variance
+     *                           (Ignored if set to 0.)
+     */
+    PLDABase(const size_t dim_d, const size_t dim_f,
+      const size_t dim_g, const double variance_threshold=0.);
+    /**
+     * @brief Copies another PLDABase
+     */
+    PLDABase(const PLDABase& other);
+    /**
+     * @brief Starts a new PLDABase from an existing configuration
+     * object.
+     * @param config HDF5 configuration file
+     */
+    PLDABase(bob::io::base::HDF5File& config);
+
+    /**
+     * @brief Just to virtualize the destructor
+     */
+    virtual ~PLDABase();
+
+    /**
+     * @brief Assigns from a different PLDABase
+     */
+    PLDABase& operator=(const PLDABase &other);
+
+    /**
+     * @brief Equal to.\n Even precomputed members such as \f$\alpha\f$,
+     * \f$\beta\f$ and \f$\gamma_a\f$'s are compared!
+     */
+    bool operator==(const PLDABase& b) const;
+    /**
+     * @brief Not equal to.\n Defined as the negation of operator==
+     */
+    bool operator!=(const PLDABase& b) const;
+    /**
+     * @brief Similar to.\n Even precomputed members such as \f$\alpha\f$,
+     * \f$\beta\f$ and \f$\gamma_a\f$'s are compared!
+     */
+    bool is_similar_to(const PLDABase& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Loads data from an existing configuration object. Resets the
+     * current state.
+     * @param config HDF5 configuration file
+     */
+    void load(bob::io::base::HDF5File& config);
+    /**
+     * @brief Saves an existing machine to a configuration object.
+     * @param config HDF5 configuration file
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * @brief Resizes the PLDABase.
+     * @warning \f$F\f$, \f$G\f$, \f$\Sigma\f$, \f$\mu\f$ and the variance
+     * flooring thresholds will be reinitialized!
+     * @param dim_d Dimensionality of the feature vector
+     * @param dim_f Rank of \f$F\f$ (dim_d x dim_f)
+     * @param dim_g Rank of \f$G\f$ (dim_d x dim_g)
+     */
+    void resize(const size_t dim_d, const size_t dim_f, const size_t dim_g);
+
+    /**
+     * @brief Gets the \f$F\f$ subspace/matrix of the PLDA model
+     */
+    const blitz::Array<double,2>& getF() const
+    { return m_F; }
+    /**
+     * @brief Sets the \f$F\f$ subspace/matrix of the PLDA model
+     */
+    void setF(const blitz::Array<double,2>& F);
+    /**
+     * @brief Returns the current \f$F\f$ matrix/subspace of the PLDA model
+     * in order to be updated.
+     * @warning Use with care. Only trainers should use this function for
+     * efficiency reasons.
+     */
+    blitz::Array<double,2>& updateF()
+    { return m_F; }
+
+    /**
+     * @brief Gets the \f$G\f$ subspace/matrix of the PLDA model
+     */
+    const blitz::Array<double,2>& getG() const
+    { return m_G; }
+    /**
+     * @brief Sets the \f$G\f$ subspace/matrix of the PLDA model
+     */
+    void setG(const blitz::Array<double,2>& G);
+    /**
+     * @brief Returns the current \f$G\f$ subspace/matrix of the PLDA model
+     * in order to be updated.
+     * @warning Use with care. Only trainers should use this function for
+     * efficiency reasons.
+     */
+    blitz::Array<double,2>& updateG()
+    { return m_G; }
+
+    /**
+     * @brief Gets the \f$\Sigma\f$ (diagonal) covariance matrix of the PLDA
+     * model
+     */
+    const blitz::Array<double,1>& getSigma() const
+    { return m_sigma; }
+    /**
+     * @brief Sets the \f$\Sigma\f$ (diagonal) covariance matrix of the PLDA
+     * model
+     */
+    void setSigma(const blitz::Array<double,1>& s);
+    /**
+     * @brief Returns the current \f$\Sigma\f$ (diagonal) covariance matrix of
+     * the PLDA model in order to be updated.
+     * @warning Use with care. Only trainers should use this function for
+     * efficiency reasons. Variance threshold should be applied after
+     * updating \f$\Sigma\f$!
+     */
+    blitz::Array<double,1>& updateSigma()
+    { return m_sigma; }
+
+    /**
+     * @brief Gets the \f$\mu\f$ mean vector of the PLDA model
+     */
+    const blitz::Array<double,1>& getMu() const
+    { return m_mu; }
+    /**
+     * @brief Sets the \f$\mu\f$ mean vector of the PLDA model
+     */
+    void setMu(const blitz::Array<double,1>& mu);
+    /**
+     * @brief Returns the current \f$\mu\f$ mean vector of the PLDA model
+     * in order to be updated.
+     * @warning Use with care. Only trainers should use this function for
+     * efficiency reasons.
+     */
+    blitz::Array<double,1>& updateMu()
+    { return m_mu; }
+
+    /**
+     * @brief Gets the variance flooring threshold
+     */
+    double getVarianceThreshold() const
+    { return m_variance_threshold; }
+    /**
+     * @brief Sets the variance flooring threshold
+     */
+    void setVarianceThreshold(const double value);
+    /**
+     * @brief Apply the variance flooring thresholds.
+     * This method is automatically called when using setVarianceThresholds().
+     * @warning It is only useful when using updateVarianceThreshods(),
+     * and should mostly be done by trainers
+     */
+    void applyVarianceThreshold();
+
+    /**
+     * @brief Gets the feature dimensionality
+     */
+    size_t getDimD() const
+    { return m_dim_d; }
+    /**
+     * @brief Gets the size/rank the \f$F\f$ subspace/matrix of the PLDA model
+     */
+    size_t getDimF() const
+    { return m_dim_f; }
+    /**
+     * @brief Gets the size/rank the \f$G\f$ subspace/matrix of the PLDA model
+     */
+    size_t getDimG() const
+    { return m_dim_g; }
+
+    /**
+     * @brief Precomputes useful values such as \f$\Sigma^{-1}\f$,
+     * \f$G^{T}\Sigma^{-1}\f$, \f$\alpha\f$, \f$\beta\f$, and
+     * \f$F^{T}\beta\f$.
+     * @warning Previous \f$\gamma_a\f$ values and log likelihood constant
+     * terms are cleared.
+     */
+    void precompute();
+    /**
+     * @brief Precomputes useful values for the log likelihood
+     * \f$\log(\det(\alpha))\f$ and \f$\log(\det(\Sigma))\f$.
+     */
+    void precomputeLogLike();
+    /**
+     * @brief Gets the inverse vector/diagonal matrix of \f$\Sigma^{-1}\f$
+     */
+    const blitz::Array<double,1>& getISigma() const
+    { return m_cache_isigma; }
+    /**
+     * @brief Gets the \f$\alpha\f$ matrix.
+     * \f$\alpha = (Id + G^T \Sigma^{-1} G)^{-1} = \mathcal{G}\f$
+     */
+    const blitz::Array<double,2>& getAlpha() const
+    { return m_cache_alpha; }
+    /**
+     * @brief Gets the \f$\beta\f$ matrix
+     * \f$\beta = (\Sigma + G G^T)^{-1} = \mathcal{S} =
+     *    \Sigma^{-1} - \Sigma^{-1} G \mathcal{G} G^{T} \Sigma^{-1}\f$
+     */
+    const blitz::Array<double,2>& getBeta() const
+    { return m_cache_beta; }
+    /**
+     * @brief Gets the \f$\gamma_a\f$ matrix for a given \f$a\f$ (number of
+     * samples).
+     * \f$\gamma_{a} = (Id + a F^T \beta F)^{-1} = \mathcal{F}_{a}\f$
+     * @warning an exception is thrown if \f$\gamma_a\f$ does not exists
+     */
+    const blitz::Array<double,2>& getGamma(const size_t a) const;
+    /**
+     * @brief Gets the \f$\gamma_a\f$ matrix for a given \f$a\f$ (number of
+     * samples).
+     * \f$\gamma_a = (Id + a F^T \beta F)^{-1} = \mathcal{F}_{a}\f$
+     * @warning The matrix is computed if it does not already exists
+     */
+    const blitz::Array<double,2>& getAddGamma(const size_t a);
+    /**
+     * @brief Gets the \f$F^T \beta\f$ matrix
+     */
+    const blitz::Array<double,2>& getFtBeta() const
+    { return m_cache_Ft_beta; }
+    /**
+     * @brief Gets the \f$G^T \Sigma^{-1}\f$ matrix
+     */
+    const blitz::Array<double,2>& getGtISigma() const
+    { return m_cache_Gt_isigma; }
+    /**
+     * @brief Gets \f$\log(\det(\alpha))\f$
+     */
+    double getLogDetAlpha() const
+    { return m_cache_logdet_alpha; }
+    /**
+     * @brief Gets \f$\log(\det(\Sigma))\f$
+     */
+    double getLogDetSigma() const
+    { return m_cache_logdet_sigma; }
+    /**
+     * @brief Computes the log likelihood constant term for a given \f$a\f$
+     * (number of samples), given the provided \f$\gamma_a\f$ matrix
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     */
+    double computeLogLikeConstTerm(const size_t a,
+      const blitz::Array<double,2>& gamma_a) const;
+    /**
+     * @brief Computes the log likelihood constant term for a given \f$a\f$
+     * (number of samples)
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     * @warning: gamma_a will be computed and added if it does
+     *  not already exists
+     */
+    double computeLogLikeConstTerm(const size_t a);
+    /**
+     * @brief Tells if the log likelihood constant term for a given \f$a\f$
+     * (number of samples) exists
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     */
+    bool hasLogLikeConstTerm(const size_t a) const
+    { return (m_cache_loglike_constterm.find(a) != m_cache_loglike_constterm.end()); }
+    /**
+     * @brief Gets the log likelihood constant term for a given \f$a\f$
+     * (number of samples)
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     * @warning an exception is thrown if the value does not exists
+     */
+    double getLogLikeConstTerm(const size_t a) const;
+    /**
+     * @brief Gets the log likelihood constant term for a given \f$a\f$
+     * (number of samples)
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     * @warning The value is computed if it does not already exists
+     */
+    double getAddLogLikeConstTerm(const size_t a);
+
+    /**
+     * @brief Computes the \f$\gamma_a\f$ matrix for a given \f$a\f$ (number
+     * of samples) and put the result in the provided array.
+     * \f$\gamma_a = (Id + a F^T \beta F)^{-1}\f$
+     */
+    void computeGamma(const size_t a, blitz::Array<double,2> res) const;
+    /**
+     * @brief Tells if the \f$\gamma_a\f$ matrix for a given a (number of
+     * samples) exists.
+     * \f$\gamma_a = (Id + a F^T \beta F)^{-1}\f$
+     */
+    bool hasGamma(const size_t a) const
+    { return (m_cache_gamma.find(a) != m_cache_gamma.end()); }
+
+    /**
+     * @brief Clears the maps (\f$\gamma_a\f$ and loglike_constterm_a).
+     */
+    void clearMaps();
+
+    /**
+     * @brief Gets the log-likelihood of an observation, given the current model
+     * and the latent variables (point estimate).\n
+     * This will basically compute \f$p(x_{ij} | h_{i}, w_{ij}, \Theta)\f$\n
+     * , given by \n
+     * \f$\mathcal{N}(x_{ij}|[\mu + F h_{i} + G w_{ij} + \epsilon_{ij}, \Sigma])\f$\n
+     * , which is in logarithm, \n
+     * \f$-\frac{D}{2} log(2\pi) -\frac{1}{2} log(det(\Sigma)) -\frac{1}{2} {(x_{ij}-(\mu+F h_{i}+G w_{ij}))^{T}\Sigma^{-1}(x_{ij}-(\mu+F h_{i}+G w_{ij}))}\f$.
+     */
+    double computeLogLikelihoodPointEstimate(const blitz::Array<double,1>& xij,
+      const blitz::Array<double,1>& hi, const blitz::Array<double,1>& wij) const;
+
+    // Friend method declaration
+    friend std::ostream& operator<<(std::ostream& os, const PLDABase& m);
+
+
+  private:
+    // Attributes
+    size_t m_dim_d; ///< Dimensionality of the input feature vector
+    size_t m_dim_f; ///< Size/rank of the \f$F\f$ subspace
+    size_t m_dim_g; ///< Size/rank of the \f$G\f$ subspace
+    blitz::Array<double,2> m_F; ///< \f$F\f$ subspace of the PLDA model
+    blitz::Array<double,2> m_G; ///< \f$G\f$ subspace of the PLDA model
+    /**
+     * @brief \f$\Sigma\f$ diagonal (by assumption) covariance matrix of the
+     * PLDA model
+     */
+    blitz::Array<double,1> m_sigma;
+    blitz::Array<double,1> m_mu; ///< \f$\mu\f$ mean vector of the PLDA model
+    /**
+     * @brief The variance flooring thresholds, i.e. the minimum allowed
+     * value of variance m_sigma in each dimension.
+     * The variance will be set to this value if an attempt is made
+     * to set it to a smaller value.
+     */
+    double m_variance_threshold;
+
+    // Internal values very useful used to optimize the code
+    blitz::Array<double,1> m_cache_isigma; ///< \f$\Sigma^{-1}\f$
+    blitz::Array<double,2> m_cache_alpha; ///< \f$\alpha = (Id + G^T \Sigma^{-1} G)^{-1}\f$
+    /**
+     * @brief \f$\beta = (\Sigma+G G^T)^{-1} = (\Sigma^{-1} - \Sigma^{-1} G \alpha G^T \Sigma^{-1})^{-1}\f$
+     */
+    blitz::Array<double,2> m_cache_beta;
+    std::map<size_t, blitz::Array<double,2> > m_cache_gamma; ///< \f$\gamma_{a} = (Id + a F^T \beta F)^{-1}\f$
+    blitz::Array<double,2> m_cache_Ft_beta; ///< \f$F^{T} \beta \f$
+    blitz::Array<double,2> m_cache_Gt_isigma; ///< \f$G^{T} \Sigma^{-1} \f$
+    double m_cache_logdet_alpha; ///< \f$\log(\det(\alpha))\f$
+    double m_cache_logdet_sigma; ///< \f$\log(\det(\Sigma))\f$
+    /**
+     * @brief \f$l_{a} = \frac{a}{2} ( -D log(2*\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     */
+    std::map<size_t, double> m_cache_loglike_constterm;
+
+    // working arrays
+    mutable blitz::Array<double,1> m_tmp_d_1; ///< Cache vector of size dim_d
+    mutable blitz::Array<double,1> m_tmp_d_2; ///< Cache vector of size dim_d
+    mutable blitz::Array<double,2> m_tmp_d_ng_1; ///< Cache matrix of size dim_d x dim_g
+    mutable blitz::Array<double,2> m_tmp_nf_nf_1; ///< Cache matrix of size dim_f x dim_f
+    mutable blitz::Array<double,2> m_tmp_ng_ng_1; ///< Cache matrix of size dim_g x dim_g
+
+    // private methods
+    void resizeNoInit(const size_t dim_d, const size_t dim_f, const size_t dim_g);
+    void resizeTmp();
+    void initMuFGSigma();
+    void precomputeISigma();
+    void precomputeAlpha();
+    void precomputeBeta();
+    void precomputeGamma(const size_t a);
+    void precomputeFtBeta();
+    void precomputeGtISigma();
+    void precomputeLogDetAlpha();
+    void precomputeLogDetSigma();
+    void precomputeLogLikeConstTerm(const size_t a);
+};
+
+
+/**
+ * @brief This class is a container for an enrolled identity/class. It
+ * contains information extracted from the enrollment samples. It should
+ * be used in combination with a PLDABase instance.\n
+ * References:\n
+ * 1. 'A Scalable Formulation of Probabilistic Linear Discriminant Analysis:
+ *     Applied to Face Recognition', Laurent El Shafey, Chris McCool,
+ *     Roy Wallace, Sebastien Marcel, TPAMI'2013
+ * 2. 'Probabilistic Linear Discriminant Analysis for Inference About
+ *     Identity', Prince and Elder, ICCV'2007\n
+ * 3. 'Probabilistic Models for Inference about Identity', Li, Fu, Mohammed,
+ *     Elder and Prince, TPAMI'2012
+ */
+class PLDAMachine
+{
+  public:
+    /**
+     * @brief Default constructor.\n
+     * Builds an otherwise invalid (No attached PLDABase) PLDAMachine.
+     */
+    PLDAMachine();
+    /**
+     * @brief Constructor, builds a new PLDAMachine, setting a
+     * PLDABase.
+     */
+    PLDAMachine(const boost::shared_ptr<bob::learn::em::PLDABase> pldabase);
+    /**
+     * @brief Copies another PLDAMachine.\n Both PLDAMachine's will point
+     * to the same PLDABase.
+     */
+    PLDAMachine(const PLDAMachine& other);
+    /**
+     * @brief Starts a new PLDAMachine from an existing configuration object,
+     * and a PLDABase.
+     */
+    PLDAMachine(bob::io::base::HDF5File& config,
+      const boost::shared_ptr<bob::learn::em::PLDABase> pldabase);
+
+    /**
+     * @brief Just to virtualise the destructor
+     */
+    virtual ~PLDAMachine();
+
+    /**
+     * @brief Assigns from a different machine
+     */
+    PLDAMachine& operator=(const PLDAMachine &other);
+
+    /**
+     * @brief Equal to.\n The two PLDAMachine's should have the same
+     * PLDABase. Precomputed members such as \f$\gamma_a\f$'s
+     * are compared!
+     */
+    bool operator==(const PLDAMachine& b) const;
+    /**
+     * @brief Not equal to.\n Defined as the negation of operator==
+     */
+    bool operator!=(const PLDAMachine& b) const;
+    /**
+     * @brief Equal to.\n The two PLDAMachine's should have the same
+     * PLDABase. Precomputed members such as \f$\gamma_a\f$'s
+     * are compared!
+     */
+    bool is_similar_to(const PLDAMachine& b, const double r_epsilon=1e-5,
+      const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Loads data from an existing configuration object. Resets the
+     * current state.
+     */
+    void load(bob::io::base::HDF5File& config);
+    /**
+     * @brief Saves an existing machine to a configuration object.
+     */
+    void save(bob::io::base::HDF5File& config) const;
+
+    /**
+     * @brief Gets the attached PLDABase
+     */
+    const boost::shared_ptr<PLDABase> getPLDABase() const
+    { return m_plda_base; }
+    /**
+     * @brief Sets the attached PLDABase
+     */
+    void setPLDABase(const boost::shared_ptr<bob::learn::em::PLDABase> plda_base);
+
+    /**
+     * @brief Gets the feature dimensionality
+     */
+    size_t getDimD() const
+    { if (!m_plda_base) throw std::runtime_error("No PLDABase set to this machine");
+      return m_plda_base->getDimD(); }
+    /**
+     * @brief Gets the size/rank the \f$F\f$ subspace/matrix of the PLDA model
+     */
+    size_t getDimF() const
+    { if (!m_plda_base) throw std::runtime_error("No PLDABase set to this machine");
+      return m_plda_base->getDimF(); }
+    /**
+     * @brief Gets the size/rank the \f$G\f$ subspace/matrix of the PLDA model
+     */
+    size_t getDimG() const
+    { if (!m_plda_base) throw std::runtime_error("No PLDABase set to this machine");
+      return m_plda_base->getDimG(); }
+
+    /**
+     * @brief Gets the number of enrolled samples
+     */
+    uint64_t getNSamples() const
+    { return m_n_samples; }
+    /**
+     * @brief Sets the number of enrolled samples
+     */
+    void setNSamples(const uint64_t n_samples)
+    { m_n_samples = n_samples; }
+    /**
+     * @brief Gets the \f$A = -0.5 \sum_{i} x_{i}^T \beta x_{i}\f$ value
+     */
+    double getWSumXitBetaXi() const
+    { return m_nh_sum_xit_beta_xi; }
+    /**
+     * @brief Sets the \f$A = -0.5 \sum_{i} x_{i}^T \beta x_{i}\f$ value
+     */
+    void setWSumXitBetaXi(const double val)
+    { m_nh_sum_xit_beta_xi = val; }
+    /**
+     * @brief Gets the current \f$\sum_{i} F^T \beta x_{i}\f$ value
+     */
+    const blitz::Array<double,1>& getWeightedSum() const
+    { return m_weighted_sum; }
+    /**
+     * @brief Sets the \f$\sum_{i} F^T \beta x_{i}\f$ value
+     */
+    void setWeightedSum(const blitz::Array<double,1>& weighted_sum);
+    /**
+     * @brief Returns the current \f$\sum_{i} F^T \beta x_{i}\f$ value
+     * in order to be updated.
+     * @warning Use with care. Only trainers should use this function for
+     * efficiency reasons.
+     */
+    blitz::Array<double,1>& updateWeightedSum()
+    { return m_weighted_sum; }
+    /**
+     * @brief Gets the log likelihood of the enrollment samples
+     */
+    double getLogLikelihood() const
+    { return m_loglikelihood; }
+    /**
+     * @brief Sets the log likelihood of the enrollment samples
+     */
+    void setLogLikelihood(const double val)
+    { m_loglikelihood = val; }
+
+    /**
+     * @brief Tells if the \f$\gamma_a\f$ matrix for a given \f$a\f$ (number
+     * of samples) exists in this machine (does not check the base machine)
+     * \f$\gamma_a = (Id + a F^T \beta F)^{-1} = \mathcal{F}_{a}\f$
+     */
+    bool hasGamma(const size_t a) const
+    { return (m_cache_gamma.find(a) != m_cache_gamma.end()); }
+    /**
+     * @brief Gets the \f$\gamma_a\f$ matrix for a given \f$a\f$ (number of
+     * samples) \f$\gamma_a = (Id + a F^T \beta F)^{-1} = \mathcal{F}_{a}\f$
+     * Tries to find it from the base machine and then from this machine
+     * @warning an exception is thrown if gamma does not exists
+     */
+    const blitz::Array<double,2>& getGamma(const size_t a) const;
+    /**
+     * @brief Gets the \f$\gamma_a\f$ matrix for a given \f$a\f$ (number of
+     * samples) \f$\gamma_a = (Id + a F^T \beta F)^{-1} = \mathcal{F}_{a}\f$
+     * Tries to find it from the base machine and then from this machine
+     * @warning The matrix is computed if it does not already exists,
+     *   and stored in this machine
+     */
+    const blitz::Array<double,2>& getAddGamma(const size_t a);
+
+    /**
+     * @brief Tells if the log likelihood constant term for a given \f$a\f$
+     * (number of samples) exists in this machine
+     * (does not check the base machine)
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     */
+    bool hasLogLikeConstTerm(const size_t a) const
+    { return (m_cache_loglike_constterm.find(a) != m_cache_loglike_constterm.end()); }
+    /**
+     * @brief Gets the log likelihood constant term for a given \f$a\f$
+     * (number of samples)
+     * Tries to find it from the base machine and then from this machine
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     * @warning an exception is thrown if the value does not exists
+     */
+    double getLogLikeConstTerm(const size_t a) const;
+    /**
+     * @brief Gets the log likelihood constant term for a given \f$a\f$
+     * (number of samples)
+     * Tries to find it from the base machine and then from this machine
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     * @warning The value is computed if it does not already exists
+     */
+    double getAddLogLikeConstTerm(const size_t a);
+
+    /**
+     * @brief Clears the maps (\f$\gamma_a\f$ and loglike_constterm[a]).
+     */
+    void clearMaps();
+
+
+    /**
+     * @brief Compute the log-likelihood of the given sample and (optionally)
+     * the enrolled samples
+     */
+    double computeLogLikelihood(const blitz::Array<double,1>& sample,
+      bool with_enrolled_samples=true) const;
+    /**
+     * @brief Compute the log-likelihood of the given samples and (optionally)
+     * the enrolled samples
+     */
+    double computeLogLikelihood(const blitz::Array<double,2>& samples,
+      bool with_enrolled_samples=true) const;
+
+    /**
+     * @brief Computes a log likelihood ratio from a 1D or 2D blitz::Array
+     */
+    double forward(const blitz::Array<double,1>& sample);
+    double forward_(const blitz::Array<double,1>& sample);
+    double forward(const blitz::Array<double,2>& samples);
+
+
+  private:
+    /**
+     * @brief Associated PLDABase containing the model (\f$\mu\f$,
+     * \f$F\f$, \f$G\f$ and \f$\Sigma\f$)
+     */
+    boost::shared_ptr<PLDABase> m_plda_base;
+    uint64_t m_n_samples; ///< Number of enrollment samples
+    /**
+     * @brief Contains the value:\n
+     * \f$A = -0.5 (\sum_{i} x_{i}^{T} \Sigma^{-1} x_{i} - x_{i}^T \Sigma^{-1} G \alpha G^{T} \Sigma^{-1} x_{i})\f$\n
+     * \f$A = -0.5 \sum_{i} x_{i}^T \beta x_{i}\f$\n
+     * used in the likelihood computation (first \f$x_{i}\f$ dependent term)
+     */
+    double m_nh_sum_xit_beta_xi;
+    /**
+     * @brief Contains the value \f$\sum_{i} F^T \beta x_{i}\f$ used in the
+     * likelihood computation (for the second \f$x_{i}\f$ dependent term)
+     */
+    blitz::Array<double,1> m_weighted_sum;
+    double m_loglikelihood; ///< Log likelihood of the enrollment samples
+    /**
+     * @brief \f$\gamma_a\f$ balues which are not already in the
+     * PLDABase \f$\gamma_a = (Id + a F^T \beta F)^{-1}\f$
+     * (depend on the number of samples \f$a\f$)
+     */
+    std::map<size_t, blitz::Array<double,2> > m_cache_gamma;
+    /**
+     * @brief Log likelihood constant terms which depend on the number of
+     * samples \f$a\f$
+     * \f$l_{a} = \frac{a}{2} ( -D log(2\pi) -log|\Sigma| +log|\alpha| +log|\gamma_a|)\f$
+     */
+    std::map<size_t, double> m_cache_loglike_constterm;
+
+
+    // working arrays
+    mutable blitz::Array<double,1> m_tmp_d_1; ///< Cache vector of size dim_d
+    mutable blitz::Array<double,1> m_tmp_d_2; ///< Cache vector of size dim_d
+    mutable blitz::Array<double,1> m_tmp_nf_1; ///< Cache vector of size dim_f
+    mutable blitz::Array<double,1> m_tmp_nf_2; ///< Cache vector of size dim_f
+    mutable blitz::Array<double,2> m_tmp_nf_nf_1; ///< Cache vector of size dim_f dim_f
+
+    /**
+     * @brief Resizes the PLDAMachine
+     */
+    void resize(const size_t dim_d, const size_t dim_f, const size_t dim_g);
+    /**
+     * @brief Resize working arrays
+     */
+    void resizeTmp();
+};
+
+} } } // namespaces
+
+#endif // BOB_LEARN_EM_PLDAMACHINE_H
diff --git a/bob/learn/em/include/bob.learn.em/PLDATrainer.h b/bob/learn/em/include/bob.learn.em/PLDATrainer.h
new file mode 100644
index 0000000..7ea3508
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/PLDATrainer.h
@@ -0,0 +1,310 @@
+/**
+ * @date Fri Oct 14 18:07:56 2011 +0200
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * @brief Probabilistic PLDA Discriminant Analysis implemented using
+ * Expectation Maximization.
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_PLDA_TRAINER_H
+#define BOB_LEARN_EM_PLDA_TRAINER_H
+
+#include <bob.learn.em/PLDAMachine.h>
+#include <boost/shared_ptr.hpp>
+#include <vector>
+#include <map>
+#include <bob.core/array_copy.h>
+#include <boost/random.hpp>
+#include <boost/random/mersenne_twister.hpp>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * @brief This class can be used to train the \f$F\f$, \f$G\f$ and
+ * \f$\Sigma\f$ matrices and the mean vector \f$\mu\f$ of a PLDA model.\n
+ * References:\n
+ * 1. 'A Scalable Formulation of Probabilistic Linear Discriminant Analysis:
+ *     Applied to Face Recognition', Laurent El Shafey, Chris McCool,
+ *     Roy Wallace, Sebastien Marcel, TPAMI'2013
+ * 2. 'Probabilistic Linear Discriminant Analysis for Inference About
+ *     Identity', Prince and Elder, ICCV'2007\n
+ * 3. 'Probabilistic Models for Inference about Identity', Li, Fu, Mohammed,
+ *     Elder and Prince, TPAMI'2012
+ */
+class PLDATrainer
+{
+  public: //api
+    /**
+     * @brief Default constructor.\n Initializes a new PLDA trainer. The
+     * training stage will place the resulting components in the
+     * PLDABase.
+     */
+    PLDATrainer(const bool use_sum_second_order);
+
+    /**
+     * @brief Copy constructor
+     */
+    PLDATrainer(const PLDATrainer& other);
+
+    /**
+     * @brief (virtual) Destructor
+     */
+    virtual ~PLDATrainer();
+
+    /**
+     * @brief Assignment operator
+     */
+    PLDATrainer& operator=(const PLDATrainer& other);
+
+    /**
+     * @brief Equal to
+     */
+    bool operator==(const PLDATrainer& other) const;
+
+    /**
+     * @brief Not equal to
+     */
+    bool operator!=(const PLDATrainer& other) const;
+
+    /**
+     * @brief Similarity operator
+     */
+    bool is_similar_to(const PLDATrainer& b,
+      const double r_epsilon=1e-5, const double a_epsilon=1e-8) const;
+
+    /**
+     * @brief Performs some initialization before the E- and M-steps.
+     */
+    void initialize(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+    /**
+     * @brief Performs some actions after the end of the E- and M-steps.
+      */
+    void finalize(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+
+    /**
+     * @brief Calculates and saves statistics across the dataset, and saves
+     * these as m_z_{first,second}_order.
+     * The statistics will be used in the mStep() that follows.
+     */
+    void eStep(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+
+    /**
+     * @brief Performs a maximization step to update the parameters of the
+     * PLDABase
+     */
+    void mStep(bob::learn::em::PLDABase& machine,
+       const std::vector<blitz::Array<double,2> >& v_ar);
+
+
+    /**
+     * @brief Sets whether the second order statistics are stored during the
+     * training procedure, or only their sum.
+     */
+    void setUseSumSecondOrder(bool v) { m_use_sum_second_order = v; }
+    /**
+     * @brief Tells whether the second order statistics are stored during the
+     * training procedure, or only their sum.
+     */
+    bool getUseSumSecondOrder() const
+    { return m_use_sum_second_order; }
+
+    /**
+     * @brief This enum defines different methods for initializing the \f$F\f$
+     * subspace
+     */
+    typedef enum {
+      RANDOM_F=0,
+      BETWEEN_SCATTER=1
+    }
+    InitFMethod;
+    /**
+     * @brief This enum defines different methods for initializing the \f$G\f$
+     * subspace
+     */
+    typedef enum {
+      RANDOM_G=0,
+      WITHIN_SCATTER=1
+    }
+    InitGMethod;
+    /**
+     * @brief This enum defines different methods for initializing the
+     * \f$\Sigma\f$ covariance matrix
+     */
+    typedef enum {
+      RANDOM_SIGMA=0,
+      VARIANCE_G=1,
+      CONSTANT=2,
+      VARIANCE_DATA=3
+    }
+    InitSigmaMethod;
+    /**
+     * @brief Sets the method used to initialize \f$F\f$
+     */
+    void setInitFMethod(const InitFMethod m) { m_initF_method = m; }
+    /**
+     * @brief Gets the method used to initialize \f$F\f$
+     */
+    InitFMethod getInitFMethod() const { return m_initF_method; }
+    /**
+     * @brief Sets the ratio value used to initialize \f$F\f$
+     */
+    void setInitFRatio(double d) { m_initF_ratio = d; }
+    /**
+     * @brief Gets the ratio value used to initialize \f$F\f$
+     */
+    double getInitFRatio() const { return m_initF_ratio; }
+    /**
+     * @brief Sets the method used to initialize \f$G\f$
+     */
+    void setInitGMethod(const InitGMethod m) { m_initG_method = m; }
+    /**
+     * @brief Gets the method used to initialize \f$G\f$
+     */
+    InitGMethod getInitGMethod() const { return m_initG_method; }
+    /**
+     * @brief Sets the ratio value used to initialize \f$G\f$
+     */
+    void setInitGRatio(double d) { m_initG_ratio = d; }
+    /**
+     * @brief Gets the ratio value used to initialize \f$G\f$
+     */
+    double getInitGRatio() const { return m_initG_ratio; }
+    /**
+     * @brief Sets the method used to initialize \f$\Sigma\f$
+     */
+    void setInitSigmaMethod(const InitSigmaMethod m)
+    { m_initSigma_method = m; }
+    /**
+     * @brief Gets the method used to initialize \f$\Sigma\f$
+     */
+    InitSigmaMethod getInitSigmaMethod() const
+    { return m_initSigma_method; }
+    /**
+     * @brief Sets the ratio value used to initialize \f$\Sigma\f$
+     */
+    void setInitSigmaRatio(double d) { m_initSigma_ratio = d; }
+    /**
+     * @brief Gets the ratio value used to initialize \f$\Sigma\f$
+     */
+    double getInitSigmaRatio() const { return m_initSigma_ratio; }
+
+    /**
+     * @brief Gets the z first order statistics (mostly for test purposes)
+     */
+    const std::vector<blitz::Array<double,2> >& getZFirstOrder() const
+    { return m_cache_z_first_order;}
+    /**
+     * @brief Gets the z second order statistics (mostly for test purposes)
+     */
+    const blitz::Array<double,2>& getZSecondOrderSum() const
+    { return m_cache_sum_z_second_order;}
+    /**
+     * @brief Gets the z second order statistics (mostly for test purposes)
+     */
+    const std::vector<blitz::Array<double,3> >& getZSecondOrder() const
+    { if(m_use_sum_second_order)
+        throw std::runtime_error("You should disable the use_sum_second_order flag to use this feature");
+      return m_cache_z_second_order;
+    }
+
+    /**
+     * @brief Main procedure for enrolling a PLDAMachine
+     */
+    void enrol(bob::learn::em::PLDAMachine& plda_machine,
+      const blitz::Array<double,2>& ar) const;
+      
+      
+    /**
+     * @brief Sets the Random Number Generator
+     */
+    void setRng(const boost::shared_ptr<boost::mt19937> rng)
+    { m_rng = rng; }
+
+    /**
+     * @brief Gets the Random Number Generator
+     */
+    const boost::shared_ptr<boost::mt19937> getRng() const
+    { return m_rng; }      
+
+  private:
+  
+    boost::shared_ptr<boost::mt19937> m_rng;
+  
+    //representation
+    size_t m_dim_d; ///< Dimensionality of the input features
+    size_t m_dim_f; ///< Size/rank of the \f$F\f$ subspace
+    size_t m_dim_g; ///< Size/rank of the \f$G\f$ subspace
+    bool m_use_sum_second_order; ///< If set, only the sum of the second order statistics is stored/allocated
+    InitFMethod m_initF_method; ///< Initialization method for \f$F\f$
+    double m_initF_ratio; ///< Ratio/factor used for the initialization of \f$F\f$
+    InitGMethod m_initG_method; ///< Initialization method for \f$G\f$
+    double m_initG_ratio; ///< Ratio/factor used for the initialization of \f$G\f$
+    InitSigmaMethod m_initSigma_method; ///< Initialization method for \f$\Sigma\f$
+    double m_initSigma_ratio; ///< Ratio/factor used for the initialization of \f$\Sigma\f$
+
+    // Statistics and covariance computed during the training process
+    blitz::Array<double,2> m_cache_S; ///< Covariance of the training data
+    std::vector<blitz::Array<double,2> > m_cache_z_first_order; ///< Current mean of the z_{n} latent variable (1 for each sample)
+    blitz::Array<double,2> m_cache_sum_z_second_order; ///< Current sum of the covariance of the z_{n} latent variable
+    std::vector<blitz::Array<double,3> > m_cache_z_second_order; ///< Current covariance of the z_{n} latent variable
+    // Precomputed
+    /**
+     * @brief Number of training samples for each individual in the training set
+     */
+    std::vector<size_t> m_cache_n_samples_per_id;
+    /**
+     * @brief Tells if there is an identity with a 'key'/particular number of
+     * training samples, and if corresponding matrices are up to date.
+     */
+    std::map<size_t,bool> m_cache_n_samples_in_training;
+    blitz::Array<double,2> m_cache_B; ///< \f$B = [F, G]\f$ (size nfeatures x (m_dim_f+m_dim_g) )
+    blitz::Array<double,2> m_cache_Ft_isigma_G; ///< \f$F^T \Sigma^-1 G\f$
+    blitz::Array<double,2> m_cache_eta; ///< \f$F^T \Sigma^-1 G \alpha\f$
+    // Blocks (with \f$\gamma_{a}\f$) of \f$(Id + A^T \Sigma'^-1 A)^-1\f$ (efficient inversion)
+    std::map<size_t,blitz::Array<double,2> > m_cache_zeta; ///< \f$\zeta_{a} = \alpha + \eta^T \gamma_{a} \eta\f$
+    std::map<size_t,blitz::Array<double,2> > m_cache_iota; ///< \f$\iota_{a} = -\gamma_{a} \eta\f$
+
+    // Working arrays
+    mutable blitz::Array<double,1> m_tmp_nf_1; ///< vector of dimension dim_f
+    mutable blitz::Array<double,1> m_tmp_nf_2; ///< vector of dimension dim_f
+    mutable blitz::Array<double,1> m_tmp_ng_1; ///< vector of dimension dim_f
+    mutable blitz::Array<double,1> m_tmp_D_1; ///< vector of dimension dim_d
+    mutable blitz::Array<double,1> m_tmp_D_2; ///< vector of dimension dim_d
+    mutable blitz::Array<double,2> m_tmp_nfng_nfng; ///< matrix of dimension (dim_f+dim_g)x(dim_f+dim_g)
+    mutable blitz::Array<double,2> m_tmp_D_nfng_1; ///< matrix of dimension (dim_d)x(dim_f+dim_g)
+    mutable blitz::Array<double,2> m_tmp_D_nfng_2; ///< matrix of dimension (dim_d)x(dim_f+dim_g)
+
+    // internal methods
+    void computeMeanVariance(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+    void initMembers(const std::vector<blitz::Array<double,2> >& v_ar);
+    void initFGSigma(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+    void initF(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+    void initG(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+    void initSigma(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+
+    void checkTrainingData(const std::vector<blitz::Array<double,2> >& v_ar);
+    void precomputeFromFGSigma(bob::learn::em::PLDABase& machine);
+    void precomputeLogLike(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+
+    void updateFG(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+    void updateSigma(bob::learn::em::PLDABase& machine,
+      const std::vector<blitz::Array<double,2> >& v_ar);
+
+    void resizeTmp();
+};
+
+} } } // namespaces
+
+#endif /* BOB_LEARN_EM_PLDA_TRAINER_H */
diff --git a/bob/learn/em/include/bob.learn.em/ZTNorm.h b/bob/learn/em/include/bob.learn.em/ZTNorm.h
new file mode 100644
index 0000000..d8e953d
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/ZTNorm.h
@@ -0,0 +1,89 @@
+/**
+ * @date Tue Jul 19 15:33:20 2011 +0200
+ * @author Francois Moulin <Francois.Moulin@idiap.ch>
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ *
+ * Copyright (C) Idiap Research Institute, Martigny, Switzerland
+ */
+
+#ifndef BOB_LEARN_EM_ZTNORM_H
+#define BOB_LEARN_EM_ZTNORM_H
+
+#include <blitz/array.h>
+
+namespace bob { namespace learn { namespace em {
+
+/**
+ * Normalise raw scores with ZT-Norm
+ *
+ * @exception std::runtime_error matrix sizes are not consistent
+ *
+ * @param rawscores_probes_vs_models
+ * @param rawscores_zprobes_vs_models
+ * @param rawscores_probes_vs_tmodels
+ * @param rawscores_zprobes_vs_tmodels
+ * @param mask_zprobes_vs_tmodels_istruetrial
+ * @param[out] normalizedscores normalized scores
+ * @warning The destination score array should have the correct size
+ *          (Same size as rawscores_probes_vs_models)
+ */
+void ztNorm(const blitz::Array<double, 2>& rawscores_probes_vs_models,
+            const blitz::Array<double, 2>& rawscores_zprobes_vs_models,
+            const blitz::Array<double, 2>& rawscores_probes_vs_tmodels,
+            const blitz::Array<double, 2>& rawscores_zprobes_vs_tmodels,
+            const blitz::Array<bool,   2>& mask_zprobes_vs_tmodels_istruetrial,
+            blitz::Array<double, 2>& normalizedscores);
+
+/**
+ * Normalise raw scores with ZT-Norm.
+ * Assume that znorm and tnorm have no common subject id.
+ *
+ * @exception std::runtime_error matrix sizes are not consistent
+ *
+ * @param rawscores_probes_vs_models
+ * @param rawscores_zprobes_vs_models
+ * @param rawscores_probes_vs_tmodels
+ * @param rawscores_zprobes_vs_tmodels
+ * @param[out] normalizedscores normalized scores
+ * @warning The destination score array should have the correct size
+ *          (Same size as rawscores_probes_vs_models)
+ */
+void ztNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+            const blitz::Array<double,2>& rawscores_zprobes_vs_models,
+            const blitz::Array<double,2>& rawscores_probes_vs_tmodels,
+            const blitz::Array<double,2>& rawscores_zprobes_vs_tmodels,
+            blitz::Array<double,2>& normalizedscores);
+
+/**
+ * Normalise raw scores with T-Norm.
+ *
+ * @exception std::runtime_error matrix sizes are not consistent
+ *
+ * @param rawscores_probes_vs_models
+ * @param rawscores_probes_vs_tmodels
+ * @param[out] normalizedscores normalized scores
+ * @warning The destination score array should have the correct size
+ *          (Same size as rawscores_probes_vs_models)
+ */
+void tNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+           const blitz::Array<double,2>& rawscores_probes_vs_tmodels,
+           blitz::Array<double,2>& normalizedscores);
+
+/**
+ * Normalise raw scores with Z-Norm.
+ *
+ * @exception std::runtime_error matrix sizes are not consistent
+ *
+ * @param rawscores_probes_vs_models
+ * @param rawscores_zprobes_vs_models
+ * @param[out] normalizedscores normalized scores
+ * @warning The destination score array should have the correct size
+ *          (Same size as rawscores_probes_vs_models)
+ */
+void zNorm(const blitz::Array<double,2>& rawscores_probes_vs_models,
+           const blitz::Array<double,2>& rawscores_zprobes_vs_models,
+           blitz::Array<double,2>& normalizedscores);
+
+} } } // namespaces
+
+#endif /* BOB_LEARN_EM_ZTNORM_H */
diff --git a/bob/learn/em/include/bob.learn.em/api.h b/bob/learn/em/include/bob.learn.em/api.h
new file mode 100644
index 0000000..7548a30
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/api.h
@@ -0,0 +1,127 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Fri 21 Nov 10:38:48 2013
+ *
+ * @brief Python API for bob::learn::em
+ */
+
+#ifndef BOB_LEARN_EM_API_H
+#define BOB_LEARN_EM_API_H
+
+/* Define Module Name and Prefix for other Modules
+   Note: We cannot use BOB_EXT_* macros here, unfortunately */
+#define BOB_LEARN_EM_PREFIX    "bob.learn.em"
+#define BOB_LEARN_EM_FULL_NAME "bob.learn.em._library"
+
+#include <Python.h>
+
+#include <bob.learn.em/config.h>
+#include <boost/shared_ptr.hpp>
+
+/*******************
+ * C API functions *
+ *******************/
+
+/* Enum defining entries in the function table */
+enum _PyBobLearnEM_ENUM{
+  PyBobLearnEM_APIVersion_NUM = 0,
+  // bindings
+  ////PyBobIpBaseLBP_Type_NUM,
+  ////PyBobIpBaseLBP_Check_NUM,
+  ////PyBobIpBaseLBP_Converter_NUM,
+  // Total number of C API pointers
+  PyBobLearnEM_API_pointers
+};
+
+
+#ifdef BOB_LEARN_EM_MODULE
+
+  /* This section is used when compiling `bob.io.base' itself */
+
+  /**************
+   * Versioning *
+   **************/
+
+  extern int PyBobLearnEM_APIVersion;
+
+#else // BOB_LEARN_EM_MODULE
+
+  /* This section is used in modules that use `bob.io.base's' C-API */
+
+#if defined(NO_IMPORT_ARRAY)
+  extern void **PyBobLearnEM_API;
+#elif defined(PY_ARRAY_UNIQUE_SYMBOL)
+  void **PyBobLearnEM_API;
+#else
+  static void **PyBobLearnEM_API=NULL;
+#endif
+
+  /**************
+   * Versioning *
+   **************/
+
+#define PyBobLearnEM_APIVersion (*(int *)PyBobLearnEM_API[PyBobLearnEM_APIVersion_NUM])
+
+#if !defined(NO_IMPORT_ARRAY)
+
+  /**
+   * Returns -1 on error, 0 on success.
+   */
+  static int import_bob_learn_em(void) {
+
+    PyObject *c_api_object;
+    PyObject *module;
+
+    module = PyImport_ImportModule(BOB_LEARN_EM_FULL_NAME);
+
+    if (module == NULL) return -1;
+
+    c_api_object = PyObject_GetAttrString(module, "_C_API");
+
+    if (c_api_object == NULL) {
+      Py_DECREF(module);
+      return -1;
+    }
+
+#if PY_VERSION_HEX >= 0x02070000
+    if (PyCapsule_CheckExact(c_api_object)) {
+      PyBobLearnEM_API = (void **)PyCapsule_GetPointer(c_api_object, PyCapsule_GetName(c_api_object));
+    }
+#else
+    if (PyCObject_Check(c_api_object)) {
+      PyBobLearnEM_API = (void **)PyCObject_AsVoidPtr(c_api_object);
+    }
+#endif
+
+    Py_DECREF(c_api_object);
+    Py_DECREF(module);
+
+    if (!PyBobLearnEM_API) {
+      PyErr_SetString(PyExc_ImportError, "cannot find C/C++ API "
+#if PY_VERSION_HEX >= 0x02070000
+          "capsule"
+#else
+          "cobject"
+#endif
+          " at `" BOB_LEARN_EM_FULL_NAME "._C_API'");
+      return -1;
+    }
+
+    /* Checks that the imported version matches the compiled version */
+    int imported_version = *(int*)PyBobLearnEM_API[PyBobLearnEM_APIVersion_NUM];
+
+    if (BOB_LEARN_EM_API_VERSION != imported_version) {
+      PyErr_Format(PyExc_ImportError, BOB_LEARN_EM_FULL_NAME " import error: you compiled against API version 0x%04x, but are now importing an API with version 0x%04x which is not compatible - check your Python runtime environment for errors", BOB_LEARN_EM_API_VERSION, imported_version);
+      return -1;
+    }
+
+    /* If you get to this point, all is good */
+    return 0;
+
+  }
+
+#endif //!defined(NO_IMPORT_ARRAY)
+
+#endif /* BOB_LEARN_EM_MODULE */
+
+#endif /* BOB_LEARN_EM_API_H */
diff --git a/bob/learn/em/include/bob.learn.em/config.h b/bob/learn/em/include/bob.learn.em/config.h
new file mode 100644
index 0000000..dacdd4a
--- /dev/null
+++ b/bob/learn/em/include/bob.learn.em/config.h
@@ -0,0 +1,14 @@
+/**
+ * @author Manuel Guenther <manuel.guenther@idiap.ch>
+ * @date Thu Aug 21 20:49:42 CEST 2014
+ *
+ * @brief General directives for all modules in bob.learn.em
+ */
+
+#ifndef BOB_LEARN_EM_CONFIG_H
+#define BOB_LEARN_EM_CONFIG_H
+
+/* Macros that define versions and important names */
+#define BOB_LEARN_EM_API_VERSION 0x0200
+
+#endif /* BOB_LEARN_EM_CONFIG_H */
diff --git a/bob/learn/em/isv_base.cpp b/bob/learn/em/isv_base.cpp
new file mode 100644
index 0000000..9567295
--- /dev/null
+++ b/bob/learn/em/isv_base.cpp
@@ -0,0 +1,528 @@
+/**
+ * @date Wed Jan 28 11:13:15 2015 +0200
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto ISVBase_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".ISVBase",
+
+  "A ISVBase instance can be seen as a container for U and D when performing Joint Factor Analysis (JFA)."
+  "References: [Vogt2008,McCool2013]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a ISVBase",
+    "",
+    true
+  )
+  .add_prototype("gmm,ru","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+  .add_prototype("","")
+
+  .add_parameter("gmm", ":py:class:`bob.learn.em.GMMMachine`", "The Universal Background Model.")
+  .add_parameter("ru", "int", "Size of U (Within client variation matrix). In the end the U matrix will have (number_of_gaussians * feature_dimension x ru)")
+  .add_parameter("other", ":py:class:`bob.learn.em.ISVBase`", "A ISVBase object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMISVBase_init_copy(PyBobLearnEMISVBaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVBase_doc.kwlist(1);
+  PyBobLearnEMISVBaseObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMISVBase_Type, &o)){
+    ISVBase_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ISVBase(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMISVBase_init_hdf5(PyBobLearnEMISVBaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVBase_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    ISVBase_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ISVBase(*(config->f)));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMISVBase_init_ubm(PyBobLearnEMISVBaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVBase_doc.kwlist(0);
+  
+  PyBobLearnEMGMMMachineObject* ubm;
+  int ru = 1;
+
+  //Here we have to select which keyword argument to read  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!i", kwlist, &PyBobLearnEMGMMMachine_Type, &ubm, &ru)){
+    ISVBase_doc.print_usage();
+    return -1;
+  }
+  
+  if(ru < 0){
+    PyErr_Format(PyExc_TypeError, "ru argument must be greater than or equal to one");
+    return -1;
+  }
+  
+  self->cxx.reset(new bob::learn::em::ISVBase(ubm->cxx, ru));
+  return 0;
+}
+
+
+static int PyBobLearnEMISVBase_init(PyBobLearnEMISVBaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+    
+  switch (nargs) {
+
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      // If the constructor input is Gaussian object
+     if (PyBobLearnEMISVBase_Check(arg))
+       return PyBobLearnEMISVBase_init_copy(self, args, kwargs);
+      // If the constructor input is a HDF5
+     else if (PyBobIoHDF5File_Check(arg))
+       return PyBobLearnEMISVBase_init_hdf5(self, args, kwargs);
+    }
+    case 2:
+      return PyBobLearnEMISVBase_init_ubm(self, args, kwargs);
+    default:
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 1 or 2 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      ISVBase_doc.print_usage();
+      return -1;
+  }
+  BOB_CATCH_MEMBER("cannot create ISVBase", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMISVBase_delete(PyBobLearnEMISVBaseObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMISVBase_RichCompare(PyBobLearnEMISVBaseObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMISVBase_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMISVBaseObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare ISVBase objects", 0)
+}
+
+int PyBobLearnEMISVBase_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMISVBase_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int, int)",
+  "A tuple that represents the number of gaussians, dimensionality of each Gaussian, dimensionality of the rU (within client variability matrix) `(#Gaussians, #Inputs, #rU)`.",
+  ""
+);
+PyObject* PyBobLearnEMISVBase_getShape(PyBobLearnEMISVBaseObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i,i)", self->cxx->getNGaussians(), self->cxx->getNInputs(), self->cxx->getDimRu());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+/***** supervector_length *****/
+static auto supervector_length = bob::extension::VariableDoc(
+  "supervector_length",
+  "int",
+
+  "Returns the supervector length."
+  "NGaussians x NInputs: Number of Gaussian components by the feature dimensionality",
+  
+  "@warning An exception is thrown if no Universal Background Model has been set yet."
+);
+PyObject* PyBobLearnEMISVBase_getSupervectorLength(PyBobLearnEMISVBaseObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("i", self->cxx->getSupervectorLength());
+  BOB_CATCH_MEMBER("supervector_length could not be read", 0)
+}
+
+
+/***** u *****/
+static auto U = bob::extension::VariableDoc(
+  "u",
+  "array_like <float, 2D>",
+  "Returns the U matrix (within client variability matrix)",
+  ""
+);
+PyObject* PyBobLearnEMISVBase_getU(PyBobLearnEMISVBaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getU());
+  BOB_CATCH_MEMBER("``u`` could not be read", 0)
+}
+int PyBobLearnEMISVBase_setU(PyBobLearnEMISVBaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, U.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "u");
+  if (!b) return -1;
+  self->cxx->setU(*b);
+  return 0;
+  BOB_CATCH_MEMBER("``u`` matrix could not be set", -1)
+}
+
+
+/***** d *****/
+static auto D = bob::extension::VariableDoc(
+  "d",
+  "array_like <float, 1D>",
+  "Returns the diagonal matrix diag(d) (as a 1D vector)",
+  ""
+);
+PyObject* PyBobLearnEMISVBase_getD(PyBobLearnEMISVBaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getD());
+  BOB_CATCH_MEMBER("``d`` could not be read", 0)
+}
+int PyBobLearnEMISVBase_setD(PyBobLearnEMISVBaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, D.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "d");
+  if (!b) return -1;
+  self->cxx->setD(*b);
+  return 0;
+  BOB_CATCH_MEMBER("``d`` matrix could not be set", -1)
+}
+
+
+/***** ubm *****/
+static auto ubm = bob::extension::VariableDoc(
+  "ubm",
+  ":py:class:`bob.learn.em.GMMMachine`",
+  "Returns the UBM (Universal Background Model",
+  ""
+);
+PyObject* PyBobLearnEMISVBase_getUBM(PyBobLearnEMISVBaseObject* self, void*){
+  BOB_TRY
+
+  boost::shared_ptr<bob::learn::em::GMMMachine> ubm_gmmMachine = self->cxx->getUbm();
+
+  //Allocating the correspondent python object
+  PyBobLearnEMGMMMachineObject* retval =
+    (PyBobLearnEMGMMMachineObject*)PyBobLearnEMGMMMachine_Type.tp_alloc(&PyBobLearnEMGMMMachine_Type, 0);
+  retval->cxx = ubm_gmmMachine;
+
+  return Py_BuildValue("O",retval);
+  BOB_CATCH_MEMBER("ubm could not be read", 0)
+}
+int PyBobLearnEMISVBase_setUBM(PyBobLearnEMISVBaseObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMMachine_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a :py:class:`bob.learn.em.GMMMachine`", Py_TYPE(self)->tp_name, ubm.name());
+    return -1;
+  }
+
+  PyBobLearnEMGMMMachineObject* ubm_gmmMachine = 0;
+  PyArg_Parse(value, "O!", &PyBobLearnEMGMMMachine_Type,&ubm_gmmMachine);
+
+  self->cxx->setUbm(ubm_gmmMachine->cxx);
+
+  return 0;
+  BOB_CATCH_MEMBER("ubm could not be set", -1)  
+}
+
+
+
+static PyGetSetDef PyBobLearnEMISVBase_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMISVBase_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+  
+  {
+   supervector_length.name(),
+   (getter)PyBobLearnEMISVBase_getSupervectorLength,
+   0,
+   supervector_length.doc(),
+   0
+  },
+  
+  {
+   U.name(),
+   (getter)PyBobLearnEMISVBase_getU,
+   (setter)PyBobLearnEMISVBase_setU,
+   U.doc(),
+   0
+  },
+  
+  {
+   D.name(),
+   (getter)PyBobLearnEMISVBase_getD,
+   (setter)PyBobLearnEMISVBase_setD,
+   D.doc(),
+   0
+  },
+
+  {
+   ubm.name(),
+   (getter)PyBobLearnEMISVBase_getUBM,
+   (setter)PyBobLearnEMISVBase_setUBM,
+   ubm.doc(),
+   0
+  },
+
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the ISVBase to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMISVBase_Save(PyBobLearnEMISVBaseObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the ISVBase to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMISVBase_Load(PyBobLearnEMISVBaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this ISVBase with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.ISVBase`", "A ISVBase object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMISVBase_IsSimilarTo(PyBobLearnEMISVBaseObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMISVBaseObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMISVBase_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Resets the dimensionality of the subspace U. "
+  "U is hence uninitialized.",
+  0,
+  true
+)
+.add_prototype("rU")
+.add_parameter("rU", "int", "Size of U (Within client variation matrix)");
+static PyObject* PyBobLearnEMISVBase_resize(PyBobLearnEMISVBaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int rU = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &rU)) Py_RETURN_NONE;
+
+  if (rU <= 0){
+    PyErr_Format(PyExc_TypeError, "rU must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+
+  self->cxx->resize(rU);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+
+static PyMethodDef PyBobLearnEMISVBase_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMISVBase_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMISVBase_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMISVBase_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMISVBase_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },
+  
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the ISV type struct; will be initialized later
+PyTypeObject PyBobLearnEMISVBase_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMISVBase(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMISVBase_Type.tp_name      = ISVBase_doc.name();
+  PyBobLearnEMISVBase_Type.tp_basicsize = sizeof(PyBobLearnEMISVBaseObject);
+  PyBobLearnEMISVBase_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMISVBase_Type.tp_doc       = ISVBase_doc.doc();
+
+  // set the functions
+  PyBobLearnEMISVBase_Type.tp_new         = PyType_GenericNew;
+  PyBobLearnEMISVBase_Type.tp_init        = reinterpret_cast<initproc>(PyBobLearnEMISVBase_init);
+  PyBobLearnEMISVBase_Type.tp_dealloc     = reinterpret_cast<destructor>(PyBobLearnEMISVBase_delete);
+  PyBobLearnEMISVBase_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMISVBase_RichCompare);
+  PyBobLearnEMISVBase_Type.tp_methods     = PyBobLearnEMISVBase_methods;
+  PyBobLearnEMISVBase_Type.tp_getset      = PyBobLearnEMISVBase_getseters;
+  //PyBobLearnEMISVBase_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMISVBase_forward);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMISVBase_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMISVBase_Type);
+  return PyModule_AddObject(module, "ISVBase", (PyObject*)&PyBobLearnEMISVBase_Type) >= 0;
+}
+
diff --git a/bob/learn/em/isv_machine.cpp b/bob/learn/em/isv_machine.cpp
new file mode 100644
index 0000000..9b56ad7
--- /dev/null
+++ b/bob/learn/em/isv_machine.cpp
@@ -0,0 +1,604 @@
+/**
+ * @date Wed Jan 28 13:03:15 2015 +0200
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto ISVMachine_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".ISVMachine",
+  "A ISVMachine. An attached :py:class:`bob.learn.em.ISVBase` should be provided for Joint Factor Analysis. The :py:class:`bob.learn.em.ISVMachine` carries information about the speaker factors y and z, whereas a :py:class:`bob.learn.em.JFABase` carries information about the matrices U, V and D."
+  "References: [Vogt2008,McCool2013]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructor. Builds a new ISVMachine",
+    "",
+    true
+  )
+  .add_prototype("isv_base","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+
+  .add_parameter("isv", ":py:class:`bob.learn.em.ISVBase`", "The ISVBase associated with this machine")
+  .add_parameter("other", ":py:class:`bob.learn.em.ISVMachine`", "A ISVMachine object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMISVMachine_init_copy(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVMachine_doc.kwlist(1);
+  PyBobLearnEMISVMachineObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMISVMachine_Type, &o)){
+    ISVMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ISVMachine(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMISVMachine_init_hdf5(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVMachine_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    ISVMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ISVMachine(*(config->f)));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMISVMachine_init_isvbase(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVMachine_doc.kwlist(0);
+  
+  PyBobLearnEMISVBaseObject* isv_base;
+
+  //Here we have to select which keyword argument to read  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMISVBase_Type, &isv_base)){
+    ISVMachine_doc.print_usage();
+    return -1;
+  }
+  
+  self->cxx.reset(new bob::learn::em::ISVMachine(isv_base->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMISVMachine_init(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  if(nargs == 1){
+    //Reading the input argument
+    PyObject* arg = 0;
+    if (PyTuple_Size(args))
+      arg = PyTuple_GET_ITEM(args, 0);
+    else {
+      PyObject* tmp = PyDict_Values(kwargs);
+      auto tmp_ = make_safe(tmp);
+      arg = PyList_GET_ITEM(tmp, 0);
+    }
+
+    // If the constructor input is Gaussian object
+    if (PyBobLearnEMISVMachine_Check(arg))
+      return PyBobLearnEMISVMachine_init_copy(self, args, kwargs);
+    // If the constructor input is a HDF5
+    else if (PyBobIoHDF5File_Check(arg))
+      return PyBobLearnEMISVMachine_init_hdf5(self, args, kwargs);
+    // If the constructor input is a JFABase Object
+    else
+      return PyBobLearnEMISVMachine_init_isvbase(self, args, kwargs);
+  }
+  else{
+    PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires only 1 argument, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+    ISVMachine_doc.print_usage();
+    return -1;
+  }
+  
+  BOB_CATCH_MEMBER("cannot create ISVMachine", 0)
+  return 0;
+}
+
+static void PyBobLearnEMISVMachine_delete(PyBobLearnEMISVMachineObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMISVMachine_RichCompare(PyBobLearnEMISVMachineObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMISVMachine_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMISVMachineObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare ISVMachine objects", 0)
+}
+
+int PyBobLearnEMISVMachine_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMISVMachine_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int, int, int)",
+  "A tuple that represents the number of gaussians, dimensionality of each Gaussian and dimensionality of the rU (within client variability matrix)) ``(#Gaussians, #Inputs, #rU)``.",
+  ""
+);
+PyObject* PyBobLearnEMISVMachine_getShape(PyBobLearnEMISVMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i,i)", self->cxx->getNGaussians(), self->cxx->getNInputs(), self->cxx->getDimRu());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+/***** supervector_length *****/
+static auto supervector_length = bob::extension::VariableDoc(
+  "supervector_length",
+  "int",
+
+  "Returns the supervector length."
+  "NGaussians x NInputs: Number of Gaussian components by the feature dimensionality",
+  
+  "@warning An exception is thrown if no Universal Background Model has been set yet."
+);
+PyObject* PyBobLearnEMISVMachine_getSupervectorLength(PyBobLearnEMISVMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("i", self->cxx->getSupervectorLength());
+  BOB_CATCH_MEMBER("supervector_length could not be read", 0)
+}
+
+/***** z *****/
+static auto Z = bob::extension::VariableDoc(
+  "z",
+  "array_like <float, 1D>",
+  "Returns the z speaker factor. Eq (31) from [McCool2013]",
+  ""
+);
+PyObject* PyBobLearnEMISVMachine_getZ(PyBobLearnEMISVMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getZ());
+  BOB_CATCH_MEMBER("`z` could not be read", 0)
+}
+int PyBobLearnEMISVMachine_setZ(PyBobLearnEMISVMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, Z.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "z");
+  if (!b) return -1;
+  self->cxx->setZ(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`z` vector could not be set", -1)
+}
+
+
+/***** x *****/
+static auto X = bob::extension::VariableDoc(
+  "x",
+  "array_like <float, 1D>",
+  "Returns the X session factor. Eq (29) from [McCool2013]",
+  "The latent variable x (last one computed). This is a feature provided for convenience, but this attribute is not 'part' of the machine. The session latent variable x is indeed not class-specific, but depends on the sample considered. Furthermore, it is not saved into the machine or used when comparing machines."
+);
+PyObject* PyBobLearnEMISVMachine_getX(PyBobLearnEMISVMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getX());
+  BOB_CATCH_MEMBER("`x` could not be read", 0)
+}
+
+
+/***** isv_base *****/
+static auto isv_base = bob::extension::VariableDoc(
+  "isv_base",
+  ":py:class:`bob.learn.em.ISVBase`",
+  "The ISVBase attached to this machine",
+  ""
+);
+PyObject* PyBobLearnEMISVMachine_getISVBase(PyBobLearnEMISVMachineObject* self, void*){
+  BOB_TRY
+
+  boost::shared_ptr<bob::learn::em::ISVBase> isv_base_o = self->cxx->getISVBase();
+
+  //Allocating the correspondent python object
+  PyBobLearnEMISVBaseObject* retval =
+    (PyBobLearnEMISVBaseObject*)PyBobLearnEMISVBase_Type.tp_alloc(&PyBobLearnEMISVBase_Type, 0);
+  retval->cxx = isv_base_o;
+
+  return Py_BuildValue("O",retval);
+  BOB_CATCH_MEMBER("isv_base could not be read", 0)
+}
+int PyBobLearnEMISVMachine_setISVBase(PyBobLearnEMISVMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyBobLearnEMISVBase_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a :py:class:`bob.learn.em.ISVBase`", Py_TYPE(self)->tp_name, isv_base.name());
+    return -1;
+  }
+
+  PyBobLearnEMISVBaseObject* isv_base_o = 0;
+  PyArg_Parse(value, "O!", &PyBobLearnEMISVBase_Type,&isv_base_o);
+
+  self->cxx->setISVBase(isv_base_o->cxx);
+
+  return 0;
+  BOB_CATCH_MEMBER("isv_base could not be set", -1)  
+}
+
+
+
+
+static PyGetSetDef PyBobLearnEMISVMachine_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMISVMachine_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+  
+  {
+   supervector_length.name(),
+   (getter)PyBobLearnEMISVMachine_getSupervectorLength,
+   0,
+   supervector_length.doc(),
+   0
+  },
+  
+  {
+   isv_base.name(),
+   (getter)PyBobLearnEMISVMachine_getISVBase,
+   (setter)PyBobLearnEMISVMachine_setISVBase,
+   isv_base.doc(),
+   0
+  },
+
+  {
+   Z.name(),
+   (getter)PyBobLearnEMISVMachine_getZ,
+   (setter)PyBobLearnEMISVMachine_setZ,
+   Z.doc(),
+   0
+  },
+
+  {
+   X.name(),
+   (getter)PyBobLearnEMISVMachine_getX,
+   0,
+   X.doc(),
+   0
+  },
+
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the ISVMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMISVMachine_Save(PyBobLearnEMISVMachineObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the ISVMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMISVMachine_Load(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this ISVMachine with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.ISVMachine`", "A ISVMachine object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMISVMachine_IsSimilarTo(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMISVMachineObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMISVMachine_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** estimate_x ***/
+static auto estimate_x = bob::extension::FunctionDoc(
+  "estimate_x",
+  "Estimates the session offset x (LPT assumption) given GMM statistics.",
+  "Estimates x from the GMM statistics considering the LPT assumption, that is the latent session variable x is approximated using the UBM", 
+  true
+)
+.add_prototype("stats,input")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics of the GMM")
+.add_parameter("input", "array_like <float, 1D>", "Input vector");
+static PyObject* PyBobLearnEMISVMachine_estimateX(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = estimate_x.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  PyBlitzArrayObject* input           = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMStats_Type, &stats, 
+                                                                 &PyBlitzArray_Converter,&input))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+  self->cxx->estimateX(*stats->cxx, *PyBlitzArrayCxx_AsBlitz<double,1>(input));
+
+  BOB_CATCH_MEMBER("cannot estimate X", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** estimate_ux ***/
+static auto estimate_ux = bob::extension::FunctionDoc(
+  "estimate_ux",
+  "Estimates Ux (LPT assumption) given GMM statistics.",
+  "Estimates Ux from the GMM statistics considering the LPT assumption, that is the latent session variable x is approximated using the UBM.", 
+  true
+)
+.add_prototype("stats,input")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics of the GMM")
+.add_parameter("input", "array_like <float, 1D>", "Input vector");
+static PyObject* PyBobLearnEMISVMachine_estimateUx(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = estimate_ux.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  PyBlitzArrayObject* input           = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMStats_Type, &stats, 
+                                                                 &PyBlitzArray_Converter,&input))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+  self->cxx->estimateUx(*stats->cxx, *PyBlitzArrayCxx_AsBlitz<double,1>(input));
+
+  BOB_CATCH_MEMBER("cannot estimate Ux", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** forward_ux ***/
+static auto forward_ux = bob::extension::FunctionDoc(
+  "forward_ux",
+  "Computes a score for the given UBM statistics and given the Ux vector",
+  "", 
+  true
+)
+.add_prototype("stats,ux")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics as input")
+.add_parameter("ux", "array_like <float, 1D>", "Input vector");
+static PyObject* PyBobLearnEMISVMachine_ForwardUx(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = forward_ux.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  PyBlitzArrayObject* ux_input        = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMStats_Type, &stats, 
+                                                                 &PyBlitzArray_Converter,&ux_input))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto ux_input_ = make_safe(ux_input);
+  double score = self->cxx->forward(*stats->cxx, *PyBlitzArrayCxx_AsBlitz<double,1>(ux_input));
+  
+  return Py_BuildValue("d", score);
+  BOB_CATCH_MEMBER("cannot forward_ux", 0)
+}
+
+
+/*** forward ***/
+static auto forward = bob::extension::FunctionDoc(
+  "forward",
+  "Execute the machine",
+  "", 
+  true
+)
+.add_prototype("stats")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics as input");
+static PyObject* PyBobLearnEMISVMachine_Forward(PyBobLearnEMISVMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = forward.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMStats_Type, &stats))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  double score = self->cxx->forward(*stats->cxx);
+
+  return Py_BuildValue("d", score);
+  BOB_CATCH_MEMBER("cannot forward", 0)
+
+}
+
+
+static PyMethodDef PyBobLearnEMISVMachine_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMISVMachine_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMISVMachine_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMISVMachine_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  
+  {
+    estimate_x.name(),
+    (PyCFunction)PyBobLearnEMISVMachine_estimateX,
+    METH_VARARGS|METH_KEYWORDS,
+    estimate_x.doc()
+  },
+  
+  {
+    estimate_ux.name(),
+    (PyCFunction)PyBobLearnEMISVMachine_estimateUx,
+    METH_VARARGS|METH_KEYWORDS,
+    estimate_ux.doc()
+  },
+
+  {
+    forward_ux.name(),
+    (PyCFunction)PyBobLearnEMISVMachine_ForwardUx,
+    METH_VARARGS|METH_KEYWORDS,
+    forward_ux.doc()
+  },
+
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the JFA type struct; will be initialized later
+PyTypeObject PyBobLearnEMISVMachine_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMISVMachine(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMISVMachine_Type.tp_name      = ISVMachine_doc.name();
+  PyBobLearnEMISVMachine_Type.tp_basicsize = sizeof(PyBobLearnEMISVMachineObject);
+  PyBobLearnEMISVMachine_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMISVMachine_Type.tp_doc       = ISVMachine_doc.doc();
+
+  // set the functions
+  PyBobLearnEMISVMachine_Type.tp_new         = PyType_GenericNew;
+  PyBobLearnEMISVMachine_Type.tp_init        = reinterpret_cast<initproc>(PyBobLearnEMISVMachine_init);
+  PyBobLearnEMISVMachine_Type.tp_dealloc     = reinterpret_cast<destructor>(PyBobLearnEMISVMachine_delete);
+  PyBobLearnEMISVMachine_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMISVMachine_RichCompare);
+  PyBobLearnEMISVMachine_Type.tp_methods     = PyBobLearnEMISVMachine_methods;
+  PyBobLearnEMISVMachine_Type.tp_getset      = PyBobLearnEMISVMachine_getseters;
+  PyBobLearnEMISVMachine_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMISVMachine_Forward);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMISVMachine_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMISVMachine_Type);
+  return PyModule_AddObject(module, "ISVMachine", (PyObject*)&PyBobLearnEMISVMachine_Type) >= 0;
+}
+
diff --git a/bob/learn/em/isv_trainer.cpp b/bob/learn/em/isv_trainer.cpp
new file mode 100644
index 0000000..fd4d201
--- /dev/null
+++ b/bob/learn/em/isv_trainer.cpp
@@ -0,0 +1,566 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Mon 02 Fev 20:20:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+#include <boost/make_shared.hpp>
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static int extract_GMMStats_1d(PyObject *list,
+                             std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& training_data)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++){
+  
+    PyBobLearnEMGMMStatsObject* stats;
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O!", &PyBobLearnEMGMMStats_Type, &stats)){
+      PyErr_Format(PyExc_RuntimeError, "Expected GMMStats objects");
+      return -1;
+    }
+    training_data.push_back(stats->cxx);
+  }
+  return 0;
+}
+
+static int extract_GMMStats_2d(PyObject *list,
+                             std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& training_data)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++)
+  {
+    PyObject* another_list;
+    PyArg_Parse(PyList_GetItem(list, i), "O!", &PyList_Type, &another_list);
+
+    std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > another_training_data;
+    for (int j=0; j<PyList_GET_SIZE(another_list); j++){
+
+      PyBobLearnEMGMMStatsObject* stats;
+      if (!PyArg_Parse(PyList_GetItem(another_list, j), "O!", &PyBobLearnEMGMMStats_Type, &stats)){
+        PyErr_Format(PyExc_RuntimeError, "Expected GMMStats objects");
+        return -1;
+      }
+      another_training_data.push_back(stats->cxx);
+    }
+    training_data.push_back(another_training_data);
+  }
+  return 0;
+}
+
+template <int N>
+static PyObject* vector_as_list(const std::vector<blitz::Array<double,N> >& vec)
+{
+  PyObject* list = PyList_New(vec.size());
+  for(size_t i=0; i<vec.size(); i++){
+    blitz::Array<double,N> numpy_array = vec[i];
+    PyObject* numpy_py_object = PyBlitzArrayCxx_AsNumpy(numpy_array);
+    PyList_SET_ITEM(list, i, numpy_py_object);
+  }
+  return list;
+}
+
+template <int N>
+int list_as_vector(PyObject* list, std::vector<blitz::Array<double,N> >& vec)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++)
+  {
+    PyBlitzArrayObject* blitz_object; 
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O&", &PyBlitzArray_Converter, &blitz_object)){
+      PyErr_Format(PyExc_RuntimeError, "Expected numpy array object");
+      return -1;
+    }
+    auto blitz_object_ = make_safe(blitz_object);
+    vec.push_back(*PyBlitzArrayCxx_AsBlitz<double,N>(blitz_object));
+  }
+  return 0;
+}
+
+
+
+static auto ISVTrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".ISVTrainer",
+  "ISVTrainer"
+  "References: [Vogt2008,McCool2013]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructor. Builds a new ISVTrainer",
+    "",
+    true
+  )
+  .add_prototype("relevance_factor","")
+  .add_prototype("other","")
+  .add_prototype("","")
+  .add_parameter("other", ":py:class:`bob.learn.em.ISVTrainer`", "A ISVTrainer object to be copied.")
+  .add_parameter("relevance_factor", "double", "")
+  .add_parameter("convergence_threshold", "double", "")
+);
+
+
+static int PyBobLearnEMISVTrainer_init_copy(PyBobLearnEMISVTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVTrainer_doc.kwlist(1);
+  PyBobLearnEMISVTrainerObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMISVTrainer_Type, &o)){
+    ISVTrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ISVTrainer(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMISVTrainer_init_number(PyBobLearnEMISVTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = ISVTrainer_doc.kwlist(0);
+  double relevance_factor      = 4.;
+
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "d", kwlist, &relevance_factor))
+    return -1;
+
+  if(relevance_factor < 0){
+    PyErr_Format(PyExc_TypeError, "gaussians argument must be greater than zero");
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::ISVTrainer(relevance_factor));
+  return 0;
+}
+
+
+static int PyBobLearnEMISVTrainer_init(PyBobLearnEMISVTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  switch(nargs){
+    case 0:{
+      self->cxx.reset(new bob::learn::em::ISVTrainer());
+      return 0;
+    }
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+      
+      if(PyBobLearnEMISVTrainer_Check(arg))
+        // If the constructor input is ISVTrainer object
+        return PyBobLearnEMISVTrainer_init_copy(self, args, kwargs);
+      else
+        return PyBobLearnEMISVTrainer_init_number(self, args, kwargs);
+
+    }
+    default:{
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires only 0 or 1 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      ISVTrainer_doc.print_usage();
+      return -1;
+    }
+  }
+  BOB_CATCH_MEMBER("cannot create ISVTrainer", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMISVTrainer_delete(PyBobLearnEMISVTrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMISVTrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMISVTrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMISVTrainer_RichCompare(PyBobLearnEMISVTrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMISVTrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMISVTrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare ISVTrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+static auto acc_u_a1 = bob::extension::VariableDoc(
+  "acc_u_a1",
+  "array_like <float, 3D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMISVTrainer_get_acc_u_a1(PyBobLearnEMISVTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccUA1());
+  BOB_CATCH_MEMBER("acc_u_a1 could not be read", 0)
+}
+int PyBobLearnEMISVTrainer_set_acc_u_a1(PyBobLearnEMISVTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 3D array of floats", Py_TYPE(self)->tp_name, acc_u_a1.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,3>(o, "acc_u_a1");
+  if (!b) return -1;
+  self->cxx->setAccUA1(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_u_a1 could not be set", -1)
+}
+
+
+static auto acc_u_a2 = bob::extension::VariableDoc(
+  "acc_u_a2",
+  "array_like <float, 2D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMISVTrainer_get_acc_u_a2(PyBobLearnEMISVTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccUA2());
+  BOB_CATCH_MEMBER("acc_u_a2 could not be read", 0)
+}
+int PyBobLearnEMISVTrainer_set_acc_u_a2(PyBobLearnEMISVTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, acc_u_a2.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "acc_u_a2");
+  if (!b) return -1;
+  self->cxx->setAccUA2(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_u_a2 could not be set", -1)
+}
+
+
+
+
+
+static auto __X__ = bob::extension::VariableDoc(
+  "__X__",
+  "list",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMISVTrainer_get_X(PyBobLearnEMISVTrainerObject* self, void*){
+  BOB_TRY
+  return vector_as_list(self->cxx->getX());
+  BOB_CATCH_MEMBER("__X__ could not be read", 0)
+}
+int PyBobLearnEMISVTrainer_set_X(PyBobLearnEMISVTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  if (!PyList_Check(value)){
+    PyErr_Format(PyExc_TypeError, "Expected a list in `%s'", __X__.name());
+    return -1;
+  }
+    
+  std::vector<blitz::Array<double,2> > data;
+  if(list_as_vector(value ,data)==0){
+    self->cxx->setX(data);
+  }
+    
+  return 0;
+  BOB_CATCH_MEMBER("__X__ could not be written", 0)
+}
+
+
+static auto __Z__ = bob::extension::VariableDoc(
+  "__Z__",
+  "list",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMISVTrainer_get_Z(PyBobLearnEMISVTrainerObject* self, void*){
+  BOB_TRY
+  return vector_as_list(self->cxx->getZ());
+  BOB_CATCH_MEMBER("__Z__ could not be read", 0)
+}
+int PyBobLearnEMISVTrainer_set_Z(PyBobLearnEMISVTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  if (!PyList_Check(value)){
+    PyErr_Format(PyExc_TypeError, "Expected a list in `%s'", __Z__.name());
+    return -1;
+  }
+    
+  std::vector<blitz::Array<double,1> > data;
+  if(list_as_vector(value ,data)==0){
+    self->cxx->setZ(data);
+  }
+    
+  return 0;
+  BOB_CATCH_MEMBER("__Z__ could not be written", 0)
+}
+
+
+
+
+static PyGetSetDef PyBobLearnEMISVTrainer_getseters[] = { 
+  {
+   acc_u_a1.name(),
+   (getter)PyBobLearnEMISVTrainer_get_acc_u_a1,
+   (setter)PyBobLearnEMISVTrainer_set_acc_u_a1,
+   acc_u_a1.doc(),
+   0
+  },
+  {
+   acc_u_a2.name(),
+   (getter)PyBobLearnEMISVTrainer_get_acc_u_a2,
+   (setter)PyBobLearnEMISVTrainer_set_acc_u_a2,
+   acc_u_a2.doc(),
+   0
+  },
+  {
+   __X__.name(),
+   (getter)PyBobLearnEMISVTrainer_get_X,
+   (setter)PyBobLearnEMISVTrainer_set_X,
+   __X__.doc(),
+   0
+  },
+  {
+   __Z__.name(),
+   (getter)PyBobLearnEMISVTrainer_get_Z,
+   (setter)PyBobLearnEMISVTrainer_set_Z,
+   __Z__.doc(),
+   0
+  },
+  
+  
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialization before the EM steps",
+  "",
+  true
+)
+.add_prototype("isv_base,stats")
+.add_parameter("isv_base", ":py:class:`bob.learn.em.ISVBase`", "ISVBase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMISVTrainer_initialize(PyBobLearnEMISVTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMISVBaseObject* isv_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMISVBase_Type, &isv_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->initialize(*isv_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** e_step ***/
+static auto e_step = bob::extension::FunctionDoc(
+  "e_step",
+  "Call the e-step procedure (for the U subspace).",
+  "",
+  true
+)
+.add_prototype("isv_base,stats")
+.add_parameter("isv_base", ":py:class:`bob.learn.em.ISVBase`", "ISVBase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMISVTrainer_e_step(PyBobLearnEMISVTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = e_step.kwlist(0);
+
+  PyBobLearnEMISVBaseObject* isv_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMISVBase_Type, &isv_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->eStep(*isv_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the e_step method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** m_step ***/
+static auto m_step = bob::extension::FunctionDoc(
+  "m_step",
+  "Call the m-step procedure (for the U subspace).",
+  "",
+  true
+)
+.add_prototype("isv_base")
+.add_parameter("isv_base", ":py:class:`bob.learn.em.ISVBase`", "ISVBase Object");
+static PyObject* PyBobLearnEMISVTrainer_m_step(PyBobLearnEMISVTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot 
+  char** kwlist = m_step.kwlist(0);
+
+  PyBobLearnEMISVBaseObject* isv_base = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMISVBase_Type, &isv_base)) return 0;
+
+  self->cxx->mStep(*isv_base->cxx);
+
+  BOB_CATCH_MEMBER("cannot perform the m_step method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+/*** enrol ***/
+static auto enrol = bob::extension::FunctionDoc(
+  "enrol",
+  "",
+  "",
+  true
+)
+.add_prototype("isv_machine,features,n_iter","")
+.add_parameter("isv_machine", ":py:class:`bob.learn.em.ISVMachine`", "ISVMachine Object")
+.add_parameter("features", "list(:py:class:`bob.learn.em.GMMStats`)`", "")
+.add_parameter("n_iter", "int", "Number of iterations");
+static PyObject* PyBobLearnEMISVTrainer_enrol(PyBobLearnEMISVTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = enrol.kwlist(0);
+
+  PyBobLearnEMISVMachineObject* isv_machine = 0;
+  PyObject* stats = 0;
+  int n_iter = 1;
+
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!i", kwlist, &PyBobLearnEMISVMachine_Type, &isv_machine,
+                                                                  &PyList_Type, &stats, &n_iter)) Py_RETURN_NONE;
+
+  std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > training_data;
+  if(extract_GMMStats_1d(stats ,training_data)==0)
+    self->cxx->enrol(*isv_machine->cxx, training_data, n_iter);
+
+  BOB_CATCH_MEMBER("cannot perform the enrol method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+static PyMethodDef PyBobLearnEMISVTrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMISVTrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    e_step.name(),
+    (PyCFunction)PyBobLearnEMISVTrainer_e_step,
+    METH_VARARGS|METH_KEYWORDS,
+    e_step.doc()
+  },
+  {
+    m_step.name(),
+    (PyCFunction)PyBobLearnEMISVTrainer_m_step,
+    METH_VARARGS|METH_KEYWORDS,
+    m_step.doc()
+  },
+  {
+    enrol.name(),
+    (PyCFunction)PyBobLearnEMISVTrainer_enrol,
+    METH_VARARGS|METH_KEYWORDS,
+    enrol.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMISVTrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMISVTrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMISVTrainer_Type.tp_name      = ISVTrainer_doc.name();
+  PyBobLearnEMISVTrainer_Type.tp_basicsize = sizeof(PyBobLearnEMISVTrainerObject);
+  PyBobLearnEMISVTrainer_Type.tp_flags     = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance;
+  PyBobLearnEMISVTrainer_Type.tp_doc       = ISVTrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMISVTrainer_Type.tp_new          = PyType_GenericNew;
+  PyBobLearnEMISVTrainer_Type.tp_init         = reinterpret_cast<initproc>(PyBobLearnEMISVTrainer_init);
+  PyBobLearnEMISVTrainer_Type.tp_dealloc      = reinterpret_cast<destructor>(PyBobLearnEMISVTrainer_delete);
+  PyBobLearnEMISVTrainer_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMISVTrainer_RichCompare);
+  PyBobLearnEMISVTrainer_Type.tp_methods      = PyBobLearnEMISVTrainer_methods;
+  PyBobLearnEMISVTrainer_Type.tp_getset       = PyBobLearnEMISVTrainer_getseters;
+  //PyBobLearnEMISVTrainer_Type.tp_call         = reinterpret_cast<ternaryfunc>(PyBobLearnEMISVTrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMISVTrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMISVTrainer_Type);
+  return PyModule_AddObject(module, "_ISVTrainer", (PyObject*)&PyBobLearnEMISVTrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/ivector_machine.cpp b/bob/learn/em/ivector_machine.cpp
new file mode 100644
index 0000000..95badbc
--- /dev/null
+++ b/bob/learn/em/ivector_machine.cpp
@@ -0,0 +1,676 @@
+/**
+ * @date Wed Jan 28 17:46:15 2015 +0200
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto IVectorMachine_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".IVectorMachine",
+  "An IVectorMachine consists of a Total Variability subspace \f$T\f$ and allows the extraction of IVector"
+  "References: [Dehak2010]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructor. Builds a new IVectorMachine",
+    "",
+    true
+  )
+  .add_prototype("ubm, rt, variance_threshold","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+
+  .add_parameter("ubm", ":py:class:`bob.learn.em.GMMMachine`", "The Universal Background Model.")
+  .add_parameter("rt", "int", "Size of the Total Variability matrix (CD x rt).")
+  .add_parameter("variance_threshold", "double", "Variance flooring threshold for the :math:`\\Sigma` (diagonal) matrix")
+
+  .add_parameter("other", ":py:class:`bob.learn.em.IVectorMachine`", "A IVectorMachine object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMIVectorMachine_init_copy(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = IVectorMachine_doc.kwlist(1);
+  PyBobLearnEMIVectorMachineObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMIVectorMachine_Type, &o)){
+    IVectorMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::IVectorMachine(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMIVectorMachine_init_hdf5(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = IVectorMachine_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    IVectorMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::IVectorMachine(*(config->f)));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMIVectorMachine_init_ubm(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = IVectorMachine_doc.kwlist(0);
+  
+  PyBobLearnEMGMMMachineObject* gmm_machine;
+  int rt = 1;
+  double variance_threshold = 1e-10;
+
+  //Here we have to select which keyword argument to read  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!i|d", kwlist, &PyBobLearnEMGMMMachine_Type, &gmm_machine, &rt, &variance_threshold)){
+    IVectorMachine_doc.print_usage();
+    return -1;
+  }
+    
+  if(rt < 1){
+    PyErr_Format(PyExc_TypeError, "rt argument must be greater than or equal to one");
+    return -1;
+  }
+  
+  if(variance_threshold <= 0){
+    PyErr_Format(PyExc_TypeError, "variance_threshold argument must be greater than zero");
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::IVectorMachine(gmm_machine->cxx, rt, variance_threshold));
+  return 0;
+}
+
+
+static int PyBobLearnEMIVectorMachine_init(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  if(nargs == 1){
+    //Reading the input argument
+    PyObject* arg = 0;
+    if (PyTuple_Size(args))
+      arg = PyTuple_GET_ITEM(args, 0);
+    else {
+      PyObject* tmp = PyDict_Values(kwargs);
+      auto tmp_ = make_safe(tmp);
+      arg = PyList_GET_ITEM(tmp, 0);
+    }
+
+    // If the constructor input is Gaussian object
+    if (PyBobLearnEMIVectorMachine_Check(arg))
+      return PyBobLearnEMIVectorMachine_init_copy(self, args, kwargs);
+    // If the constructor input is a HDF5
+    else
+      return PyBobLearnEMIVectorMachine_init_hdf5(self, args, kwargs);
+  }
+  else if ((nargs == 2) || (nargs == 3))
+    PyBobLearnEMIVectorMachine_init_ubm(self, args, kwargs);
+  else{
+    PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 1,2 or 3 argument, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+    IVectorMachine_doc.print_usage();
+    return -1;
+  }
+  
+  BOB_CATCH_MEMBER("cannot create IVectorMachine", 0)
+  return 0;
+}
+
+static void PyBobLearnEMIVectorMachine_delete(PyBobLearnEMIVectorMachineObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMIVectorMachine_RichCompare(PyBobLearnEMIVectorMachineObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMIVectorMachine_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMIVectorMachineObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare IVectorMachine objects", 0)
+}
+
+int PyBobLearnEMIVectorMachine_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMIVectorMachine_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int, int)",
+  "A tuple that represents the number of gaussians, dimensionality of each Gaussian, dimensionality of the rT (total variability matrix) ``(#Gaussians, #Inputs, #rT)``.",
+  ""
+);
+PyObject* PyBobLearnEMIVectorMachine_getShape(PyBobLearnEMIVectorMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i,i)", self->cxx->getNGaussians(), self->cxx->getNInputs(), self->cxx->getDimRt());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+/***** supervector_length *****/
+static auto supervector_length = bob::extension::VariableDoc(
+  "supervector_length",
+  "int",
+
+  "Returns the supervector length."
+  "NGaussians x NInputs: Number of Gaussian components by the feature dimensionality",
+  
+  "@warning An exception is thrown if no Universal Background Model has been set yet."
+);
+PyObject* PyBobLearnEMIVectorMachine_getSupervectorLength(PyBobLearnEMIVectorMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("i", self->cxx->getSupervectorLength());
+  BOB_CATCH_MEMBER("supervector_length could not be read", 0)
+}
+
+
+/***** T *****/
+static auto T = bob::extension::VariableDoc(
+  "t",
+  "array_like <float, 2D>",
+  "Returns the Total Variability matrix",
+  ""
+);
+PyObject* PyBobLearnEMIVectorMachine_getT(PyBobLearnEMIVectorMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getT());
+  BOB_CATCH_MEMBER("`t` could not be read", 0)
+}
+int PyBobLearnEMIVectorMachine_setT(PyBobLearnEMIVectorMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, T.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "t");
+  if (!b) return -1;
+  self->cxx->setT(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`t` vector could not be set", -1)
+}
+
+
+/***** sigma *****/
+static auto sigma = bob::extension::VariableDoc(
+  "sigma",
+  "array_like <float, 1D>",
+  "The residual matrix of the model sigma",
+  ""
+);
+PyObject* PyBobLearnEMIVectorMachine_getSigma(PyBobLearnEMIVectorMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getSigma());
+  BOB_CATCH_MEMBER("`sigma` could not be read", 0)
+}
+int PyBobLearnEMIVectorMachine_setSigma(PyBobLearnEMIVectorMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, sigma.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "sigma");
+  if (!b) return -1;
+  self->cxx->setSigma(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`sigma` vector could not be set", -1)
+}
+
+
+/***** variance_threshold *****/
+static auto variance_threshold = bob::extension::VariableDoc(
+  "variance_threshold",
+  "double",
+  "Threshold for the variance contained in sigma",
+  ""
+);
+PyObject* PyBobLearnEMIVectorMachine_getVarianceThreshold(PyBobLearnEMIVectorMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("d", self->cxx->getVarianceThreshold());
+  BOB_CATCH_MEMBER("variance_threshold could not be read", 0)
+}
+int PyBobLearnEMIVectorMachine_setVarianceThreshold(PyBobLearnEMIVectorMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an double", Py_TYPE(self)->tp_name, variance_threshold.name());
+    return -1;
+  }
+
+  if (PyFloat_AS_DOUBLE(value) < 0){
+    PyErr_Format(PyExc_TypeError, "variance_threshold must be greater than or equal to zero");
+    return -1;
+  }
+
+  self->cxx->setVarianceThreshold(PyFloat_AS_DOUBLE(value));
+  BOB_CATCH_MEMBER("variance_threshold could not be set", -1)
+  return 0;
+}
+
+
+/***** ubm *****/
+static auto ubm = bob::extension::VariableDoc(
+  "ubm",
+  ":py:class:`bob.learn.em.GMMMachine`",
+  "Returns the UBM (Universal Background Model",
+  ""
+);
+PyObject* PyBobLearnEMIVectorMachine_getUBM(PyBobLearnEMIVectorMachineObject* self, void*){
+  BOB_TRY
+
+  boost::shared_ptr<bob::learn::em::GMMMachine> ubm_gmmMachine = self->cxx->getUbm();
+
+  //Allocating the correspondent python object
+  PyBobLearnEMGMMMachineObject* retval =
+    (PyBobLearnEMGMMMachineObject*)PyBobLearnEMGMMMachine_Type.tp_alloc(&PyBobLearnEMGMMMachine_Type, 0);
+  retval->cxx = ubm_gmmMachine;
+
+  return Py_BuildValue("O",retval);
+  BOB_CATCH_MEMBER("ubm could not be read", 0)
+}
+int PyBobLearnEMIVectorMachine_setUBM(PyBobLearnEMIVectorMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMMachine_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a :py:class:`bob.learn.em.GMMMachine`", Py_TYPE(self)->tp_name, ubm.name());
+    return -1;
+  }
+
+  PyBobLearnEMGMMMachineObject* ubm_gmmMachine = 0;
+  PyArg_Parse(value, "O!", &PyBobLearnEMGMMMachine_Type,&ubm_gmmMachine);
+
+  self->cxx->setUbm(ubm_gmmMachine->cxx);
+
+  return 0;
+  BOB_CATCH_MEMBER("ubm could not be set", -1)  
+}
+
+
+static PyGetSetDef PyBobLearnEMIVectorMachine_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMIVectorMachine_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+  
+  {
+   supervector_length.name(),
+   (getter)PyBobLearnEMIVectorMachine_getSupervectorLength,
+   0,
+   supervector_length.doc(),
+   0
+  },
+  
+  {
+   T.name(),
+   (getter)PyBobLearnEMIVectorMachine_getT,
+   (setter)PyBobLearnEMIVectorMachine_setT,
+   T.doc(),
+   0
+  },
+
+  {
+   variance_threshold.name(),
+   (getter)PyBobLearnEMIVectorMachine_getVarianceThreshold,
+   (setter)PyBobLearnEMIVectorMachine_setVarianceThreshold,
+   variance_threshold.doc(),
+   0
+  },
+
+  {
+   sigma.name(),
+   (getter)PyBobLearnEMIVectorMachine_getSigma,
+   (setter)PyBobLearnEMIVectorMachine_setSigma,
+   sigma.doc(),
+   0
+  },
+
+  {
+   ubm.name(),
+   (getter)PyBobLearnEMIVectorMachine_getUBM,
+   (setter)PyBobLearnEMIVectorMachine_setUBM,
+   ubm.doc(),
+   0
+  },
+
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the IVectorMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMIVectorMachine_Save(PyBobLearnEMIVectorMachineObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the IVectorMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMIVectorMachine_Load(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this IVectorMachine with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.IVectorMachine`", "A IVectorMachine object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMIVectorMachine_IsSimilarTo(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMIVectorMachineObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMIVectorMachine_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+
+/*** forward ***/
+static auto forward = bob::extension::FunctionDoc(
+  "forward",
+  "Execute the machine",
+  "", 
+  true
+)
+.add_prototype("stats")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics as input");
+static PyObject* PyBobLearnEMIVectorMachine_Forward(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = forward.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMStats_Type, &stats))
+    Py_RETURN_NONE;
+
+   blitz::Array<double,1> ivector(self->cxx->getDimRt());
+   self->cxx->forward(*stats->cxx, ivector);
+
+  return PyBlitzArrayCxx_AsConstNumpy(ivector);
+  
+  BOB_CATCH_MEMBER("cannot forward", 0)
+
+}
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Resets the dimensionality of the subspace T. ",
+  0,
+  true
+)
+.add_prototype("rT")
+.add_parameter("rT", "int", "Size of T (Total variability matrix)");
+static PyObject* PyBobLearnEMIVectorMachine_resize(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int rT = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &rT)) Py_RETURN_NONE;
+
+  if (rT < 1){
+    PyErr_Format(PyExc_TypeError, "rU must be greater than one");
+    resize.print_usage();
+    return 0;
+  }
+
+  self->cxx->resize(rT);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** __compute_Id_TtSigmaInvT__ ***/
+static auto __compute_Id_TtSigmaInvT__ = bob::extension::FunctionDoc(
+  "__compute_Id_TtSigmaInvT__",
+  "",
+  "", 
+  true
+)
+.add_prototype("stats")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics as input");
+static PyObject* PyBobLearnEMIVectorMachine_compute_Id_TtSigmaInvT__(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = __compute_Id_TtSigmaInvT__.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMStats_Type, &stats))
+    Py_RETURN_NONE;
+
+
+  blitz::Array<double,2> output(self->cxx->getDimRt(), self->cxx->getDimRt());
+  self->cxx->computeIdTtSigmaInvT(*stats->cxx, output);
+  return PyBlitzArrayCxx_AsConstNumpy(output);
+  
+  BOB_CATCH_MEMBER("cannot __compute_Id_TtSigmaInvT__", 0)
+}
+
+
+
+/*** __compute_TtSigmaInvFnorm__ ***/
+static auto __compute_TtSigmaInvFnorm__ = bob::extension::FunctionDoc(
+  "__compute_TtSigmaInvFnorm__",
+  "",
+  "", 
+  true
+)
+.add_prototype("stats")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics as input");
+static PyObject* PyBobLearnEMIVectorMachine_compute_TtSigmaInvFnorm__(PyBobLearnEMIVectorMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = __compute_TtSigmaInvFnorm__.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMStats_Type, &stats))
+    Py_RETURN_NONE;
+
+
+  blitz::Array<double,1> output(self->cxx->getDimRt());
+  self->cxx->computeTtSigmaInvFnorm(*stats->cxx, output);
+  return PyBlitzArrayCxx_AsConstNumpy(output);
+  
+  BOB_CATCH_MEMBER("cannot __compute_TtSigmaInvFnorm__", 0)
+}
+
+
+
+
+static PyMethodDef PyBobLearnEMIVectorMachine_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMIVectorMachine_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMIVectorMachine_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMIVectorMachine_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMIVectorMachine_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },
+  {
+    __compute_Id_TtSigmaInvT__.name(),
+    (PyCFunction)PyBobLearnEMIVectorMachine_compute_Id_TtSigmaInvT__,
+    METH_VARARGS|METH_KEYWORDS,
+    __compute_Id_TtSigmaInvT__.doc()
+  },
+  {
+    __compute_TtSigmaInvFnorm__.name(),
+    (PyCFunction)PyBobLearnEMIVectorMachine_compute_TtSigmaInvFnorm__,
+    METH_VARARGS|METH_KEYWORDS,
+    __compute_TtSigmaInvFnorm__.doc()
+  },
+
+/*
+  {
+    forward.name(),
+    (PyCFunction)PyBobLearnEMIVectorMachine_Forward,
+    METH_VARARGS|METH_KEYWORDS,
+    forward.doc()
+  },*/
+
+
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the JFA type struct; will be initialized later
+PyTypeObject PyBobLearnEMIVectorMachine_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMIVectorMachine(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMIVectorMachine_Type.tp_name      = IVectorMachine_doc.name();
+  PyBobLearnEMIVectorMachine_Type.tp_basicsize = sizeof(PyBobLearnEMIVectorMachineObject);
+  PyBobLearnEMIVectorMachine_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMIVectorMachine_Type.tp_doc       = IVectorMachine_doc.doc();
+
+  // set the functions
+  PyBobLearnEMIVectorMachine_Type.tp_new         = PyType_GenericNew;
+  PyBobLearnEMIVectorMachine_Type.tp_init        = reinterpret_cast<initproc>(PyBobLearnEMIVectorMachine_init);
+  PyBobLearnEMIVectorMachine_Type.tp_dealloc     = reinterpret_cast<destructor>(PyBobLearnEMIVectorMachine_delete);
+  PyBobLearnEMIVectorMachine_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMIVectorMachine_RichCompare);
+  PyBobLearnEMIVectorMachine_Type.tp_methods     = PyBobLearnEMIVectorMachine_methods;
+  PyBobLearnEMIVectorMachine_Type.tp_getset      = PyBobLearnEMIVectorMachine_getseters;
+  PyBobLearnEMIVectorMachine_Type.tp_call        = reinterpret_cast<ternaryfunc>(PyBobLearnEMIVectorMachine_Forward);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMIVectorMachine_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMIVectorMachine_Type);
+  return PyModule_AddObject(module, "IVectorMachine", (PyObject*)&PyBobLearnEMIVectorMachine_Type) >= 0;
+}
+
diff --git a/bob/learn/em/ivector_trainer.cpp b/bob/learn/em/ivector_trainer.cpp
new file mode 100644
index 0000000..da2773e
--- /dev/null
+++ b/bob/learn/em/ivector_trainer.cpp
@@ -0,0 +1,453 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Tue 03 Fev 10:29:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+#include <boost/make_shared.hpp>
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static inline bool f(PyObject* o){return o != 0 && PyObject_IsTrue(o) > 0;}  /* converts PyObject to bool and returns false if object is NULL */
+
+static int extract_GMMStats_1d(PyObject *list,
+                             std::vector<bob::learn::em::GMMStats>& training_data)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++){
+  
+    PyBobLearnEMGMMStatsObject* stats;
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O!", &PyBobLearnEMGMMStats_Type, &stats)){
+      PyErr_Format(PyExc_RuntimeError, "Expected GMMStats objects");
+      return -1;
+    }
+    training_data.push_back(*stats->cxx);
+
+  }
+  return 0;
+}
+
+
+static auto IVectorTrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".IVectorTrainer",
+  "IVectorTrainer"
+  "An IVectorTrainer to learn a Total Variability subspace :math:`$T$`"
+  " (and eventually a covariance matrix :math:`$\\Sigma$`).",
+  " References: [Dehak2010]"
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructor. Builds a new IVectorTrainer",
+    "",
+    true
+  )
+  .add_prototype("update_sigma","")
+  .add_prototype("other","")
+  .add_prototype("","")
+  .add_parameter("other", ":py:class:`bob.learn.em.IVectorTrainer`", "A IVectorTrainer object to be copied.")
+  .add_parameter("update_sigma", "bool", "")
+);
+
+
+static int PyBobLearnEMIVectorTrainer_init_copy(PyBobLearnEMIVectorTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = IVectorTrainer_doc.kwlist(1);
+  PyBobLearnEMIVectorTrainerObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMIVectorTrainer_Type, &o)){
+    IVectorTrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::IVectorTrainer(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMIVectorTrainer_init_bool(PyBobLearnEMIVectorTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = IVectorTrainer_doc.kwlist(0);
+  PyObject* update_sigma   = 0;
+
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBool_Type, &update_sigma))
+    return -1;
+  
+  self->cxx.reset(new bob::learn::em::IVectorTrainer(f(update_sigma)));
+  return 0;
+}
+
+
+static int PyBobLearnEMIVectorTrainer_init(PyBobLearnEMIVectorTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  switch(nargs){
+    case 0:{
+      self->cxx.reset(new bob::learn::em::IVectorTrainer());
+      return 0;
+    }
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      // If the constructor input is IVectorTrainer object
+      if(PyBobLearnEMIVectorTrainer_Check(arg))            
+        return  PyBobLearnEMIVectorTrainer_init_copy(self, args, kwargs);
+      else
+        return PyBobLearnEMIVectorTrainer_init_bool(self, args, kwargs);      
+      
+    }
+    default:{
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires only 0 or 1 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      IVectorTrainer_doc.print_usage();
+      return -1;
+    }
+  }
+  BOB_CATCH_MEMBER("cannot create IVectorTrainer", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMIVectorTrainer_delete(PyBobLearnEMIVectorTrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMIVectorTrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMIVectorTrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMIVectorTrainer_RichCompare(PyBobLearnEMIVectorTrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMIVectorTrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMIVectorTrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare IVectorTrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+static auto acc_nij_wij2 = bob::extension::VariableDoc(
+  "acc_nij_wij2",
+  "array_like <float, 3D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMIVectorTrainer_get_acc_nij_wij2(PyBobLearnEMIVectorTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccNijWij2());
+  BOB_CATCH_MEMBER("acc_nij_wij2 could not be read", 0)
+}
+int PyBobLearnEMIVectorTrainer_set_acc_nij_wij2(PyBobLearnEMIVectorTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 3D array of floats", Py_TYPE(self)->tp_name, acc_nij_wij2.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,3>(o, "acc_nij_wij2");
+  if (!b) return -1;
+  self->cxx->setAccNijWij2(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_nij_wij2 could not be set", -1)
+}
+
+
+static auto acc_fnormij_wij = bob::extension::VariableDoc(
+  "acc_fnormij_wij",
+  "array_like <float, 3D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMIVectorTrainer_get_acc_fnormij_wij(PyBobLearnEMIVectorTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccFnormijWij());
+  BOB_CATCH_MEMBER("acc_fnormij_wij could not be read", 0)
+}
+int PyBobLearnEMIVectorTrainer_set_acc_fnormij_wij(PyBobLearnEMIVectorTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 3D array of floats", Py_TYPE(self)->tp_name, acc_fnormij_wij.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,3>(o, "acc_fnormij_wij");
+  if (!b) return -1;
+  self->cxx->setAccFnormijWij(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_fnormij_wij could not be set", -1)
+}
+
+
+static auto acc_nij = bob::extension::VariableDoc(
+  "acc_nij",
+  "array_like <float, 1D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMIVectorTrainer_get_acc_nij(PyBobLearnEMIVectorTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccNij());
+  BOB_CATCH_MEMBER("acc_nij could not be read", 0)
+}
+int PyBobLearnEMIVectorTrainer_set_acc_nij(PyBobLearnEMIVectorTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, acc_nij.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "acc_nij");
+  if (!b) return -1;
+  self->cxx->setAccNij(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_nij could not be set", -1)
+}
+
+
+static auto acc_snormij = bob::extension::VariableDoc(
+  "acc_snormij",
+  "array_like <float, 2D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMIVectorTrainer_get_acc_snormij(PyBobLearnEMIVectorTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccSnormij());
+  BOB_CATCH_MEMBER("acc_snormij could not be read", 0)
+}
+int PyBobLearnEMIVectorTrainer_set_acc_snormij(PyBobLearnEMIVectorTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, acc_snormij.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "acc_snormij");
+  if (!b) return -1;
+  self->cxx->setAccSnormij(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_snormij could not be set", -1)
+}
+
+
+
+
+static PyGetSetDef PyBobLearnEMIVectorTrainer_getseters[] = { 
+  {
+   acc_nij_wij2.name(),
+   (getter)PyBobLearnEMIVectorTrainer_get_acc_nij_wij2,
+   (setter)PyBobLearnEMIVectorTrainer_set_acc_nij_wij2,
+   acc_nij_wij2.doc(),
+   0
+  },  
+  {
+   acc_fnormij_wij.name(),
+   (getter)PyBobLearnEMIVectorTrainer_get_acc_fnormij_wij,
+   (setter)PyBobLearnEMIVectorTrainer_set_acc_fnormij_wij,
+   acc_fnormij_wij.doc(),
+   0
+  },
+  {
+   acc_nij.name(),
+   (getter)PyBobLearnEMIVectorTrainer_get_acc_nij,
+   (setter)PyBobLearnEMIVectorTrainer_set_acc_nij,
+   acc_nij.doc(),
+   0
+  },
+  {
+   acc_snormij.name(),
+   (getter)PyBobLearnEMIVectorTrainer_get_acc_snormij,
+   (setter)PyBobLearnEMIVectorTrainer_set_acc_snormij,
+   acc_snormij.doc(),
+   0
+  },
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialization before the EM steps",
+  "",
+  true
+)
+.add_prototype("ivector_machine")
+.add_parameter("ivector_machine", ":py:class:`bob.learn.em.ISVBase`", "IVectorMachine Object");
+static PyObject* PyBobLearnEMIVectorTrainer_initialize(PyBobLearnEMIVectorTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMIVectorMachineObject* ivector_machine = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMIVectorMachine_Type, &ivector_machine)) Py_RETURN_NONE;
+
+  self->cxx->initialize(*ivector_machine->cxx);
+
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** e_step ***/
+static auto e_step = bob::extension::FunctionDoc(
+  "e_step",
+  "Call the e-step procedure (for the U subspace).",
+  "",
+  true
+)
+.add_prototype("ivector_machine,stats")
+.add_parameter("ivector_machine", ":py:class:`bob.learn.em.ISVBase`", "IVectorMachine Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMIVectorTrainer_e_step(PyBobLearnEMIVectorTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = e_step.kwlist(0);
+
+  PyBobLearnEMIVectorMachineObject* ivector_machine = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMIVectorMachine_Type, &ivector_machine,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<bob::learn::em::GMMStats> training_data;
+  if(extract_GMMStats_1d(stats ,training_data)==0)
+    self->cxx->eStep(*ivector_machine->cxx, training_data);
+
+  Py_RETURN_NONE;
+  BOB_CATCH_MEMBER("cannot perform the e_step method", 0)
+}
+
+
+/*** m_step ***/
+static auto m_step = bob::extension::FunctionDoc(
+  "m_step",
+  "Call the m-step procedure (for the U subspace).",
+  "",
+  true
+)
+.add_prototype("ivector_machine")
+.add_parameter("ivector_machine", ":py:class:`bob.learn.em.ISVBase`", "IVectorMachine Object");
+static PyObject* PyBobLearnEMIVectorTrainer_m_step(PyBobLearnEMIVectorTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot 
+  char** kwlist = m_step.kwlist(0);
+
+  PyBobLearnEMIVectorMachineObject* ivector_machine = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMIVectorMachine_Type, &ivector_machine)) Py_RETURN_NONE;
+
+  self->cxx->mStep(*ivector_machine->cxx);
+
+  BOB_CATCH_MEMBER("cannot perform the m_step method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+static PyMethodDef PyBobLearnEMIVectorTrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMIVectorTrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    e_step.name(),
+    (PyCFunction)PyBobLearnEMIVectorTrainer_e_step,
+    METH_VARARGS|METH_KEYWORDS,
+    e_step.doc()
+  },
+  {
+    m_step.name(),
+    (PyCFunction)PyBobLearnEMIVectorTrainer_m_step,
+    METH_VARARGS|METH_KEYWORDS,
+    m_step.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMIVectorTrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMIVectorTrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMIVectorTrainer_Type.tp_name      = IVectorTrainer_doc.name();
+  PyBobLearnEMIVectorTrainer_Type.tp_basicsize = sizeof(PyBobLearnEMIVectorTrainerObject);
+  PyBobLearnEMIVectorTrainer_Type.tp_flags     = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance;
+  PyBobLearnEMIVectorTrainer_Type.tp_doc       = IVectorTrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMIVectorTrainer_Type.tp_new          = PyType_GenericNew;
+  PyBobLearnEMIVectorTrainer_Type.tp_init         = reinterpret_cast<initproc>(PyBobLearnEMIVectorTrainer_init);
+  PyBobLearnEMIVectorTrainer_Type.tp_dealloc      = reinterpret_cast<destructor>(PyBobLearnEMIVectorTrainer_delete);
+  PyBobLearnEMIVectorTrainer_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMIVectorTrainer_RichCompare);
+  PyBobLearnEMIVectorTrainer_Type.tp_methods      = PyBobLearnEMIVectorTrainer_methods;
+  PyBobLearnEMIVectorTrainer_Type.tp_getset       = PyBobLearnEMIVectorTrainer_getseters;
+  //PyBobLearnEMIVectorTrainer_Type.tp_call         = reinterpret_cast<ternaryfunc>(PyBobLearnEMIVectorTrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMIVectorTrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMIVectorTrainer_Type);
+  return PyModule_AddObject(module, "_IVectorTrainer", (PyObject*)&PyBobLearnEMIVectorTrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/jfa_base.cpp b/bob/learn/em/jfa_base.cpp
new file mode 100644
index 0000000..d5c3d9b
--- /dev/null
+++ b/bob/learn/em/jfa_base.cpp
@@ -0,0 +1,578 @@
+/**
+ * @date Wed Jan 27 17:03:15 2015 +0200
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto JFABase_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".JFABase",
+  "A JFABase instance can be seen as a container for U, V and D when performing Joint Factor Analysis (JFA)."
+  "References: [Vogt2008,McCool2013]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructor. Builds a new JFABase",
+    "",
+    true
+  )
+  .add_prototype("gmm,ru,rv","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+  .add_prototype("","")
+
+  .add_parameter("gmm", ":py:class:`bob.learn.em.GMMMachine`", "The Universal Background Model.")
+  .add_parameter("ru", "int", "Size of U (Within client variation matrix). In the end the U matrix will have (number_of_gaussians * feature_dimension x ru)")
+  .add_parameter("rv", "int", "Size of V (Between client variation matrix). In the end the U matrix will have (number_of_gaussians * feature_dimension x rv)")
+  .add_parameter("other", ":py:class:`bob.learn.em.JFABase`", "A JFABase object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMJFABase_init_copy(PyBobLearnEMJFABaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = JFABase_doc.kwlist(1);
+  PyBobLearnEMJFABaseObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMJFABase_Type, &o)){
+    JFABase_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::JFABase(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMJFABase_init_hdf5(PyBobLearnEMJFABaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = JFABase_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    JFABase_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::JFABase(*(config->f)));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMJFABase_init_ubm(PyBobLearnEMJFABaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = JFABase_doc.kwlist(0);
+  
+  PyBobLearnEMGMMMachineObject* ubm;
+  int ru = 1;
+  int rv = 1;
+
+  //Here we have to select which keyword argument to read  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!ii", kwlist, &PyBobLearnEMGMMMachine_Type, &ubm,
+                                                                &ru, &rv)){
+    JFABase_doc.print_usage();
+    return -1;
+  }
+  
+  if(ru < 0){
+    PyErr_Format(PyExc_TypeError, "ru argument must be greater than or equal to one");
+    return -1;
+  }
+  
+  if(rv < 0){
+    PyErr_Format(PyExc_TypeError, "rv argument must be greater than or equal to one");
+    return -1;
+  }
+  
+  self->cxx.reset(new bob::learn::em::JFABase(ubm->cxx, ru, rv));
+  return 0;
+}
+
+
+static int PyBobLearnEMJFABase_init(PyBobLearnEMJFABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+    
+  switch (nargs) {
+
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      // If the constructor input is Gaussian object
+     if (PyBobLearnEMJFABase_Check(arg))
+       return PyBobLearnEMJFABase_init_copy(self, args, kwargs);
+      // If the constructor input is a HDF5
+     else if (PyBobIoHDF5File_Check(arg))
+       return PyBobLearnEMJFABase_init_hdf5(self, args, kwargs);
+    }
+    case 3:
+      return PyBobLearnEMJFABase_init_ubm(self, args, kwargs);
+    default:
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 1 or 3 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      JFABase_doc.print_usage();
+      return -1;
+  }
+  BOB_CATCH_MEMBER("cannot create JFABase", 0)
+  return 0;
+}
+
+
+
+static void PyBobLearnEMJFABase_delete(PyBobLearnEMJFABaseObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMJFABase_RichCompare(PyBobLearnEMJFABaseObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMJFABase_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMJFABaseObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare JFABase objects", 0)
+}
+
+int PyBobLearnEMJFABase_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMJFABase_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int, int, int)",
+  "A tuple that represents the number of gaussians, dimensionality of each Gaussian, dimensionality of the rU (within client variability matrix) and dimensionality of the rV (between client variability matrix) ``(#Gaussians, #Inputs, #rU, #rV)``.",
+  ""
+);
+PyObject* PyBobLearnEMJFABase_getShape(PyBobLearnEMJFABaseObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i,i,i)", self->cxx->getNGaussians(), self->cxx->getNInputs(), self->cxx->getDimRu(), self->cxx->getDimRv());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+/***** supervector_length *****/
+static auto supervector_length = bob::extension::VariableDoc(
+  "supervector_length",
+  "int",
+
+  "Returns the supervector length."
+  "NGaussians x NInputs: Number of Gaussian components by the feature dimensionality",
+  
+  "@warning An exception is thrown if no Universal Background Model has been set yet."
+);
+PyObject* PyBobLearnEMJFABase_getSupervectorLength(PyBobLearnEMJFABaseObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("i", self->cxx->getSupervectorLength());
+  BOB_CATCH_MEMBER("supervector_length could not be read", 0)
+}
+
+
+/***** u *****/
+static auto U = bob::extension::VariableDoc(
+  "u",
+  "array_like <float, 2D>",
+  "Returns the U matrix (within client variability matrix)",
+  ""
+);
+PyObject* PyBobLearnEMJFABase_getU(PyBobLearnEMJFABaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getU());
+  BOB_CATCH_MEMBER("``u`` could not be read", 0)
+}
+int PyBobLearnEMJFABase_setU(PyBobLearnEMJFABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, U.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "u");
+  if (!b) return -1;
+  self->cxx->setU(*b);
+  return 0;
+  BOB_CATCH_MEMBER("``u`` matrix could not be set", -1)
+}
+
+/***** v *****/
+static auto V = bob::extension::VariableDoc(
+  "v",
+  "array_like <float, 2D>",
+  "Returns the V matrix (between client variability matrix)",
+  ""
+);
+PyObject* PyBobLearnEMJFABase_getV(PyBobLearnEMJFABaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getV());
+  BOB_CATCH_MEMBER("``v`` could not be read", 0)
+}
+int PyBobLearnEMJFABase_setV(PyBobLearnEMJFABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, V.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "v");
+  if (!b) return -1;
+  self->cxx->setV(*b);
+  return 0;
+  BOB_CATCH_MEMBER("``v`` matrix could not be set", -1)
+}
+
+
+/***** d *****/
+static auto D = bob::extension::VariableDoc(
+  "d",
+  "array_like <float, 1D>",
+  "Returns the diagonal matrix diag(d) (as a 1D vector)",
+  ""
+);
+PyObject* PyBobLearnEMJFABase_getD(PyBobLearnEMJFABaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getD());
+  BOB_CATCH_MEMBER("``d`` could not be read", 0)
+}
+int PyBobLearnEMJFABase_setD(PyBobLearnEMJFABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, D.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "d");
+  if (!b) return -1;
+  self->cxx->setD(*b);
+  return 0;
+  BOB_CATCH_MEMBER("``d`` matrix could not be set", -1)
+}
+
+
+/***** ubm *****/
+static auto ubm = bob::extension::VariableDoc(
+  "ubm",
+  ":py:class:`bob.learn.em.GMMMachine`",
+  "Returns the UBM (Universal Background Model",
+  ""
+);
+PyObject* PyBobLearnEMJFABase_getUBM(PyBobLearnEMJFABaseObject* self, void*){
+  BOB_TRY
+
+  boost::shared_ptr<bob::learn::em::GMMMachine> ubm_gmmMachine = self->cxx->getUbm();
+
+  //Allocating the correspondent python object
+  PyBobLearnEMGMMMachineObject* retval =
+    (PyBobLearnEMGMMMachineObject*)PyBobLearnEMGMMMachine_Type.tp_alloc(&PyBobLearnEMGMMMachine_Type, 0);
+  retval->cxx = ubm_gmmMachine;
+
+  return Py_BuildValue("O",retval);
+  BOB_CATCH_MEMBER("ubm could not be read", 0)
+}
+int PyBobLearnEMJFABase_setUBM(PyBobLearnEMJFABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyBobLearnEMGMMMachine_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a :py:class:`bob.learn.em.GMMMachine`", Py_TYPE(self)->tp_name, ubm.name());
+    return -1;
+  }
+
+  PyBobLearnEMGMMMachineObject* ubm_gmmMachine = 0;
+  PyArg_Parse(value, "O!", &PyBobLearnEMGMMMachine_Type,&ubm_gmmMachine);
+
+  self->cxx->setUbm(ubm_gmmMachine->cxx);
+
+  return 0;
+  BOB_CATCH_MEMBER("ubm could not be set", -1)  
+}
+
+
+
+
+static PyGetSetDef PyBobLearnEMJFABase_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMJFABase_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+  
+  {
+   supervector_length.name(),
+   (getter)PyBobLearnEMJFABase_getSupervectorLength,
+   0,
+   supervector_length.doc(),
+   0
+  },
+  
+  {
+   U.name(),
+   (getter)PyBobLearnEMJFABase_getU,
+   (setter)PyBobLearnEMJFABase_setU,
+   U.doc(),
+   0
+  },
+  
+  {
+   V.name(),
+   (getter)PyBobLearnEMJFABase_getV,
+   (setter)PyBobLearnEMJFABase_setV,
+   V.doc(),
+   0
+  },
+
+  {
+   D.name(),
+   (getter)PyBobLearnEMJFABase_getD,
+   (setter)PyBobLearnEMJFABase_setD,
+   D.doc(),
+   0
+  },
+
+  {
+   ubm.name(),
+   (getter)PyBobLearnEMJFABase_getUBM,
+   (setter)PyBobLearnEMJFABase_setUBM,
+   ubm.doc(),
+   0
+  },
+
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the JFABase to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMJFABase_Save(PyBobLearnEMJFABaseObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the JFABase to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMJFABase_Load(PyBobLearnEMJFABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this JFABase with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.JFABase`", "A JFABase object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMJFABase_IsSimilarTo(PyBobLearnEMJFABaseObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMJFABaseObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMJFABase_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Resets the dimensionality of the subspace U and V. "
+  "U and V are hence uninitialized",
+  0,
+  true
+)
+.add_prototype("rU,rV")
+.add_parameter("rU", "int", "Size of U (Within client variation matrix)")
+.add_parameter("rV", "int", "Size of V (Between client variation matrix)");
+static PyObject* PyBobLearnEMJFABase_resize(PyBobLearnEMJFABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int rU = 0;
+  int rV = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii", kwlist, &rU, &rV)) Py_RETURN_NONE;
+
+  if (rU <= 0){
+    PyErr_Format(PyExc_TypeError, "rU must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+  if (rV <= 0){
+    PyErr_Format(PyExc_TypeError, "rV must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+  self->cxx->resize(rU, rV);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+
+static PyMethodDef PyBobLearnEMJFABase_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMJFABase_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMJFABase_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMJFABase_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMJFABase_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },
+  
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the JFA type struct; will be initialized later
+PyTypeObject PyBobLearnEMJFABase_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMJFABase(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMJFABase_Type.tp_name      = JFABase_doc.name();
+  PyBobLearnEMJFABase_Type.tp_basicsize = sizeof(PyBobLearnEMJFABaseObject);
+  PyBobLearnEMJFABase_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMJFABase_Type.tp_doc       = JFABase_doc.doc();
+
+  // set the functions
+  PyBobLearnEMJFABase_Type.tp_new         = PyType_GenericNew;
+  PyBobLearnEMJFABase_Type.tp_init        = reinterpret_cast<initproc>(PyBobLearnEMJFABase_init);
+  PyBobLearnEMJFABase_Type.tp_dealloc     = reinterpret_cast<destructor>(PyBobLearnEMJFABase_delete);
+  PyBobLearnEMJFABase_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMJFABase_RichCompare);
+  PyBobLearnEMJFABase_Type.tp_methods     = PyBobLearnEMJFABase_methods;
+  PyBobLearnEMJFABase_Type.tp_getset      = PyBobLearnEMJFABase_getseters;
+  //PyBobLearnEMJFABase_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMJFABase_forward);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMJFABase_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMJFABase_Type);
+  return PyModule_AddObject(module, "JFABase", (PyObject*)&PyBobLearnEMJFABase_Type) >= 0;
+}
+
diff --git a/bob/learn/em/jfa_machine.cpp b/bob/learn/em/jfa_machine.cpp
new file mode 100644
index 0000000..5c78b6b
--- /dev/null
+++ b/bob/learn/em/jfa_machine.cpp
@@ -0,0 +1,650 @@
+/**
+ * @date Wed Jan 28 17:03:15 2015 +0200
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto JFAMachine_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".JFAMachine",
+  "A JFAMachine. An attached :py:class:`bob.learn.em.JFABase` should be provided for Joint Factor Analysis. The :py:class:`bob.learn.em.JFAMachine` carries information about the speaker factors y and z, whereas a :py:class:`bob.learn.em.JFABase` carries information about the matrices U, V and D."
+  "References: [Vogt2008,McCool2013]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructor. Builds a new JFAMachine",
+    "",
+    true
+  )
+  .add_prototype("jfa_base","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+
+  .add_parameter("jfa", ":py:class:`bob.learn.em.JFABase`", "The JFABase associated with this machine")
+  .add_parameter("other", ":py:class:`bob.learn.em.JFAMachine`", "A JFAMachine object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMJFAMachine_init_copy(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = JFAMachine_doc.kwlist(1);
+  PyBobLearnEMJFAMachineObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMJFAMachine_Type, &o)){
+    JFAMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::JFAMachine(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMJFAMachine_init_hdf5(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = JFAMachine_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    JFAMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::JFAMachine(*(config->f)));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMJFAMachine_init_jfabase(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = JFAMachine_doc.kwlist(0);
+  
+  PyBobLearnEMJFABaseObject* jfa_base;
+
+  //Here we have to select which keyword argument to read  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base)){
+    JFAMachine_doc.print_usage();
+    return -1;
+  }
+  
+  self->cxx.reset(new bob::learn::em::JFAMachine(jfa_base->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMJFAMachine_init(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  if(nargs == 1){
+    //Reading the input argument
+    PyObject* arg = 0;
+    if (PyTuple_Size(args))
+      arg = PyTuple_GET_ITEM(args, 0);
+    else {
+      PyObject* tmp = PyDict_Values(kwargs);
+      auto tmp_ = make_safe(tmp);
+      arg = PyList_GET_ITEM(tmp, 0);
+    }
+
+    // If the constructor input is Gaussian object
+    if (PyBobLearnEMJFAMachine_Check(arg))
+      return PyBobLearnEMJFAMachine_init_copy(self, args, kwargs);
+    // If the constructor input is a HDF5
+    else if (PyBobIoHDF5File_Check(arg))
+      return PyBobLearnEMJFAMachine_init_hdf5(self, args, kwargs);
+    // If the constructor input is a JFABase Object
+    else
+      return PyBobLearnEMJFAMachine_init_jfabase(self, args, kwargs);
+  }
+  else{
+    PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires only 1 argument, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+    JFAMachine_doc.print_usage();
+    return -1;
+  }
+  
+  BOB_CATCH_MEMBER("cannot create JFAMachine", 0)
+  return 0;
+}
+
+static void PyBobLearnEMJFAMachine_delete(PyBobLearnEMJFAMachineObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMJFAMachine_RichCompare(PyBobLearnEMJFAMachineObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMJFAMachine_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMJFAMachineObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare JFAMachine objects", 0)
+}
+
+int PyBobLearnEMJFAMachine_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMJFAMachine_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int, int, int)",
+  "A tuple that represents the number of gaussians, dimensionality of each Gaussian, dimensionality of the rU (within client variability matrix) and dimensionality of the rV (between client variability matrix) ``(#Gaussians, #Inputs, #rU, #rV)``.",
+  ""
+);
+PyObject* PyBobLearnEMJFAMachine_getShape(PyBobLearnEMJFAMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i,i,i)", self->cxx->getNGaussians(), self->cxx->getNInputs(), self->cxx->getDimRu(), self->cxx->getDimRv());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+/***** supervector_length *****/
+static auto supervector_length = bob::extension::VariableDoc(
+  "supervector_length",
+  "int",
+
+  "Returns the supervector length."
+  "NGaussians x NInputs: Number of Gaussian components by the feature dimensionality",
+  
+  "@warning An exception is thrown if no Universal Background Model has been set yet."
+);
+PyObject* PyBobLearnEMJFAMachine_getSupervectorLength(PyBobLearnEMJFAMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("i", self->cxx->getSupervectorLength());
+  BOB_CATCH_MEMBER("supervector_length could not be read", 0)
+}
+
+
+/***** y *****/
+static auto Y = bob::extension::VariableDoc(
+  "y",
+  "array_like <float, 1D>",
+  "Returns the y speaker factor. Eq (30) from [McCool2013]",
+  ""
+);
+PyObject* PyBobLearnEMJFAMachine_getY(PyBobLearnEMJFAMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getY());
+  BOB_CATCH_MEMBER("`y` could not be read", 0)
+}
+int PyBobLearnEMJFAMachine_setY(PyBobLearnEMJFAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, Y.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "y");
+  if (!b) return -1;
+  self->cxx->setY(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`y` vector could not be set", -1)
+}
+
+
+/***** z *****/
+static auto Z = bob::extension::VariableDoc(
+  "z",
+  "array_like <float, 1D>",
+  "Returns the z speaker factor. Eq (31) from [McCool2013]",
+  ""
+);
+PyObject* PyBobLearnEMJFAMachine_getZ(PyBobLearnEMJFAMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getZ());
+  BOB_CATCH_MEMBER("`z` could not be read", 0)
+}
+int PyBobLearnEMJFAMachine_setZ(PyBobLearnEMJFAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, Z.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "z");
+  if (!b) return -1;
+  self->cxx->setZ(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`z` vector could not be set", -1)
+}
+
+
+/***** x *****/
+static auto X = bob::extension::VariableDoc(
+  "x",
+  "array_like <float, 1D>",
+  "Returns the X session factor. Eq (29) from [McCool2013]",
+  "The latent variable x (last one computed). This is a feature provided for convenience, but this attribute is not 'part' of the machine. The session latent variable x is indeed not class-specific, but depends on the sample considered. Furthermore, it is not saved into the machine or used when comparing machines."
+);
+PyObject* PyBobLearnEMJFAMachine_getX(PyBobLearnEMJFAMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getX());
+  BOB_CATCH_MEMBER("`x` could not be read", 0)
+}
+
+
+/***** jfa_base *****/
+static auto jfa_base = bob::extension::VariableDoc(
+  "jfa_base",
+  ":py:class:`bob.learn.em.JFABase`",
+  "The JFABase attached to this machine",
+  ""
+);
+PyObject* PyBobLearnEMJFAMachine_getJFABase(PyBobLearnEMJFAMachineObject* self, void*){
+  BOB_TRY
+
+  boost::shared_ptr<bob::learn::em::JFABase> jfa_base_o = self->cxx->getJFABase();
+
+  //Allocating the correspondent python object
+  PyBobLearnEMJFABaseObject* retval =
+    (PyBobLearnEMJFABaseObject*)PyBobLearnEMJFABase_Type.tp_alloc(&PyBobLearnEMJFABase_Type, 0);
+  retval->cxx = jfa_base_o;
+
+  return Py_BuildValue("O",retval);
+  BOB_CATCH_MEMBER("jfa_base could not be read", 0)
+}
+int PyBobLearnEMJFAMachine_setJFABase(PyBobLearnEMJFAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyBobLearnEMJFABase_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a :py:class:`bob.learn.em.JFABase`", Py_TYPE(self)->tp_name, jfa_base.name());
+    return -1;
+  }
+
+  PyBobLearnEMJFABaseObject* jfa_base_o = 0;
+  PyArg_Parse(value, "O!", &PyBobLearnEMJFABase_Type,&jfa_base_o);
+
+  self->cxx->setJFABase(jfa_base_o->cxx);
+
+  return 0;
+  BOB_CATCH_MEMBER("jfa_base could not be set", -1)  
+}
+
+
+
+
+static PyGetSetDef PyBobLearnEMJFAMachine_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMJFAMachine_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+  
+  {
+   supervector_length.name(),
+   (getter)PyBobLearnEMJFAMachine_getSupervectorLength,
+   0,
+   supervector_length.doc(),
+   0
+  },
+  
+  {
+   jfa_base.name(),
+   (getter)PyBobLearnEMJFAMachine_getJFABase,
+   (setter)PyBobLearnEMJFAMachine_setJFABase,
+   jfa_base.doc(),
+   0
+  },
+
+  {
+   Y.name(),
+   (getter)PyBobLearnEMJFAMachine_getY,
+   (setter)PyBobLearnEMJFAMachine_setY,
+   Y.doc(),
+   0
+  },
+
+  {
+   Z.name(),
+   (getter)PyBobLearnEMJFAMachine_getZ,
+   (setter)PyBobLearnEMJFAMachine_setZ,
+   Z.doc(),
+   0
+  },
+
+  {
+   X.name(),
+   (getter)PyBobLearnEMJFAMachine_getX,
+   0,
+   X.doc(),
+   0
+  },
+
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the JFAMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMJFAMachine_Save(PyBobLearnEMJFAMachineObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the JFAMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMJFAMachine_Load(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this JFAMachine with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.JFAMachine`", "A JFAMachine object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMJFAMachine_IsSimilarTo(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMJFAMachineObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMJFAMachine_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** estimate_x ***/
+static auto estimate_x = bob::extension::FunctionDoc(
+  "estimate_x",
+  "Estimates the session offset x (LPT assumption) given GMM statistics.",
+  "Estimates x from the GMM statistics considering the LPT assumption, that is the latent session variable x is approximated using the UBM", 
+  true
+)
+.add_prototype("stats,input")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics of the GMM")
+.add_parameter("input", "array_like <float, 1D>", "Input vector");
+static PyObject* PyBobLearnEMJFAMachine_estimateX(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = estimate_x.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  PyBlitzArrayObject* input           = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMStats_Type, &stats, 
+                                                                 &PyBlitzArray_Converter,&input))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+  self->cxx->estimateX(*stats->cxx, *PyBlitzArrayCxx_AsBlitz<double,1>(input));
+
+  BOB_CATCH_MEMBER("cannot estimate X", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** estimate_ux ***/
+static auto estimate_ux = bob::extension::FunctionDoc(
+  "estimate_ux",
+  "Estimates Ux (LPT assumption) given GMM statistics.",
+  "Estimates Ux from the GMM statistics considering the LPT assumption, that is the latent session variable x is approximated using the UBM.", 
+  true
+)
+.add_prototype("stats,input")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics of the GMM")
+.add_parameter("input", "array_like <float, 1D>", "Input vector");
+static PyObject* PyBobLearnEMJFAMachine_estimateUx(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = estimate_ux.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  PyBlitzArrayObject* input           = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMStats_Type, &stats, 
+                                                                 &PyBlitzArray_Converter,&input))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+  self->cxx->estimateUx(*stats->cxx, *PyBlitzArrayCxx_AsBlitz<double,1>(input));
+
+  BOB_CATCH_MEMBER("cannot estimate Ux", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** forward_ux ***/
+static auto forward_ux = bob::extension::FunctionDoc(
+  "forward_ux",
+  "Computes a score for the given UBM statistics and given the Ux vector",
+  "", 
+  true
+)
+.add_prototype("stats,ux")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics as input")
+.add_parameter("ux", "array_like <float, 1D>", "Input vector");
+static PyObject* PyBobLearnEMJFAMachine_ForwardUx(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = forward_ux.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  PyBlitzArrayObject* ux_input        = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMGMMStats_Type, &stats, 
+                                                                 &PyBlitzArray_Converter,&ux_input))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto ux_input_ = make_safe(ux_input);
+  double score = self->cxx->forward(*stats->cxx, *PyBlitzArrayCxx_AsBlitz<double,1>(ux_input));
+  
+  return Py_BuildValue("d", score);
+  BOB_CATCH_MEMBER("cannot forward_ux", 0)
+
+}
+
+
+/*** forward ***/
+static auto forward = bob::extension::FunctionDoc(
+  "forward",
+  "Execute the machine",
+  "", 
+  true
+)
+.add_prototype("stats")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "Statistics as input");
+static PyObject* PyBobLearnEMJFAMachine_Forward(PyBobLearnEMJFAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  char** kwlist = forward.kwlist(0);
+
+  PyBobLearnEMGMMStatsObject* stats = 0;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMGMMStats_Type, &stats))
+    Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  double score = self->cxx->forward(*stats->cxx);
+
+  return Py_BuildValue("d", score);
+  BOB_CATCH_MEMBER("cannot forward", 0)
+
+}
+
+
+static PyMethodDef PyBobLearnEMJFAMachine_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMJFAMachine_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMJFAMachine_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMJFAMachine_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  
+  {
+    estimate_x.name(),
+    (PyCFunction)PyBobLearnEMJFAMachine_estimateX,
+    METH_VARARGS|METH_KEYWORDS,
+    estimate_x.doc()
+  },
+  
+  {
+    estimate_ux.name(),
+    (PyCFunction)PyBobLearnEMJFAMachine_estimateUx,
+    METH_VARARGS|METH_KEYWORDS,
+    estimate_ux.doc()
+  },
+
+  {
+    forward_ux.name(),
+    (PyCFunction)PyBobLearnEMJFAMachine_ForwardUx,
+    METH_VARARGS|METH_KEYWORDS,
+    forward_ux.doc()
+  },
+/*
+  {
+    forward.name(),
+    (PyCFunction)PyBobLearnEMJFAMachine_Forward,
+    METH_VARARGS|METH_KEYWORDS,
+    forward.doc()
+  },*/
+
+
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the JFA type struct; will be initialized later
+PyTypeObject PyBobLearnEMJFAMachine_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMJFAMachine(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMJFAMachine_Type.tp_name      = JFAMachine_doc.name();
+  PyBobLearnEMJFAMachine_Type.tp_basicsize = sizeof(PyBobLearnEMJFAMachineObject);
+  PyBobLearnEMJFAMachine_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMJFAMachine_Type.tp_doc       = JFAMachine_doc.doc();
+
+  // set the functions
+  PyBobLearnEMJFAMachine_Type.tp_new         = PyType_GenericNew;
+  PyBobLearnEMJFAMachine_Type.tp_init        = reinterpret_cast<initproc>(PyBobLearnEMJFAMachine_init);
+  PyBobLearnEMJFAMachine_Type.tp_dealloc     = reinterpret_cast<destructor>(PyBobLearnEMJFAMachine_delete);
+  PyBobLearnEMJFAMachine_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMJFAMachine_RichCompare);
+  PyBobLearnEMJFAMachine_Type.tp_methods     = PyBobLearnEMJFAMachine_methods;
+  PyBobLearnEMJFAMachine_Type.tp_getset      = PyBobLearnEMJFAMachine_getseters;
+  PyBobLearnEMJFAMachine_Type.tp_call        = reinterpret_cast<ternaryfunc>(PyBobLearnEMJFAMachine_Forward);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMJFAMachine_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMJFAMachine_Type);
+  return PyModule_AddObject(module, "JFAMachine", (PyObject*)&PyBobLearnEMJFAMachine_Type) >= 0;
+}
+
diff --git a/bob/learn/em/jfa_trainer.cpp b/bob/learn/em/jfa_trainer.cpp
new file mode 100644
index 0000000..ffe4147
--- /dev/null
+++ b/bob/learn/em/jfa_trainer.cpp
@@ -0,0 +1,1013 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Sun 01 Fev 09:40:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+#include <boost/make_shared.hpp>
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static int extract_GMMStats_1d(PyObject *list,
+                             std::vector<boost::shared_ptr<bob::learn::em::GMMStats> >& training_data)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++){
+  
+    PyBobLearnEMGMMStatsObject* stats;
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O!", &PyBobLearnEMGMMStats_Type, &stats)){
+      PyErr_Format(PyExc_RuntimeError, "Expected GMMStats objects");
+      return -1;
+    }
+    training_data.push_back(stats->cxx);
+  }
+  return 0;
+}
+
+static int extract_GMMStats_2d(PyObject *list,
+                             std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > >& training_data)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++)
+  {
+    PyObject* another_list;
+    PyArg_Parse(PyList_GetItem(list, i), "O!", &PyList_Type, &another_list);
+
+    std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > another_training_data;
+    for (int j=0; j<PyList_GET_SIZE(another_list); j++){
+
+      PyBobLearnEMGMMStatsObject* stats;
+      if (!PyArg_Parse(PyList_GetItem(another_list, j), "O!", &PyBobLearnEMGMMStats_Type, &stats)){
+        PyErr_Format(PyExc_RuntimeError, "Expected GMMStats objects");
+        return -1;
+      }
+      another_training_data.push_back(stats->cxx);
+    }
+    training_data.push_back(another_training_data);
+  }
+  return 0;
+}
+
+template <int N>
+static PyObject* vector_as_list(const std::vector<blitz::Array<double,N> >& vec)
+{
+  PyObject* list = PyList_New(vec.size());
+  for(size_t i=0; i<vec.size(); i++){
+    blitz::Array<double,N> numpy_array = vec[i];
+    PyObject* numpy_py_object = PyBlitzArrayCxx_AsNumpy(numpy_array);
+    PyList_SET_ITEM(list, i, numpy_py_object);
+  }
+  return list;
+}
+
+template <int N>
+int list_as_vector(PyObject* list, std::vector<blitz::Array<double,N> >& vec)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++)
+  {
+    PyBlitzArrayObject* blitz_object; 
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O&", &PyBlitzArray_Converter, &blitz_object)){
+      PyErr_Format(PyExc_RuntimeError, "Expected numpy array object");
+      return -1;
+    }
+    auto blitz_object_ = make_safe(blitz_object);
+    vec.push_back(*PyBlitzArrayCxx_AsBlitz<double,N>(blitz_object));
+  }
+  return 0;
+}
+
+
+
+static auto JFATrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".JFATrainer",
+  "JFATrainer"
+  "References: [Vogt2008,McCool2013]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Constructor. Builds a new JFATrainer",
+    "",
+    true
+  )
+  .add_prototype("other","")
+  .add_prototype("","")
+  .add_parameter("other", ":py:class:`bob.learn.em.JFATrainer`", "A JFATrainer object to be copied.")
+);
+
+
+static int PyBobLearnEMJFATrainer_init_copy(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = JFATrainer_doc.kwlist(0);
+  PyBobLearnEMJFATrainerObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMJFATrainer_Type, &o)){
+    JFATrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::JFATrainer(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMJFATrainer_init(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  switch(nargs){
+    case 0:{
+      self->cxx.reset(new bob::learn::em::JFATrainer());
+      return 0;
+    }
+    case 1:{
+      // If the constructor input is JFATrainer object
+      return PyBobLearnEMJFATrainer_init_copy(self, args, kwargs);
+    }
+    default:{
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires only 0 and 1 argument, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      JFATrainer_doc.print_usage();
+      return -1;
+    }
+  }
+  BOB_CATCH_MEMBER("cannot create JFATrainer", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMJFATrainer_delete(PyBobLearnEMJFATrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMJFATrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMJFATrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMJFATrainer_RichCompare(PyBobLearnEMJFATrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMJFATrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMJFATrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare JFATrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+static auto acc_v_a1 = bob::extension::VariableDoc(
+  "acc_v_a1",
+  "array_like <float, 3D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_acc_v_a1(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccVA1());
+  BOB_CATCH_MEMBER("acc_v_a1 could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_acc_v_a1(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 3D array of floats", Py_TYPE(self)->tp_name, acc_v_a1.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,3>(o, "acc_v_a1");
+  if (!b) return -1;
+  self->cxx->setAccVA1(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_v_a1 could not be set", -1)
+}
+
+
+static auto acc_v_a2 = bob::extension::VariableDoc(
+  "acc_v_a2",
+  "array_like <float, 2D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_acc_v_a2(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccVA2());
+  BOB_CATCH_MEMBER("acc_v_a2 could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_acc_v_a2(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, acc_v_a2.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "acc_v_a2");
+  if (!b) return -1;
+  self->cxx->setAccVA2(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_v_a2 could not be set", -1)
+}
+
+
+static auto acc_u_a1 = bob::extension::VariableDoc(
+  "acc_u_a1",
+  "array_like <float, 3D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_acc_u_a1(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccUA1());
+  BOB_CATCH_MEMBER("acc_u_a1 could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_acc_u_a1(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 3D array of floats", Py_TYPE(self)->tp_name, acc_u_a1.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,3>(o, "acc_u_a1");
+  if (!b) return -1;
+  self->cxx->setAccUA1(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_u_a1 could not be set", -1)
+}
+
+
+static auto acc_u_a2 = bob::extension::VariableDoc(
+  "acc_u_a2",
+  "array_like <float, 2D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_acc_u_a2(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccUA2());
+  BOB_CATCH_MEMBER("acc_u_a2 could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_acc_u_a2(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, acc_u_a2.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "acc_u_a2");
+  if (!b) return -1;
+  self->cxx->setAccUA2(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_u_a2 could not be set", -1)
+}
+
+
+static auto acc_d_a1 = bob::extension::VariableDoc(
+  "acc_d_a1",
+  "array_like <float, 1D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_acc_d_a1(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccDA1());
+  BOB_CATCH_MEMBER("acc_d_a1 could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_acc_d_a1(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, acc_d_a1.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "acc_d_a1");
+  if (!b) return -1;
+  self->cxx->setAccDA1(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_d_a1 could not be set", -1)
+}
+
+
+static auto acc_d_a2 = bob::extension::VariableDoc(
+  "acc_d_a2",
+  "array_like <float, 1D>",
+  "Accumulator updated during the E-step",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_acc_d_a2(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAccDA2());
+  BOB_CATCH_MEMBER("acc_d_a2 could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_acc_d_a2(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, acc_d_a2.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "acc_d_a2");
+  if (!b) return -1;
+  self->cxx->setAccDA2(*b);
+  return 0;
+  BOB_CATCH_MEMBER("acc_d_a2 could not be set", -1)
+}
+
+
+static auto __X__ = bob::extension::VariableDoc(
+  "__X__",
+  "list",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_X(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return vector_as_list(self->cxx->getX());
+  BOB_CATCH_MEMBER("__X__ could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_X(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  if (!PyList_Check(value)){
+    PyErr_Format(PyExc_TypeError, "Expected a list in `%s'", __X__.name());
+    return -1;
+  }
+    
+  std::vector<blitz::Array<double,2> > data;
+  if(list_as_vector(value ,data)==0){
+    self->cxx->setX(data);
+  }
+    
+  return 0;
+  BOB_CATCH_MEMBER("__X__ could not be written", 0)
+}
+
+
+
+static auto __Y__ = bob::extension::VariableDoc(
+  "__Y__",
+  "list",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_Y(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return vector_as_list(self->cxx->getY());
+  BOB_CATCH_MEMBER("__Y__ could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_Y(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  if (!PyList_Check(value)){
+    PyErr_Format(PyExc_TypeError, "Expected a list in `%s'", __Y__.name());
+    return -1;
+  }
+    
+  std::vector<blitz::Array<double,1> > data;
+  if(list_as_vector(value ,data)==0){
+    self->cxx->setY(data);
+  }
+    
+  return 0;
+  BOB_CATCH_MEMBER("__Y__ could not be written", 0)
+}
+
+
+
+static auto __Z__ = bob::extension::VariableDoc(
+  "__Z__",
+  "list",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_get_Z(PyBobLearnEMJFATrainerObject* self, void*){
+  BOB_TRY
+  return vector_as_list(self->cxx->getZ());
+  BOB_CATCH_MEMBER("__Z__ could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_set_Z(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  if (!PyList_Check(value)){
+    PyErr_Format(PyExc_TypeError, "Expected a list in `%s'", __Z__.name());
+    return -1;
+  }
+    
+  std::vector<blitz::Array<double,1> > data;
+  if(list_as_vector(value ,data)==0){
+    self->cxx->setZ(data);
+  }
+    
+  return 0;
+  BOB_CATCH_MEMBER("__Z__ could not be written", 0)
+}
+
+
+
+/***** rng *****/
+static auto rng = bob::extension::VariableDoc(
+  "rng",
+  "str",
+  "The Mersenne Twister mt19937 random generator used for the initialization of subspaces/arrays before the EM loop.",
+  ""
+);
+PyObject* PyBobLearnEMJFATrainer_getRng(PyBobLearnEMJFATrainerObject* self, void*) {
+  BOB_TRY
+  //Allocating the correspondent python object
+  
+  PyBoostMt19937Object* retval =
+    (PyBoostMt19937Object*)PyBoostMt19937_Type.tp_alloc(&PyBoostMt19937_Type, 0);
+
+  retval->rng = self->cxx->getRng().get();
+  return Py_BuildValue("O", retval);
+  BOB_CATCH_MEMBER("Rng method could not be read", 0)
+}
+int PyBobLearnEMJFATrainer_setRng(PyBobLearnEMJFATrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyBoostMt19937_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an PyBoostMt19937_Check", Py_TYPE(self)->tp_name, rng.name());
+    return -1;
+  }
+
+  PyBoostMt19937Object* boostObject = 0;
+  PyBoostMt19937_Converter(value, &boostObject);
+  self->cxx->setRng((boost::shared_ptr<boost::mt19937>)boostObject->rng);
+
+  return 0;
+  BOB_CATCH_MEMBER("Rng could not be set", 0)
+}
+
+static PyGetSetDef PyBobLearnEMJFATrainer_getseters[] = { 
+  {
+   acc_v_a1.name(),
+   (getter)PyBobLearnEMJFATrainer_get_acc_v_a1,
+   (setter)PyBobLearnEMJFATrainer_get_acc_v_a1,
+   acc_v_a1.doc(),
+   0
+  },
+  {
+   acc_v_a2.name(),
+   (getter)PyBobLearnEMJFATrainer_get_acc_v_a2,
+   (setter)PyBobLearnEMJFATrainer_get_acc_v_a2,
+   acc_v_a2.doc(),
+   0
+  },
+  {
+   acc_u_a1.name(),
+   (getter)PyBobLearnEMJFATrainer_get_acc_u_a1,
+   (setter)PyBobLearnEMJFATrainer_get_acc_u_a1,
+   acc_u_a1.doc(),
+   0
+  },
+  {
+   acc_u_a2.name(),
+   (getter)PyBobLearnEMJFATrainer_get_acc_u_a2,
+   (setter)PyBobLearnEMJFATrainer_get_acc_u_a2,
+   acc_u_a2.doc(),
+   0
+  },
+  {
+   acc_d_a1.name(),
+   (getter)PyBobLearnEMJFATrainer_get_acc_d_a1,
+   (setter)PyBobLearnEMJFATrainer_get_acc_d_a1,
+   acc_d_a1.doc(),
+   0
+  },
+  {
+   acc_d_a2.name(),
+   (getter)PyBobLearnEMJFATrainer_get_acc_d_a2,
+   (setter)PyBobLearnEMJFATrainer_get_acc_d_a2,
+   acc_d_a2.doc(),
+   0
+  },
+  {
+   rng.name(),
+   (getter)PyBobLearnEMJFATrainer_getRng,
+   (setter)PyBobLearnEMJFATrainer_setRng,
+   rng.doc(),
+   0
+  },
+  {
+   __X__.name(),
+   (getter)PyBobLearnEMJFATrainer_get_X,
+   (setter)PyBobLearnEMJFATrainer_set_X,
+   __X__.doc(),
+   0
+  },
+  {
+   __Y__.name(),
+   (getter)PyBobLearnEMJFATrainer_get_Y,
+   (setter)PyBobLearnEMJFATrainer_set_Y,
+   __Y__.doc(),
+   0
+  },
+  {
+   __Z__.name(),
+   (getter)PyBobLearnEMJFATrainer_get_Z,
+   (setter)PyBobLearnEMJFATrainer_set_Z,
+   __Z__.doc(),
+   0
+  },
+  
+  
+
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialization before the EM steps",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_initialize(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->initialize(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** e_step1 ***/
+static auto e_step1 = bob::extension::FunctionDoc(
+  "e_step1",
+  "Call the 1st e-step procedure (for the V subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_e_step1(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  //Parses input arguments in a single shot
+  char** kwlist = e_step1.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->eStep1(*jfa_base->cxx, training_data);
+
+
+  BOB_CATCH_MEMBER("cannot perform the e_step1 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** m_step1 ***/
+static auto m_step1 = bob::extension::FunctionDoc(
+  "m_step1",
+  "Call the 1st m-step procedure (for the V subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_m_step1(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = m_step1.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->mStep1(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the m_step1 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** finalize1 ***/
+static auto finalize1 = bob::extension::FunctionDoc(
+  "finalize1",
+  "Call the 1st finalize procedure (for the V subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_finalize1(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  //Parses input arguments in a single shot
+  char** kwlist = finalize1.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->finalize1(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the finalize1 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** e_step2 ***/
+static auto e_step2 = bob::extension::FunctionDoc(
+  "e_step2",
+  "Call the 2nd e-step procedure (for the U subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_e_step2(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = e_step2.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->eStep2(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the e_step2 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** m_step2 ***/
+static auto m_step2 = bob::extension::FunctionDoc(
+  "m_step2",
+  "Call the 2nd m-step procedure (for the U subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_m_step2(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot 
+  char** kwlist = m_step2.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->mStep2(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the m_step2 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** finalize2 ***/
+static auto finalize2 = bob::extension::FunctionDoc(
+  "finalize2",
+  "Call the 2nd finalize procedure (for the U subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_finalize2(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = finalize2.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->finalize2(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the finalize2 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** e_step3 ***/
+static auto e_step3 = bob::extension::FunctionDoc(
+  "e_step3",
+  "Call the 3rd e-step procedure (for the d subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_e_step3(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = e_step3.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->eStep3(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the e_step3 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** m_step3 ***/
+static auto m_step3 = bob::extension::FunctionDoc(
+  "m_step3",
+  "Call the 3rd m-step procedure (for the d subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_m_step3(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = m_step3.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->mStep3(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the m_step3 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** finalize3 ***/
+static auto finalize3 = bob::extension::FunctionDoc(
+  "finalize3",
+  "Call the 3rd finalize procedure (for the d subspace).",
+  "",
+  true
+)
+.add_prototype("jfa_base,stats")
+.add_parameter("jfa_base", ":py:class:`bob.learn.em.JFABase`", "JFABase Object")
+.add_parameter("stats", ":py:class:`bob.learn.em.GMMStats`", "GMMStats Object");
+static PyObject* PyBobLearnEMJFATrainer_finalize3(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = finalize3.kwlist(0);
+
+  PyBobLearnEMJFABaseObject* jfa_base = 0;
+  PyObject* stats = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMJFABase_Type, &jfa_base,
+                                                                 &PyList_Type, &stats)) Py_RETURN_NONE;
+
+  std::vector<std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > > training_data;
+  if(extract_GMMStats_2d(stats ,training_data)==0)
+    self->cxx->finalize3(*jfa_base->cxx, training_data);
+
+  BOB_CATCH_MEMBER("cannot perform the finalize3 method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** enrol ***/
+static auto enrol = bob::extension::FunctionDoc(
+  "enrol",
+  "",
+  "",
+  true
+)
+.add_prototype("jfa_machine,features,n_iter","")
+.add_parameter("jfa_machine", ":py:class:`bob.learn.em.JFAMachine`", "JFAMachine Object")
+.add_parameter("features", "list(:py:class:`bob.learn.em.GMMStats`)`", "")
+.add_parameter("n_iter", "int", "Number of iterations");
+static PyObject* PyBobLearnEMJFATrainer_enrol(PyBobLearnEMJFATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // Parses input arguments in a single shot
+  char** kwlist = enrol.kwlist(0);
+
+  PyBobLearnEMJFAMachineObject* jfa_machine = 0;
+  PyObject* stats = 0;
+  int n_iter = 1;
+
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!i", kwlist, &PyBobLearnEMJFAMachine_Type, &jfa_machine,
+                                                                  &PyList_Type, &stats, &n_iter)) Py_RETURN_NONE;
+
+  std::vector<boost::shared_ptr<bob::learn::em::GMMStats> > training_data;
+  if(extract_GMMStats_1d(stats ,training_data)==0)
+    self->cxx->enrol(*jfa_machine->cxx, training_data, n_iter);
+
+  BOB_CATCH_MEMBER("cannot perform the enrol method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+static PyMethodDef PyBobLearnEMJFATrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    e_step1.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_e_step1,
+    METH_VARARGS|METH_KEYWORDS,
+    e_step1.doc()
+  },
+  {
+    e_step2.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_e_step2,
+    METH_VARARGS|METH_KEYWORDS,
+    e_step2.doc()
+  },
+  {
+    e_step3.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_e_step3,
+    METH_VARARGS|METH_KEYWORDS,
+    e_step3.doc()
+  },
+  {
+    m_step1.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_m_step1,
+    METH_VARARGS|METH_KEYWORDS,
+    m_step1.doc()
+  },
+  {
+    m_step2.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_m_step2,
+    METH_VARARGS|METH_KEYWORDS,
+    m_step2.doc()
+  },
+  {
+    m_step3.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_m_step3,
+    METH_VARARGS|METH_KEYWORDS,
+    m_step3.doc()
+  },
+  {
+    finalize1.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_finalize1,
+    METH_VARARGS|METH_KEYWORDS,
+    finalize1.doc()
+  },
+  {
+    finalize2.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_finalize2,
+    METH_VARARGS|METH_KEYWORDS,
+    finalize2.doc()
+  },
+  {
+    finalize3.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_finalize3,
+    METH_VARARGS|METH_KEYWORDS,
+    finalize3.doc()
+  },
+  {
+    enrol.name(),
+    (PyCFunction)PyBobLearnEMJFATrainer_enrol,
+    METH_VARARGS|METH_KEYWORDS,
+    enrol.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMJFATrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMJFATrainer(PyObject* module)
+{
+  // initialize the type JFATrainer
+  PyBobLearnEMJFATrainer_Type.tp_name      = JFATrainer_doc.name();
+  PyBobLearnEMJFATrainer_Type.tp_basicsize = sizeof(PyBobLearnEMJFATrainerObject);
+  PyBobLearnEMJFATrainer_Type.tp_flags     = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance;
+  PyBobLearnEMJFATrainer_Type.tp_doc       = JFATrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMJFATrainer_Type.tp_new          = PyType_GenericNew;
+  PyBobLearnEMJFATrainer_Type.tp_init         = reinterpret_cast<initproc>(PyBobLearnEMJFATrainer_init);
+  PyBobLearnEMJFATrainer_Type.tp_dealloc      = reinterpret_cast<destructor>(PyBobLearnEMJFATrainer_delete);
+  PyBobLearnEMJFATrainer_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMJFATrainer_RichCompare);
+  PyBobLearnEMJFATrainer_Type.tp_methods      = PyBobLearnEMJFATrainer_methods;
+  PyBobLearnEMJFATrainer_Type.tp_getset       = PyBobLearnEMJFATrainer_getseters;
+  //PyBobLearnEMJFATrainer_Type.tp_call         = reinterpret_cast<ternaryfunc>(PyBobLearnEMJFATrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMJFATrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMJFATrainer_Type);
+  return PyModule_AddObject(module, "_JFATrainer", (PyObject*)&PyBobLearnEMJFATrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/kmeans_machine.cpp b/bob/learn/em/kmeans_machine.cpp
new file mode 100644
index 0000000..0fc4de7
--- /dev/null
+++ b/bob/learn/em/kmeans_machine.cpp
@@ -0,0 +1,768 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Fri 26 Dec 16:18:00 2014
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto KMeansMachine_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".KMeansMachine",
+  "This class implements a k-means classifier.\n"
+  "See Section 9.1 of Bishop, \"Pattern recognition and machine learning\", 2006"
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a KMeansMachine",
+    "",
+    true
+  )
+  .add_prototype("n_means,n_inputs","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+  .add_prototype("","")
+
+  .add_parameter("n_means", "int", "Number of means")
+  .add_parameter("n_inputs", "int", "Dimension of the feature vector")
+  .add_parameter("other", ":py:class:`bob.learn.em.KMeansMachine`", "A KMeansMachine object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMKMeansMachine_init_number(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = KMeansMachine_doc.kwlist(0);
+  int n_inputs    = 1;
+  int n_means = 1;
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii", kwlist, &n_means, &n_inputs))
+    return -1;
+
+  if(n_means < 0){
+    PyErr_Format(PyExc_TypeError, "means argument must be greater than or equal to zero");
+    KMeansMachine_doc.print_usage();
+    return -1;
+  }
+
+  if(n_inputs < 0){
+    PyErr_Format(PyExc_TypeError, "input argument must be greater than or equal to zero");
+    KMeansMachine_doc.print_usage();
+    return -1;
+   }
+
+  self->cxx.reset(new bob::learn::em::KMeansMachine(n_means, n_inputs));
+  return 0;
+}
+
+
+static int PyBobLearnEMKMeansMachine_init_copy(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = KMeansMachine_doc.kwlist(1);
+  PyBobLearnEMKMeansMachineObject* tt;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMKMeansMachine_Type, &tt)){
+    KMeansMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::KMeansMachine(*tt->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMKMeansMachine_init_hdf5(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = KMeansMachine_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    KMeansMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::KMeansMachine(*(config->f)));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMKMeansMachine_init(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+  
+  switch (nargs) {
+
+    case 0: //default initializer ()
+      self->cxx.reset(new bob::learn::em::KMeansMachine());
+      return 0;
+
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      // If the constructor input is Gaussian object
+     if (PyBobLearnEMKMeansMachine_Check(arg))
+       return PyBobLearnEMKMeansMachine_init_copy(self, args, kwargs);
+      // If the constructor input is a HDF5
+     else if (PyBobIoHDF5File_Check(arg))
+       return PyBobLearnEMKMeansMachine_init_hdf5(self, args, kwargs);
+    }
+    case 2:
+      return PyBobLearnEMKMeansMachine_init_number(self, args, kwargs);
+    default:
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 0, 1 or 2 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      KMeansMachine_doc.print_usage();
+      return -1;
+  }
+  BOB_CATCH_MEMBER("cannot create KMeansMachine", 0)
+  return 0;
+}
+
+
+
+static void PyBobLearnEMKMeansMachine_delete(PyBobLearnEMKMeansMachineObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMKMeansMachine_RichCompare(PyBobLearnEMKMeansMachineObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMKMeansMachine_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMKMeansMachineObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare KMeansMachine objects", 0)
+}
+
+int PyBobLearnEMKMeansMachine_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMKMeansMachine_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int)",
+  "A tuple that represents the number of means and dimensionality of the feature vector``(n_means, dim)``.",
+  ""
+);
+PyObject* PyBobLearnEMKMeansMachine_getShape(PyBobLearnEMKMeansMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i)", self->cxx->getNMeans(), self->cxx->getNInputs());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+/***** MEAN *****/
+
+static auto means = bob::extension::VariableDoc(
+  "means",
+  "array_like <float, 2D>",
+  "The means",
+  ""
+);
+PyObject* PyBobLearnEMKMeansMachine_getMeans(PyBobLearnEMKMeansMachineObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getMeans());
+  BOB_CATCH_MEMBER("means could not be read", 0)
+}
+int PyBobLearnEMKMeansMachine_setMeans(PyBobLearnEMKMeansMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, means.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "means");
+  if (!b) return -1;
+  self->cxx->setMeans(*b);
+  return 0;
+  BOB_CATCH_MEMBER("means could not be set", -1)
+}
+
+
+static PyGetSetDef PyBobLearnEMKMeansMachine_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMKMeansMachine_getShape,
+   0,
+   shape.doc(),
+   0
+  },
+  {
+   means.name(),
+   (getter)PyBobLearnEMKMeansMachine_getMeans,
+   (setter)PyBobLearnEMKMeansMachine_setMeans,
+   means.doc(),
+   0
+  },
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the KMeansMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMKMeansMachine_Save(PyBobLearnEMKMeansMachineObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the KMeansMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMKMeansMachine_Load(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this KMeansMachine with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.KMeansMachine`", "A KMeansMachine object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMKMeansMachine_IsSimilarTo(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMKMeansMachineObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMKMeansMachine_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Allocates space for the statistics and resets to zero.",
+  0,
+  true
+)
+.add_prototype("n_means,n_inputs")
+.add_parameter("n_means", "int", "Number of means")
+.add_parameter("n_inputs", "int", "Dimensionality of the feature vector");
+static PyObject* PyBobLearnEMKMeansMachine_resize(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int n_means = 0;
+  int n_inputs = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "ii", kwlist, &n_means, &n_inputs)) Py_RETURN_NONE;
+
+  if (n_means <= 0){
+    PyErr_Format(PyExc_TypeError, "n_means must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+  if (n_inputs <= 0){
+    PyErr_Format(PyExc_TypeError, "n_inputs must be greater than zero");
+    resize.print_usage();
+    return 0;
+  }
+
+  self->cxx->resize(n_means, n_inputs);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+/*** get_mean ***/
+static auto get_mean = bob::extension::FunctionDoc(
+  "get_mean",
+  "Get the i'th mean.",
+  ".. note:: An exception is thrown if i is out of range.", 
+  true
+)
+.add_prototype("i")
+.add_parameter("i", "int", "Index of the mean")
+.add_return("mean","array_like <float, 1D>","Mean array");
+static PyObject* PyBobLearnEMKMeansMachine_get_mean(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_mean.kwlist(0);
+
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+ 
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getMean(i));
+
+  BOB_CATCH_MEMBER("cannot get the mean", 0)
+}
+
+
+/*** set_mean ***/
+static auto set_mean = bob::extension::FunctionDoc(
+  "set_mean",
+  "Set the i'th mean.",
+  ".. note:: An exception is thrown if i is out of range.", 
+  true
+)
+.add_prototype("i,mean")
+.add_parameter("i", "int", "Index of the mean")
+.add_parameter("mean", "array_like <float, 1D>", "Mean array");
+static PyObject* PyBobLearnEMKMeansMachine_set_mean(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = set_mean.kwlist(0);
+
+  int i = 0;
+  PyBlitzArrayObject* mean = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO&", kwlist, &i, &PyBlitzArray_Converter, &mean)) Py_RETURN_NONE;
+  
+  //protects acquired resources through this scope
+  auto mean_ = make_safe(mean);
+
+  //setting the mean
+  self->cxx->setMean(i, *PyBlitzArrayCxx_AsBlitz<double,1>(mean));
+
+  BOB_CATCH_MEMBER("cannot set the mean", 0)
+  
+  Py_RETURN_NONE;
+}
+
+
+
+/*** get_distance_from_mean ***/
+static auto get_distance_from_mean = bob::extension::FunctionDoc(
+  "get_distance_from_mean",
+  "Return the power of two of the square Euclidean distance of the sample, x, to the i'th mean.",
+  ".. note:: An exception is thrown if i is out of range.", 
+  true
+)
+.add_prototype("input,i","output")
+.add_parameter("input", "array_like <float, 1D>", "The data sample (feature vector)")
+.add_parameter("i", "int", "The index of the mean")
+.add_return("output","float","Square Euclidean distance of the sample, x, to the i'th mean");
+static PyObject* PyBobLearnEMKMeansMachine_get_distance_from_mean(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_distance_from_mean.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&i", kwlist, &PyBlitzArray_Converter, &input, &i)){ 
+    Py_RETURN_NONE;
+  }
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  double output = self->cxx->getDistanceFromMean(*PyBlitzArrayCxx_AsBlitz<double,1>(input),i);
+  return Py_BuildValue("d", output);
+
+  BOB_CATCH_MEMBER("cannot compute the likelihood", 0)
+}
+
+
+/*** get_closest_mean ***/
+static auto get_closest_mean = bob::extension::FunctionDoc(
+  "get_closest_mean",
+  "Calculate the index of the mean that is closest (in terms of square Euclidean distance) to the data sample, x.",
+  "",
+  true
+)
+.add_prototype("input","output")
+.add_parameter("input", "array_like <float, 1D>", "The data sample (feature vector)")
+.add_return("output", "(int, int)", "Tuple containing the closest mean and the minimum distance from the input");
+static PyObject* PyBobLearnEMKMeansMachine_get_closest_mean(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_closest_mean.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &input)) Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  size_t closest_mean = 0;
+  double min_distance = -1;   
+  self->cxx->getClosestMean(*PyBlitzArrayCxx_AsBlitz<double,1>(input), closest_mean, min_distance);
+    
+  return Py_BuildValue("(i,d)", closest_mean, min_distance);
+
+  BOB_CATCH_MEMBER("cannot compute the closest mean", 0)
+}
+
+
+/*** get_min_distance ***/
+static auto get_min_distance = bob::extension::FunctionDoc(
+  "get_min_distance",
+  "Output the minimum (Square Euclidean) distance between the input and the closest mean ",
+  "",
+  true
+)
+.add_prototype("input","output")
+.add_parameter("input", "array_like <float, 1D>", "The data sample (feature vector)")
+.add_return("output", "double", "The minimum distance");
+static PyObject* PyBobLearnEMKMeansMachine_get_min_distance(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_min_distance.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &input)) Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  double min_distance = 0;   
+  min_distance = self->cxx->getMinDistance(*PyBlitzArrayCxx_AsBlitz<double,1>(input));
+
+  return Py_BuildValue("d", min_distance);
+
+  BOB_CATCH_MEMBER("cannot compute the min distance", 0)
+}
+
+/**** get_variances_and_weights_for_each_cluster ***/
+static auto get_variances_and_weights_for_each_cluster = bob::extension::FunctionDoc(
+  "get_variances_and_weights_for_each_cluster",
+  "For each mean, find the subset of the samples that is closest to that mean, and calculate"
+  " 1) the variance of that subset (the cluster variance)" 
+  " 2) the proportion of the samples represented by that subset (the cluster weight)",
+  "",
+  true
+)
+.add_prototype("input","output")
+.add_parameter("input", "array_like <float, 2D>", "The data sample (feature vector)")
+.add_return("output", "(array_like <float, 2D>, array_like <float, 1D>)", "A tuple with the variances and the weights respectively");
+static PyObject* PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist =  get_variances_and_weights_for_each_cluster.kwlist(0);
+
+  PyBlitzArrayObject* input = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &input)) Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto input_ = make_safe(input);
+
+  blitz::Array<double,2> variances(self->cxx->getNMeans(),self->cxx->getNInputs());
+  blitz::Array<double,1> weights(self->cxx->getNMeans());
+  
+  self->cxx->getVariancesAndWeightsForEachCluster(*PyBlitzArrayCxx_AsBlitz<double,2>(input),variances,weights);
+
+  return Py_BuildValue("(O,O)",PyBlitzArrayCxx_AsConstNumpy(variances), PyBlitzArrayCxx_AsConstNumpy(weights));
+
+  BOB_CATCH_MEMBER("cannot compute the variances and weights for each cluster", 0)
+}
+
+
+/**** __get_variances_and_weights_for_each_cluster_init__ ***/
+static auto __get_variances_and_weights_for_each_cluster_init__ = bob::extension::FunctionDoc(
+  "__get_variances_and_weights_for_each_cluster_init__",
+  "Methods consecutively called by getVariancesAndWeightsForEachCluster()"
+  "This should help for the parallelization on several nodes by splitting the data and calling"
+  "getVariancesAndWeightsForEachClusterAcc() for each split. In this case, there is a need to sum"
+  "with the m_cache_means, variances, and weights variables before performing the merge on one"
+  "node using getVariancesAndWeightsForEachClusterFin().",
+  "",
+  true
+)
+.add_prototype("variances,weights","")
+.add_parameter("variances", "array_like <float, 2D>", "Variance array")
+.add_parameter("weights", "array_like <float, 1D>", "Weight array");
+static PyObject* PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster_init(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist =  __get_variances_and_weights_for_each_cluster_init__.kwlist(0);
+
+  PyBlitzArrayObject* variances = 0;
+  PyBlitzArrayObject* weights   = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&", kwlist, &PyBlitzArray_Converter, &variances,  &PyBlitzArray_Converter, &weights)) Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto weights_   = make_safe(weights);
+  auto variances_ = make_safe(variances);
+
+  self->cxx->getVariancesAndWeightsForEachClusterInit(*PyBlitzArrayCxx_AsBlitz<double,2>(variances), *PyBlitzArrayCxx_AsBlitz<double,1>(weights));
+  Py_RETURN_NONE;
+
+  BOB_CATCH_MEMBER("cannot compute the variances and weights for each cluster", 0)
+}
+
+
+/**** __get_variances_and_weights_for_each_cluster_acc__ ***/
+static auto __get_variances_and_weights_for_each_cluster_acc__ = bob::extension::FunctionDoc(
+  "__get_variances_and_weights_for_each_cluster_acc__",
+  "Methods consecutively called by getVariancesAndWeightsForEachCluster()"
+  "This should help for the parallelization on several nodes by splitting the data and calling"
+  "getVariancesAndWeightsForEachClusterAcc() for each split. In this case, there is a need to sum"
+  "with the m_cache_means, variances, and weights variables before performing the merge on one"
+  "node using getVariancesAndWeightsForEachClusterFin().",
+  "",
+  true
+)
+.add_prototype("data,variances,weights","")
+.add_parameter("data", "array_like <float, 2D>", "data array")
+.add_parameter("variances", "array_like <float, 2D>", "Variance array")
+.add_parameter("weights", "array_like <float, 1D>", "Weight array");
+static PyObject* PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster_acc(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist =  __get_variances_and_weights_for_each_cluster_acc__.kwlist(0);
+
+  PyBlitzArrayObject* data      = 0;
+  PyBlitzArrayObject* variances = 0;
+  PyBlitzArrayObject* weights   = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&O&", kwlist, &PyBlitzArray_Converter, &data, &PyBlitzArray_Converter, &variances, &PyBlitzArray_Converter, &weights)) Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto data_      = make_safe(data);
+  auto weights_   = make_safe(weights);
+  auto variances_ = make_safe(variances);
+
+  self->cxx->getVariancesAndWeightsForEachClusterAcc(*PyBlitzArrayCxx_AsBlitz<double,2>(data), *PyBlitzArrayCxx_AsBlitz<double,2>(variances), *PyBlitzArrayCxx_AsBlitz<double,1>(weights));
+  Py_RETURN_NONE;
+
+  BOB_CATCH_MEMBER("cannot compute the variances and weights for each cluster", 0)
+}
+
+
+/**** __get_variances_and_weights_for_each_cluster_fin__ ***/
+static auto __get_variances_and_weights_for_each_cluster_fin__ = bob::extension::FunctionDoc(
+  "__get_variances_and_weights_for_each_cluster_fin__",
+  "Methods consecutively called by getVariancesAndWeightsForEachCluster()"
+  "This should help for the parallelization on several nodes by splitting the data and calling"
+  "getVariancesAndWeightsForEachClusterAcc() for each split. In this case, there is a need to sum"
+  "with the m_cache_means, variances, and weights variables before performing the merge on one"
+  "node using getVariancesAndWeightsForEachClusterFin().",
+  "",
+  true
+)
+.add_prototype("variances,weights","")
+.add_parameter("variances", "array_like <float, 2D>", "Variance array")
+.add_parameter("weights", "array_like <float, 1D>", "Weight array");
+static PyObject* PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster_fin(PyBobLearnEMKMeansMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist =  __get_variances_and_weights_for_each_cluster_fin__.kwlist(0);
+
+  PyBlitzArrayObject* variances = 0;
+  PyBlitzArrayObject* weights   = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&", kwlist, &PyBlitzArray_Converter, &variances,  &PyBlitzArray_Converter, &weights)) Py_RETURN_NONE;
+
+  //protects acquired resources through this scope
+  auto weights_   = make_safe(weights);
+  auto variances_ = make_safe(variances);
+
+  self->cxx->getVariancesAndWeightsForEachClusterFin(*PyBlitzArrayCxx_AsBlitz<double,2>(variances), *PyBlitzArrayCxx_AsBlitz<double,1>(weights));
+  Py_RETURN_NONE;
+
+  BOB_CATCH_MEMBER("cannot compute the variances and weights for each cluster", 0)
+}
+
+
+static PyMethodDef PyBobLearnEMKMeansMachine_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },  
+  {
+    get_mean.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_mean,
+    METH_VARARGS|METH_KEYWORDS,
+    get_mean.doc()
+  },  
+  {
+    set_mean.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_set_mean,
+    METH_VARARGS|METH_KEYWORDS,
+    set_mean.doc()
+  },  
+  {
+    get_distance_from_mean.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_distance_from_mean,
+    METH_VARARGS|METH_KEYWORDS,
+    get_distance_from_mean.doc()
+  },  
+  {
+    get_closest_mean.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_closest_mean,
+    METH_VARARGS|METH_KEYWORDS,
+    get_closest_mean.doc()
+  },  
+  {
+    get_min_distance.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_min_distance,
+    METH_VARARGS|METH_KEYWORDS,
+    get_min_distance.doc()
+  },  
+  {
+    get_variances_and_weights_for_each_cluster.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster,
+    METH_VARARGS|METH_KEYWORDS,
+    get_variances_and_weights_for_each_cluster.doc()
+  },  
+  {
+    __get_variances_and_weights_for_each_cluster_init__.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster_init,
+    METH_VARARGS|METH_KEYWORDS,
+    __get_variances_and_weights_for_each_cluster_init__.doc()
+  },  
+  {
+    __get_variances_and_weights_for_each_cluster_acc__.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster_acc,
+    METH_VARARGS|METH_KEYWORDS,
+    __get_variances_and_weights_for_each_cluster_acc__.doc()
+  },  
+  {
+    __get_variances_and_weights_for_each_cluster_fin__.name(),
+    (PyCFunction)PyBobLearnEMKMeansMachine_get_variances_and_weights_for_each_cluster_fin,
+    METH_VARARGS|METH_KEYWORDS,
+    __get_variances_and_weights_for_each_cluster_fin__.doc()
+  },  
+
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMKMeansMachine_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMKMeansMachine(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMKMeansMachine_Type.tp_name = KMeansMachine_doc.name();
+  PyBobLearnEMKMeansMachine_Type.tp_basicsize = sizeof(PyBobLearnEMKMeansMachineObject);
+  PyBobLearnEMKMeansMachine_Type.tp_flags = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMKMeansMachine_Type.tp_doc = KMeansMachine_doc.doc();
+
+  // set the functions
+  PyBobLearnEMKMeansMachine_Type.tp_new = PyType_GenericNew;
+  PyBobLearnEMKMeansMachine_Type.tp_init = reinterpret_cast<initproc>(PyBobLearnEMKMeansMachine_init);
+  PyBobLearnEMKMeansMachine_Type.tp_dealloc = reinterpret_cast<destructor>(PyBobLearnEMKMeansMachine_delete);
+  PyBobLearnEMKMeansMachine_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMKMeansMachine_RichCompare);
+  PyBobLearnEMKMeansMachine_Type.tp_methods = PyBobLearnEMKMeansMachine_methods;
+  PyBobLearnEMKMeansMachine_Type.tp_getset = PyBobLearnEMKMeansMachine_getseters;
+  //PyBobLearnEMGMMMachine_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMGMMMachine_loglikelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMKMeansMachine_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMKMeansMachine_Type);
+  return PyModule_AddObject(module, "KMeansMachine", (PyObject*)&PyBobLearnEMKMeansMachine_Type) >= 0;
+}
+
diff --git a/bob/learn/em/kmeans_trainer.cpp b/bob/learn/em/kmeans_trainer.cpp
new file mode 100644
index 0000000..a65637f
--- /dev/null
+++ b/bob/learn/em/kmeans_trainer.cpp
@@ -0,0 +1,553 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Tue 13 Jan 16:50:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+// InitializationMethod type conversion
+static const std::map<std::string, bob::learn::em::KMeansTrainer::InitializationMethod> IM = {{"RANDOM",  bob::learn::em::KMeansTrainer::InitializationMethod::RANDOM}, {"RANDOM_NO_DUPLICATE", bob::learn::em::KMeansTrainer::InitializationMethod::RANDOM_NO_DUPLICATE}, {"KMEANS_PLUS_PLUS", bob::learn::em::KMeansTrainer::InitializationMethod::KMEANS_PLUS_PLUS}};
+static inline bob::learn::em::KMeansTrainer::InitializationMethod string2IM(const std::string& o){            /* converts string to InitializationMethod type */
+  auto it = IM.find(o);
+  if (it == IM.end()) throw std::runtime_error("The given InitializationMethod '" + o + "' is not known; choose one of ('RANDOM', 'RANDOM_NO_DUPLICATE', 'KMEANS_PLUS_PLUS')");
+  else return it->second;
+}
+static inline const std::string& IM2string(bob::learn::em::KMeansTrainer::InitializationMethod o){            /* converts InitializationMethod type to string */
+  for (auto it = IM.begin(); it != IM.end(); ++it) if (it->second == o) return it->first;
+  throw std::runtime_error("The given InitializationMethod type is not known");
+}
+
+
+static auto KMeansTrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX "._KMeansTrainer",
+  "Trains a KMeans machine."
+  "This class implements the expectation-maximization algorithm for a k-means machine."
+  "See Section 9.1 of Bishop, \"Pattern recognition and machine learning\", 2006"
+  "It uses a random initialization of the means followed by the expectation-maximization algorithm"
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Creates a KMeansTrainer",
+    "",
+    true
+  )
+  .add_prototype("initialization_method","")
+  .add_prototype("other","")
+  .add_prototype("","")
+
+  .add_parameter("initialization_method", "str", "The initialization method of the means")
+  .add_parameter("other", ":py:class:`bob.learn.em.KMeansTrainer`", "A KMeansTrainer object to be copied.")
+
+);
+
+
+static int PyBobLearnEMKMeansTrainer_init_copy(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = KMeansTrainer_doc.kwlist(1);
+  PyBobLearnEMKMeansTrainerObject* tt;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMKMeansTrainer_Type, &tt)){
+    KMeansTrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::KMeansTrainer(*tt->cxx));
+  return 0;
+}
+
+static int PyBobLearnEMKMeansTrainer_init_str(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = KMeansTrainer_doc.kwlist(0);
+  char* value;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s", kwlist, &value)){
+    KMeansTrainer_doc.print_usage();
+    return -1;
+  }
+  self->cxx.reset(new bob::learn::em::KMeansTrainer(string2IM(std::string(value))));
+  return 0;
+}
+
+
+static int PyBobLearnEMKMeansTrainer_init(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  switch (nargs) {
+
+    case 0:{ //default initializer ()
+      self->cxx.reset(new bob::learn::em::KMeansTrainer());
+      return 0;
+    }
+    case 1:{
+      //Reading the input argument
+      PyObject* arg = 0;
+      if (PyTuple_Size(args))
+        arg = PyTuple_GET_ITEM(args, 0);
+      else {
+        PyObject* tmp = PyDict_Values(kwargs);
+        auto tmp_ = make_safe(tmp);
+        arg = PyList_GET_ITEM(tmp, 0);
+      }
+
+      // If the constructor input is KMeansTrainer object
+      if (PyBobLearnEMKMeansTrainer_Check(arg))
+        return PyBobLearnEMKMeansTrainer_init_copy(self, args, kwargs);
+      else if(PyString_Check(arg))
+        return PyBobLearnEMKMeansTrainer_init_str(self, args, kwargs);
+        //return PyBobLearnEMKMeansTrainer_init_str(self, arg);
+    }
+    default:{
+      PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 0 or 1 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+      KMeansTrainer_doc.print_usage();
+      return -1;
+    }
+  }
+  BOB_CATCH_MEMBER("cannot create KMeansTrainer", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMKMeansTrainer_delete(PyBobLearnEMKMeansTrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMKMeansTrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMKMeansTrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMKMeansTrainer_RichCompare(PyBobLearnEMKMeansTrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMKMeansTrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMKMeansTrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare KMeansTrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** initialization_method *****/
+static auto initialization_method = bob::extension::VariableDoc(
+  "initialization_method",
+  "str",
+  "Initialization method.",
+  ""
+);
+PyObject* PyBobLearnEMKMeansTrainer_getInitializationMethod(PyBobLearnEMKMeansTrainerObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("s", IM2string(self->cxx->getInitializationMethod()).c_str());
+  BOB_CATCH_MEMBER("initialization method could not be read", 0)
+}
+int PyBobLearnEMKMeansTrainer_setInitializationMethod(PyBobLearnEMKMeansTrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyString_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an str", Py_TYPE(self)->tp_name, initialization_method.name());
+    return -1;
+  }
+  self->cxx->setInitializationMethod(string2IM(PyString_AS_STRING(value)));
+
+  return 0;
+  BOB_CATCH_MEMBER("initialization method could not be set", 0)
+}
+
+
+/***** zeroeth_order_statistics *****/
+static auto zeroeth_order_statistics = bob::extension::VariableDoc(
+  "zeroeth_order_statistics",
+  "array_like <float, 1D>",
+  "Returns the internal statistics. Useful to parallelize the E-step",
+  ""
+);
+PyObject* PyBobLearnEMKMeansTrainer_getZeroethOrderStatistics(PyBobLearnEMKMeansTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getZeroethOrderStats());
+  BOB_CATCH_MEMBER("zeroeth_order_statistics could not be read", 0)
+}
+int PyBobLearnEMKMeansTrainer_setZeroethOrderStatistics(PyBobLearnEMKMeansTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, zeroeth_order_statistics.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "zeroeth_order_statistics");
+  if (!b) return -1;
+  self->cxx->setZeroethOrderStats(*b);
+  return 0;
+  BOB_CATCH_MEMBER("zeroeth_order_statistics could not be set", -1)
+}
+
+
+/***** first_order_statistics *****/
+static auto first_order_statistics = bob::extension::VariableDoc(
+  "first_order_statistics",
+  "array_like <float, 2D>",
+  "Returns the internal statistics. Useful to parallelize the E-step",
+  ""
+);
+PyObject* PyBobLearnEMKMeansTrainer_getFirstOrderStatistics(PyBobLearnEMKMeansTrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getFirstOrderStats());
+  BOB_CATCH_MEMBER("first_order_statistics could not be read", 0)
+}
+int PyBobLearnEMKMeansTrainer_setFirstOrderStatistics(PyBobLearnEMKMeansTrainerObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 1D array of floats", Py_TYPE(self)->tp_name, first_order_statistics.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "first_order_statistics");
+  if (!b) return -1;
+  self->cxx->setFirstOrderStats(*b);
+  return 0;
+  BOB_CATCH_MEMBER("first_order_statistics could not be set", -1)
+}
+
+
+/***** average_min_distance *****/
+static auto average_min_distance = bob::extension::VariableDoc(
+  "average_min_distance",
+  "str",
+  "Average min (square Euclidean) distance. Useful to parallelize the E-step.",
+  ""
+);
+PyObject* PyBobLearnEMKMeansTrainer_getAverageMinDistance(PyBobLearnEMKMeansTrainerObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("d", self->cxx->getAverageMinDistance());
+  BOB_CATCH_MEMBER("Average Min Distance method could not be read", 0)
+}
+int PyBobLearnEMKMeansTrainer_setAverageMinDistance(PyBobLearnEMKMeansTrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an double", Py_TYPE(self)->tp_name, average_min_distance.name());
+    return -1;
+  }
+  self->cxx->setAverageMinDistance(PyFloat_AS_DOUBLE(value));
+
+  return 0;
+  BOB_CATCH_MEMBER("Average Min Distance could not be set", 0)
+}
+
+
+
+/***** rng *****/
+static auto rng = bob::extension::VariableDoc(
+  "rng",
+  "str",
+  "The Mersenne Twister mt19937 random generator used for the initialization of subspaces/arrays before the EM loop.",
+  ""
+);
+PyObject* PyBobLearnEMKMeansTrainer_getRng(PyBobLearnEMKMeansTrainerObject* self, void*) {
+  BOB_TRY
+  //Allocating the correspondent python object
+  
+  PyBoostMt19937Object* retval =
+    (PyBoostMt19937Object*)PyBoostMt19937_Type.tp_alloc(&PyBoostMt19937_Type, 0);
+
+  retval->rng = self->cxx->getRng().get();
+  return Py_BuildValue("O", retval);
+  BOB_CATCH_MEMBER("Rng method could not be read", 0)
+}
+int PyBobLearnEMKMeansTrainer_setRng(PyBobLearnEMKMeansTrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyBoostMt19937_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an PyBoostMt19937_Check", Py_TYPE(self)->tp_name, rng.name());
+    return -1;
+  }
+
+  PyBoostMt19937Object* boostObject = 0;
+  PyBoostMt19937_Converter(value, &boostObject);
+  self->cxx->setRng((boost::shared_ptr<boost::mt19937>)boostObject->rng);
+
+  return 0;
+  BOB_CATCH_MEMBER("Rng could not be set", 0)
+}
+
+
+
+static PyGetSetDef PyBobLearnEMKMeansTrainer_getseters[] = { 
+  {
+   initialization_method.name(),
+   (getter)PyBobLearnEMKMeansTrainer_getInitializationMethod,
+   (setter)PyBobLearnEMKMeansTrainer_setInitializationMethod,
+   initialization_method.doc(),
+   0
+  },
+  {
+   zeroeth_order_statistics.name(),
+   (getter)PyBobLearnEMKMeansTrainer_getZeroethOrderStatistics,
+   (setter)PyBobLearnEMKMeansTrainer_setZeroethOrderStatistics,
+   zeroeth_order_statistics.doc(),
+   0
+  },
+  {
+   first_order_statistics.name(),
+   (getter)PyBobLearnEMKMeansTrainer_getFirstOrderStatistics,
+   (setter)PyBobLearnEMKMeansTrainer_setFirstOrderStatistics,
+   first_order_statistics.doc(),
+   0
+  },
+  {
+   average_min_distance.name(),
+   (getter)PyBobLearnEMKMeansTrainer_getAverageMinDistance,
+   (setter)PyBobLearnEMKMeansTrainer_setAverageMinDistance,
+   average_min_distance.doc(),
+   0
+  },
+  {
+   rng.name(),
+   (getter)PyBobLearnEMKMeansTrainer_getRng,
+   (setter)PyBobLearnEMKMeansTrainer_setRng,
+   rng.doc(),
+   0
+  },
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialise the means randomly",
+  "Data is split into as many chunks as there are means, then each mean is set to a random example within each chunk.",
+  true
+)
+.add_prototype("kmeans_machine,data")
+.add_parameter("kmeans_machine", ":py:class:`bob.learn.em.KMeansMachine`", "KMeansMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMKMeansTrainer_initialize(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMKMeansMachineObject* kmeans_machine = 0;
+  PyBlitzArrayObject* data                          = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMKMeansMachine_Type, &kmeans_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->initialize(*kmeans_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** eStep ***/
+static auto eStep = bob::extension::FunctionDoc(
+  "eStep",
+  "Compute the eStep, which is basically the distances ",
+  "Accumulate across the dataset:"
+  " -zeroeth and first order statistics"
+  " -average (Square Euclidean) distance from the closest mean",
+  true
+)
+.add_prototype("kmeans_machine,data")
+.add_parameter("kmeans_machine", ":py:class:`bob.learn.em.KMeansMachine`", "KMeansMachine Object")
+.add_parameter("data", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMKMeansTrainer_eStep(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = eStep.kwlist(0);
+
+  PyBobLearnEMKMeansMachineObject* kmeans_machine;
+  PyBlitzArrayObject* data = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMKMeansMachine_Type, &kmeans_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+  auto data_ = make_safe(data);
+
+  self->cxx->eStep(*kmeans_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+
+  BOB_CATCH_MEMBER("cannot perform the eStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** mStep ***/
+static auto mStep = bob::extension::FunctionDoc(
+  "mStep",
+  "Updates the mean based on the statistics from the E-step",
+  0,
+  true
+)
+.add_prototype("kmeans_machine")
+.add_parameter("kmeans_machine", ":py:class:`bob.learn.em.KMeansMachine`", "KMeansMachine Object");
+static PyObject* PyBobLearnEMKMeansTrainer_mStep(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = mStep.kwlist(0);
+
+  PyBobLearnEMKMeansMachineObject* kmeans_machine;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMKMeansMachine_Type, &kmeans_machine)) Py_RETURN_NONE;
+
+  self->cxx->mStep(*kmeans_machine->cxx);
+
+  BOB_CATCH_MEMBER("cannot perform the mStep method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** computeLikelihood ***/
+static auto compute_likelihood = bob::extension::FunctionDoc(
+  "compute_likelihood",
+  "This functions returns the average min (Square Euclidean) distance (average distance to the closest mean)",
+  0,
+  true
+)
+.add_prototype("kmeans_machine")
+.add_parameter("kmeans_machine", ":py:class:`bob.learn.em.KMeansMachine`", "KMeansMachine Object");
+static PyObject* PyBobLearnEMKMeansTrainer_compute_likelihood(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = compute_likelihood.kwlist(0);
+
+  PyBobLearnEMKMeansMachineObject* kmeans_machine;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMKMeansMachine_Type, &kmeans_machine)) Py_RETURN_NONE;
+
+  double value = self->cxx->computeLikelihood(*kmeans_machine->cxx);
+  return Py_BuildValue("d", value);
+
+  BOB_CATCH_MEMBER("cannot perform the computeLikelihood method", 0)
+}
+
+
+/*** reset_accumulators ***/
+static auto reset_accumulators = bob::extension::FunctionDoc(
+  "reset_accumulators",
+  "Reset the statistics accumulators to the correct size and a value of zero.",
+  0,
+  true
+)
+.add_prototype("kmeans_machine")
+.add_parameter("kmeans_machine", ":py:class:`bob.learn.em.KMeansMachine`", "KMeansMachine Object");
+static PyObject* PyBobLearnEMKMeansTrainer_reset_accumulators(PyBobLearnEMKMeansTrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = reset_accumulators.kwlist(0);
+
+  PyBobLearnEMKMeansMachineObject* kmeans_machine;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMKMeansMachine_Type, &kmeans_machine)) Py_RETURN_NONE;
+
+  bool value = self->cxx->resetAccumulators(*kmeans_machine->cxx);
+  return Py_BuildValue("b", value);
+
+  BOB_CATCH_MEMBER("cannot perform the reset_accumulators method", 0)
+}
+
+
+static PyMethodDef PyBobLearnEMKMeansTrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMKMeansTrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    eStep.name(),
+    (PyCFunction)PyBobLearnEMKMeansTrainer_eStep,
+    METH_VARARGS|METH_KEYWORDS,
+    eStep.doc()
+  },
+  {
+    mStep.name(),
+    (PyCFunction)PyBobLearnEMKMeansTrainer_mStep,
+    METH_VARARGS|METH_KEYWORDS,
+    mStep.doc()
+  },
+  {
+    compute_likelihood.name(),
+    (PyCFunction)PyBobLearnEMKMeansTrainer_compute_likelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_likelihood.doc()
+  },
+  {
+    reset_accumulators.name(),
+    (PyCFunction)PyBobLearnEMKMeansTrainer_reset_accumulators,
+    METH_VARARGS|METH_KEYWORDS,
+    reset_accumulators.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMKMeansTrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMKMeansTrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMKMeansTrainer_Type.tp_name = KMeansTrainer_doc.name();
+  PyBobLearnEMKMeansTrainer_Type.tp_basicsize = sizeof(PyBobLearnEMKMeansTrainerObject);
+  PyBobLearnEMKMeansTrainer_Type.tp_flags = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance
+  PyBobLearnEMKMeansTrainer_Type.tp_doc = KMeansTrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMKMeansTrainer_Type.tp_new = PyType_GenericNew;
+  PyBobLearnEMKMeansTrainer_Type.tp_init = reinterpret_cast<initproc>(PyBobLearnEMKMeansTrainer_init);
+  PyBobLearnEMKMeansTrainer_Type.tp_dealloc = reinterpret_cast<destructor>(PyBobLearnEMKMeansTrainer_delete);
+  PyBobLearnEMKMeansTrainer_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMKMeansTrainer_RichCompare);
+  PyBobLearnEMKMeansTrainer_Type.tp_methods = PyBobLearnEMKMeansTrainer_methods;
+  PyBobLearnEMKMeansTrainer_Type.tp_getset = PyBobLearnEMKMeansTrainer_getseters;
+  PyBobLearnEMKMeansTrainer_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMKMeansTrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMKMeansTrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMKMeansTrainer_Type);
+  return PyModule_AddObject(module, "_KMeansTrainer", (PyObject*)&PyBobLearnEMKMeansTrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/linear_scoring.cpp b/bob/learn/em/linear_scoring.cpp
new file mode 100644
index 0000000..ab5edd6
--- /dev/null
+++ b/bob/learn/em/linear_scoring.cpp
@@ -0,0 +1,266 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Wed 05 Feb 16:10:48 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/*Convert a PyObject to a a list of GMMStats*/
+//template<class R, class P1, class P2>
+static int extract_gmmstats_list(PyObject *list,
+                             std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> >& training_data)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++){
+  
+    PyBobLearnEMGMMStatsObject* stats;
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O!", &PyBobLearnEMGMMStats_Type, &stats)){
+      PyErr_Format(PyExc_RuntimeError, "Expected GMMStats objects");
+      return -1;
+    }
+    training_data.push_back(stats->cxx);
+  }
+  return 0;
+}
+
+static int extract_gmmmachine_list(PyObject *list,
+                             std::vector<boost::shared_ptr<const bob::learn::em::GMMMachine> >& training_data)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++){
+  
+    PyBobLearnEMGMMMachineObject* stats;
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O!", &PyBobLearnEMGMMMachine_Type, &stats)){
+      PyErr_Format(PyExc_RuntimeError, "Expected GMMMachine objects");
+      return -1;
+    }
+    training_data.push_back(stats->cxx);
+  }
+  return 0;
+}
+
+
+
+/*Convert a PyObject to a list of blitz Array*/
+template <int N>
+int extract_array_list(PyObject* list, std::vector<blitz::Array<double,N> >& vec)
+{
+
+  if(list==0)
+    return 0;
+
+  for (int i=0; i<PyList_GET_SIZE(list); i++)
+  {
+    PyBlitzArrayObject* blitz_object; 
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O&", &PyBlitzArray_Converter, &blitz_object)){
+      PyErr_Format(PyExc_RuntimeError, "Expected numpy array object");
+      return -1;
+    }
+    auto blitz_object_ = make_safe(blitz_object);
+    vec.push_back(*PyBlitzArrayCxx_AsBlitz<double,N>(blitz_object));
+  }
+  return 0;
+}
+
+/* converts PyObject to bool and returns false if object is NULL */
+static inline bool f(PyObject* o){return o != 0 && PyObject_IsTrue(o) > 0;}
+
+
+/*** linear_scoring ***/
+static auto linear_scoring1 = bob::extension::FunctionDoc(
+  "linear_scoring",
+  "",
+  0,
+  true
+)
+.add_prototype("models, ubm, test_stats, test_channelOffset, frame_length_normalisation", "output")
+.add_parameter("models", "list(:py:class:`bob.learn.em.GMMMachine`)", "")
+.add_parameter("ubm", ":py:class:`bob.learn.em.GMMMachine`", "")
+.add_parameter("test_stats", "list(:py:class:`bob.learn.em.GMMStats`)", "")
+.add_parameter("test_channelOffset", "list(array_like<float,1>)", "")
+.add_parameter("frame_length_normalisation", "bool", "")
+.add_return("output","array_like<float,1>","Score");
+
+
+static auto linear_scoring2 = bob::extension::FunctionDoc(
+  "linear_scoring",
+  "",
+  0,
+  true
+)
+.add_prototype("models, ubm_mean, ubm_variance, test_stats, test_channelOffset, frame_length_normalisation", "output")
+.add_parameter("models", "list(array_like<float,1>)", "")
+.add_parameter("ubm_mean", "list(array_like<float,1>)", "")
+.add_parameter("ubm_variance", "list(array_like<float,1>)", "")
+.add_parameter("test_stats", "list(:py:class:`bob.learn.em.GMMStats`)", "")
+.add_parameter("test_channelOffset", "list(array_like<float,1>)", "")
+.add_parameter("frame_length_normalisation", "bool", "")
+.add_return("output","array_like<float,1>","Score");
+
+
+
+static auto linear_scoring3 = bob::extension::FunctionDoc(
+  "linear_scoring",
+  "",
+  0,
+  true
+)
+.add_prototype("model, ubm_mean, ubm_variance, test_stats, test_channelOffset, frame_length_normalisation", "output")
+.add_parameter("model", "array_like<float,1>", "")
+.add_parameter("ubm_mean", "array_like<float,1>", "")
+.add_parameter("ubm_variance", "array_like<float,1>", "")
+.add_parameter("test_stats", ":py:class:`bob.learn.em.GMMStats`", "")
+.add_parameter("test_channelOffset", "array_like<float,1>", "")
+.add_parameter("frame_length_normalisation", "bool", "")
+.add_return("output","array_like<float,1>","Score");
+
+static PyObject* PyBobLearnEM_linear_scoring(PyObject*, PyObject* args, PyObject* kwargs) {
+    
+  //Cheking the number of arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+    
+  //Reading the first input argument
+  PyObject* arg = 0;
+  if (PyTuple_Size(args))
+    arg = PyTuple_GET_ITEM(args, 0);
+  else {
+    PyObject* tmp = PyDict_Values(kwargs);
+    auto tmp_ = make_safe(tmp);
+    arg = PyList_GET_ITEM(tmp, 0);
+  }
+  
+  //Checking the signature of the method (list of GMMMachine as input)
+  if ((PyList_Check(arg)) && PyBobLearnEMGMMMachine_Check(PyList_GetItem(arg, 0)) && (nargs >= 3) && (nargs<=5) ){
+  
+    char** kwlist = linear_scoring1.kwlist(0);
+
+    PyObject* gmm_list_o                 = 0;
+    PyBobLearnEMGMMMachineObject* ubm  = 0;
+    PyObject* stats_list_o               = 0;
+    PyObject* channel_offset_list_o      = 0;
+    PyObject* frame_length_normalisation = Py_False;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!O!|O!O!", kwlist, &PyList_Type, &gmm_list_o,
+                                                                       &PyBobLearnEMGMMMachine_Type, &ubm,
+                                                                       &PyList_Type, &stats_list_o,
+                                                                       &PyList_Type, &channel_offset_list_o,
+                                                                       &PyBool_Type, &frame_length_normalisation)){
+      linear_scoring1.print_usage();
+      Py_RETURN_NONE;
+    }
+
+    std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> > stats_list;
+    if(extract_gmmstats_list(stats_list_o ,stats_list)!=0)
+      Py_RETURN_NONE;
+
+    std::vector<boost::shared_ptr<const bob::learn::em::GMMMachine> > gmm_list;
+    if(extract_gmmmachine_list(gmm_list_o ,gmm_list)!=0)
+      Py_RETURN_NONE;
+
+    std::vector<blitz::Array<double,1> > channel_offset_list;
+    if(extract_array_list(channel_offset_list_o ,channel_offset_list)!=0)
+      Py_RETURN_NONE;
+
+    blitz::Array<double, 2> scores = blitz::Array<double, 2>(gmm_list.size(), stats_list.size());
+    if(channel_offset_list.size()==0)
+      bob::learn::em::linearScoring(gmm_list, *ubm->cxx, stats_list, f(frame_length_normalisation),scores);
+    else
+      bob::learn::em::linearScoring(gmm_list, *ubm->cxx, stats_list, channel_offset_list, f(frame_length_normalisation),scores);
+
+    return PyBlitzArrayCxx_AsConstNumpy(scores);
+  }
+
+  //Checking the signature of the method (list of arrays as input
+  else if ((PyList_Check(arg)) && PyArray_Check(PyList_GetItem(arg, 0)) && (nargs >= 4) && (nargs<=6) ){
+  
+    char** kwlist = linear_scoring2.kwlist(0);
+
+    PyObject* model_supervector_list_o        = 0;
+    PyBlitzArrayObject* ubm_means             = 0;
+    PyBlitzArrayObject* ubm_variances         = 0;
+    PyObject* stats_list_o                    = 0;
+    PyObject* channel_offset_list_o           = 0;
+    PyObject* frame_length_normalisation      = Py_False;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&O&O!|O!O!", kwlist, &PyList_Type, &model_supervector_list_o,
+                                                                       &PyBlitzArray_Converter, &ubm_means,
+                                                                       &PyBlitzArray_Converter, &ubm_variances,
+                                                                       &PyList_Type, &stats_list_o,
+                                                                       &PyList_Type, &channel_offset_list_o,
+                                                                       &PyBool_Type, &frame_length_normalisation)){
+      linear_scoring2.print_usage(); 
+      Py_RETURN_NONE;
+    }
+    
+    //protects acquired resources through this scope
+    auto ubm_means_ = make_safe(ubm_means);
+    auto ubm_variances_ = make_safe(ubm_variances);    
+
+    std::vector<blitz::Array<double,1> > model_supervector_list;
+    if(extract_array_list(model_supervector_list_o ,model_supervector_list)!=0)
+      Py_RETURN_NONE;
+
+    std::vector<boost::shared_ptr<const bob::learn::em::GMMStats> > stats_list;
+    if(extract_gmmstats_list(stats_list_o ,stats_list)!=0)
+      Py_RETURN_NONE;
+
+    std::vector<blitz::Array<double,1> > channel_offset_list;
+    if(extract_array_list(channel_offset_list_o ,channel_offset_list)!=0)
+      Py_RETURN_NONE;
+
+    blitz::Array<double, 2> scores = blitz::Array<double, 2>(model_supervector_list.size(), stats_list.size());
+    if(channel_offset_list.size()==0)
+      bob::learn::em::linearScoring(model_supervector_list, *PyBlitzArrayCxx_AsBlitz<double,1>(ubm_means),*PyBlitzArrayCxx_AsBlitz<double,1>(ubm_variances), stats_list, f(frame_length_normalisation),scores);
+    else
+      bob::learn::em::linearScoring(model_supervector_list, *PyBlitzArrayCxx_AsBlitz<double,1>(ubm_means),*PyBlitzArrayCxx_AsBlitz<double,1>(ubm_variances), stats_list, channel_offset_list, f(frame_length_normalisation),scores);
+
+    return PyBlitzArrayCxx_AsConstNumpy(scores);
+  
+  }
+  
+  //Checking the signature of the method (list of arrays as input
+  else if (PyArray_Check(arg) && (nargs >= 5) && (nargs<=6) ){
+  
+    char** kwlist = linear_scoring3.kwlist(0);
+
+    PyBlitzArrayObject* model                 = 0;
+    PyBlitzArrayObject* ubm_means             = 0;
+    PyBlitzArrayObject* ubm_variances         = 0;
+    PyBobLearnEMGMMStatsObject* stats       = 0;
+    PyBlitzArrayObject* channel_offset        = 0;
+    PyObject* frame_length_normalisation      = Py_False;
+
+    if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&O&O!O&|O!", kwlist, &PyBlitzArray_Converter, &model,
+                                                                       &PyBlitzArray_Converter, &ubm_means,
+                                                                       &PyBlitzArray_Converter, &ubm_variances,
+                                                                       &PyBobLearnEMGMMStats_Type, &stats,
+                                                                       &PyBlitzArray_Converter, &channel_offset,
+                                                                       &PyBool_Type, &frame_length_normalisation)){
+      linear_scoring3.print_usage(); 
+      Py_RETURN_NONE;
+    }
+    
+    //protects acquired resources through this scope
+    auto model_ = make_safe(model);
+    auto ubm_means_ = make_safe(ubm_means);
+    auto ubm_variances_ = make_safe(ubm_variances);
+    auto channel_offset_ = make_safe(channel_offset);
+
+    double score = bob::learn::em::linearScoring(*PyBlitzArrayCxx_AsBlitz<double,1>(model), *PyBlitzArrayCxx_AsBlitz<double,1>(ubm_means),*PyBlitzArrayCxx_AsBlitz<double,1>(ubm_variances), *stats->cxx, *PyBlitzArrayCxx_AsBlitz<double,1>(channel_offset), f(frame_length_normalisation));
+
+    return Py_BuildValue("d",score);
+  }
+
+  
+  else{
+    PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - linear_scoring requires 5 or 6 arguments, but you provided %d (see help)", nargs);
+    linear_scoring1.print_usage();
+    linear_scoring2.print_usage();
+    linear_scoring3.print_usage();
+    Py_RETURN_NONE;
+  }
+
+}
+
diff --git a/bob/learn/em/main.cpp b/bob/learn/em/main.cpp
new file mode 100644
index 0000000..c166cff
--- /dev/null
+++ b/bob/learn/em/main.cpp
@@ -0,0 +1,145 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Fri Nov 21 12:39:21 CET 2014
+ *
+ * @brief Bindings to bob::learn::em routines
+ */
+
+#ifdef NO_IMPORT_ARRAY
+#undef NO_IMPORT_ARRAY
+#endif
+#include "main.h"
+#include "ztnorm.cpp"
+#include "linear_scoring.cpp"
+
+
+static PyMethodDef module_methods[] = {
+  {
+    zt_norm.name(),
+    (PyCFunction)PyBobLearnEM_ztNorm,
+    METH_VARARGS|METH_KEYWORDS,
+    zt_norm.doc()
+  },
+  {
+    t_norm.name(),
+    (PyCFunction)PyBobLearnEM_tNorm,
+    METH_VARARGS|METH_KEYWORDS,
+    t_norm.doc()
+  },
+  {
+    z_norm.name(),
+    (PyCFunction)PyBobLearnEM_zNorm,
+    METH_VARARGS|METH_KEYWORDS,
+    z_norm.doc()
+  },
+  {
+    linear_scoring1.name(),
+    (PyCFunction)PyBobLearnEM_linear_scoring,
+    METH_VARARGS|METH_KEYWORDS,
+    linear_scoring1.doc()
+  },
+
+  {0}//Sentinel
+};
+
+
+PyDoc_STRVAR(module_docstr, "Bob EM based Machine Learning Routines");
+
+int PyBobLearnEM_APIVersion = BOB_LEARN_EM_API_VERSION;
+
+
+#if PY_VERSION_HEX >= 0x03000000
+static PyModuleDef module_definition = {
+  PyModuleDef_HEAD_INIT,
+  BOB_EXT_MODULE_NAME,
+  module_docstr,
+  -1,
+  module_methods,
+  0, 0, 0, 0
+};
+#endif
+
+static PyObject* create_module (void) {
+
+# if PY_VERSION_HEX >= 0x03000000
+  PyObject* module = PyModule_Create(&module_definition);
+# else
+  PyObject* module = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr);
+# endif
+  if (!module) return 0;
+  auto module_ = make_safe(module); ///< protects against early returns
+
+  if (PyModule_AddStringConstant(module, "__version__", BOB_EXT_MODULE_VERSION) < 0) return 0;
+  if (!init_BobLearnEMGaussian(module)) return 0;
+  if (!init_BobLearnEMGMMStats(module)) return 0;
+  if (!init_BobLearnEMGMMMachine(module)) return 0;
+  if (!init_BobLearnEMKMeansMachine(module)) return 0;
+  if (!init_BobLearnEMKMeansTrainer(module)) return 0;
+  //if (!init_BobLearnEMGMMBaseTrainer(module)) return 0;
+  if (!init_BobLearnEMMLGMMTrainer(module)) return 0;  
+  if (!init_BobLearnEMMAPGMMTrainer(module)) return 0;
+
+  if (!init_BobLearnEMJFABase(module)) return 0;
+  if (!init_BobLearnEMJFAMachine(module)) return 0;
+  if (!init_BobLearnEMJFATrainer(module)) return 0;
+
+  if (!init_BobLearnEMISVBase(module)) return 0;
+  if (!init_BobLearnEMISVMachine(module)) return 0;
+  if (!init_BobLearnEMISVTrainer(module)) return 0;
+
+  if (!init_BobLearnEMIVectorMachine(module)) return 0;
+  if (!init_BobLearnEMIVectorTrainer(module)) return 0;
+    
+  if (!init_BobLearnEMPLDABase(module)) return 0;
+  if (!init_BobLearnEMPLDAMachine(module)) return 0;
+  if (!init_BobLearnEMPLDATrainer(module)) return 0; 
+
+  if (!init_BobLearnEMEMPCATrainer(module)) return 0;  
+
+
+  static void* PyBobLearnEM_API[PyBobLearnEM_API_pointers];
+
+  /* exhaustive list of C APIs */
+
+  /**************
+   * Versioning *
+   **************/
+
+  PyBobLearnEM_API[PyBobLearnEM_APIVersion_NUM] = (void *)&PyBobLearnEM_APIVersion;
+
+
+#if PY_VERSION_HEX >= 0x02070000
+
+  /* defines the PyCapsule */
+
+  PyObject* c_api_object = PyCapsule_New((void *)PyBobLearnEM_API,
+      BOB_EXT_MODULE_PREFIX "." BOB_EXT_MODULE_NAME "._C_API", 0);
+
+#else
+
+  PyObject* c_api_object = PyCObject_FromVoidPtr((void *)PyBobLearnEM_API, 0);
+
+#endif
+
+  if (!c_api_object) return 0;
+
+  if (PyModule_AddObject(module, "_C_API", c_api_object) < 0) return 0;
+
+
+  /* imports bob.learn.em's C-API dependencies */
+  if (import_bob_blitz() < 0) return 0;
+  if (import_bob_core_random() < 0) return 0;
+  if (import_bob_io_base() < 0) return 0;
+  //if (import_bob_learn_linear() < 0) return 0;
+
+  Py_INCREF(module);
+  return module;
+
+}
+
+PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) {
+# if PY_VERSION_HEX >= 0x03000000
+  return
+# endif
+    create_module();
+}
diff --git a/bob/learn/em/main.h b/bob/learn/em/main.h
new file mode 100644
index 0000000..4afa17d
--- /dev/null
+++ b/bob/learn/em/main.h
@@ -0,0 +1,312 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Fri Nov 21 10:31:25 CET 2014
+ *
+ * @brief Header file for bindings to bob::learn::em
+ */
+
+#ifndef BOB_LEARN_EM_MAIN_H
+#define BOB_LEARN_EM_MAIN_H
+
+#include <bob.blitz/cppapi.h>
+#include <bob.blitz/cleanup.h>
+#include <bob.core/random_api.h>
+#include <bob.io.base/api.h>
+
+#include <bob.learn.linear/api.h>
+
+#include <bob.extension/documentation.h>
+
+#define BOB_LEARN_EM_MODULE
+#include <bob.learn.em/api.h>
+
+#include <bob.learn.em/Gaussian.h>
+#include <bob.learn.em/GMMStats.h>
+#include <bob.learn.em/GMMMachine.h>
+#include <bob.learn.em/KMeansMachine.h>
+
+#include <bob.learn.em/KMeansTrainer.h>
+//#include <bob.learn.em/GMMBaseTrainer.h>
+#include <bob.learn.em/ML_GMMTrainer.h>
+#include <bob.learn.em/MAP_GMMTrainer.h>
+
+#include <bob.learn.em/JFABase.h>
+#include <bob.learn.em/JFAMachine.h>
+#include <bob.learn.em/JFATrainer.h>
+
+#include <bob.learn.em/ISVBase.h>
+#include <bob.learn.em/ISVMachine.h>
+#include <bob.learn.em/ISVTrainer.h>
+
+
+#include <bob.learn.em/IVectorMachine.h>
+#include <bob.learn.em/IVectorTrainer.h>
+
+#include <bob.learn.em/EMPCATrainer.h>
+
+#include <bob.learn.em/PLDAMachine.h>
+#include <bob.learn.em/PLDATrainer.h>
+
+#include <bob.learn.em/ZTNorm.h>
+
+
+
+#if PY_VERSION_HEX >= 0x03000000
+#define PyInt_Check PyLong_Check
+#define PyInt_AS_LONG PyLong_AS_LONG
+#define PyString_Check PyUnicode_Check
+#define PyString_AS_STRING(x) PyBytes_AS_STRING(make_safe(PyUnicode_AsUTF8String(x)).get())
+#endif
+
+#define TRY try{
+
+#define CATCH(message,ret) }\
+  catch (std::exception& e) {\
+    PyErr_SetString(PyExc_RuntimeError, e.what());\
+    return ret;\
+  } \
+  catch (...) {\
+    PyErr_Format(PyExc_RuntimeError, "%s " message ": unknown exception caught", Py_TYPE(self)->tp_name);\
+    return ret;\
+  }
+
+#define CATCH_(message, ret) }\
+  catch (std::exception& e) {\
+    PyErr_SetString(PyExc_RuntimeError, e.what());\
+    return ret;\
+  } \
+  catch (...) {\
+    PyErr_Format(PyExc_RuntimeError, message ": unknown exception caught");\
+    return ret;\
+  }
+
+static inline char* c(const char* o){return const_cast<char*>(o);}  /* converts const char* to char* */
+
+/// inserts the given key, value pair into the given dictionaries
+static inline int insert_item_string(PyObject* dict, PyObject* entries, const char* key, Py_ssize_t value){
+  auto v = make_safe(Py_BuildValue("n", value));
+  if (PyDict_SetItemString(dict, key, v.get()) < 0) return -1;
+  return PyDict_SetItemString(entries, key, v.get());
+}
+
+// Gaussian
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::Gaussian> cxx;
+} PyBobLearnEMGaussianObject;
+
+extern PyTypeObject PyBobLearnEMGaussian_Type;
+bool init_BobLearnEMGaussian(PyObject* module);
+int PyBobLearnEMGaussian_Check(PyObject* o);
+
+
+// GMMStats
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::GMMStats> cxx;
+} PyBobLearnEMGMMStatsObject;
+
+extern PyTypeObject PyBobLearnEMGMMStats_Type;
+bool init_BobLearnEMGMMStats(PyObject* module);
+int PyBobLearnEMGMMStats_Check(PyObject* o);
+
+
+// GMMMachine
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::GMMMachine> cxx;
+} PyBobLearnEMGMMMachineObject;
+
+extern PyTypeObject PyBobLearnEMGMMMachine_Type;
+bool init_BobLearnEMGMMMachine(PyObject* module);
+int PyBobLearnEMGMMMachine_Check(PyObject* o);
+
+
+// KMeansMachine
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::KMeansMachine> cxx;
+} PyBobLearnEMKMeansMachineObject;
+
+extern PyTypeObject PyBobLearnEMKMeansMachine_Type;
+bool init_BobLearnEMKMeansMachine(PyObject* module);
+int PyBobLearnEMKMeansMachine_Check(PyObject* o);
+
+
+// KMeansTrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::KMeansTrainer> cxx;
+} PyBobLearnEMKMeansTrainerObject;
+
+extern PyTypeObject PyBobLearnEMKMeansTrainer_Type;
+bool init_BobLearnEMKMeansTrainer(PyObject* module);
+int PyBobLearnEMKMeansTrainer_Check(PyObject* o);
+
+
+// GMMBaseTrainer
+/*
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::GMMBaseTrainer> cxx;
+} PyBobLearnEMGMMBaseTrainerObject;
+
+extern PyTypeObject PyBobLearnEMGMMBaseTrainer_Type;
+bool init_BobLearnEMGMMBaseTrainer(PyObject* module);
+int PyBobLearnEMGMMBaseTrainer_Check(PyObject* o);
+*/
+
+// ML_GMMTrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::ML_GMMTrainer> cxx;
+} PyBobLearnEMMLGMMTrainerObject;
+
+extern PyTypeObject PyBobLearnEMMLGMMTrainer_Type;
+bool init_BobLearnEMMLGMMTrainer(PyObject* module);
+int PyBobLearnEMMLGMMTrainer_Check(PyObject* o);
+
+
+// MAP_GMMTrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::MAP_GMMTrainer> cxx;
+} PyBobLearnEMMAPGMMTrainerObject;
+
+extern PyTypeObject PyBobLearnEMMAPGMMTrainer_Type;
+bool init_BobLearnEMMAPGMMTrainer(PyObject* module);
+int PyBobLearnEMMAPGMMTrainer_Check(PyObject* o);
+
+
+// JFABase
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::JFABase> cxx;
+} PyBobLearnEMJFABaseObject;
+
+extern PyTypeObject PyBobLearnEMJFABase_Type;
+bool init_BobLearnEMJFABase(PyObject* module);
+int PyBobLearnEMJFABase_Check(PyObject* o);
+
+
+// ISVBase
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::ISVBase> cxx;
+} PyBobLearnEMISVBaseObject;
+
+extern PyTypeObject PyBobLearnEMISVBase_Type;
+bool init_BobLearnEMISVBase(PyObject* module);
+int PyBobLearnEMISVBase_Check(PyObject* o);
+
+
+// JFAMachine
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::JFAMachine> cxx;
+} PyBobLearnEMJFAMachineObject;
+
+extern PyTypeObject PyBobLearnEMJFAMachine_Type;
+bool init_BobLearnEMJFAMachine(PyObject* module);
+int PyBobLearnEMJFAMachine_Check(PyObject* o);
+
+// JFATrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::JFATrainer> cxx;
+} PyBobLearnEMJFATrainerObject;
+
+
+extern PyTypeObject PyBobLearnEMJFATrainer_Type;
+bool init_BobLearnEMJFATrainer(PyObject* module);
+int PyBobLearnEMJFATrainer_Check(PyObject* o);
+
+// ISVMachine
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::ISVMachine> cxx;
+} PyBobLearnEMISVMachineObject;
+
+extern PyTypeObject PyBobLearnEMISVMachine_Type;
+bool init_BobLearnEMISVMachine(PyObject* module);
+int PyBobLearnEMISVMachine_Check(PyObject* o);
+
+// ISVTrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::ISVTrainer> cxx;
+} PyBobLearnEMISVTrainerObject;
+
+extern PyTypeObject PyBobLearnEMISVTrainer_Type;
+bool init_BobLearnEMISVTrainer(PyObject* module);
+int PyBobLearnEMISVTrainer_Check(PyObject* o);
+
+// IVectorMachine
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::IVectorMachine> cxx;
+} PyBobLearnEMIVectorMachineObject;
+
+extern PyTypeObject PyBobLearnEMIVectorMachine_Type;
+bool init_BobLearnEMIVectorMachine(PyObject* module);
+int PyBobLearnEMIVectorMachine_Check(PyObject* o);
+
+
+// IVectorTrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::IVectorTrainer> cxx;
+} PyBobLearnEMIVectorTrainerObject;
+
+extern PyTypeObject PyBobLearnEMIVectorTrainer_Type;
+bool init_BobLearnEMIVectorTrainer(PyObject* module);
+int PyBobLearnEMIVectorTrainer_Check(PyObject* o);
+
+
+// PLDABase
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::PLDABase> cxx;
+} PyBobLearnEMPLDABaseObject;
+
+extern PyTypeObject PyBobLearnEMPLDABase_Type;
+bool init_BobLearnEMPLDABase(PyObject* module);
+int PyBobLearnEMPLDABase_Check(PyObject* o);
+
+
+// PLDAMachine
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::PLDAMachine> cxx;
+} PyBobLearnEMPLDAMachineObject;
+
+extern PyTypeObject PyBobLearnEMPLDAMachine_Type;
+bool init_BobLearnEMPLDAMachine(PyObject* module);
+int PyBobLearnEMPLDAMachine_Check(PyObject* o);
+
+
+// PLDATrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::PLDATrainer> cxx;
+} PyBobLearnEMPLDATrainerObject;
+
+extern PyTypeObject PyBobLearnEMPLDATrainer_Type;
+bool init_BobLearnEMPLDATrainer(PyObject* module);
+int PyBobLearnEMPLDATrainer_Check(PyObject* o);
+
+
+
+// EMPCATrainer
+typedef struct {
+  PyObject_HEAD
+  boost::shared_ptr<bob::learn::em::EMPCATrainer> cxx;
+} PyBobLearnEMEMPCATrainerObject;
+
+extern PyTypeObject PyBobLearnEMEMPCATrainer_Type;
+bool init_BobLearnEMEMPCATrainer(PyObject* module);
+int PyBobLearnEMEMPCATrainer_Check(PyObject* o);
+
+
+
+#endif // BOB_LEARN_EM_MAIN_H
diff --git a/bob/learn/em/plda_base.cpp b/bob/learn/em/plda_base.cpp
new file mode 100644
index 0000000..c30cab6
--- /dev/null
+++ b/bob/learn/em/plda_base.cpp
@@ -0,0 +1,1097 @@
+/**
+ * @date Thu Jan 29 15:44:15 2015 +0200
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static auto PLDABase_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".PLDABase",
+
+  "This class is a container for the :math:`F` (between class variantion matrix), :math:`G` (within class variantion matrix) and :math:`\\Sigma` "
+  "matrices and the mean vector :math:`\\mu` of a PLDA model. This also"
+  "precomputes useful matrices to make the model scalable."
+  "References: [ElShafey2014,PrinceElder2007,LiFu2012]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+
+     "Constructor, builds a new PLDABase. :math:`F`, :math:`G` "
+     "and :math:`\\Sigma` are initialized to the 'eye' matrix (matrix with 1's "
+     "on the diagonal and 0 outside), and :math:`\\mu` is initialized to 0.",
+
+    "",
+    true
+  )
+  .add_prototype("dim_d,dim_f,dim_g,variance_threshold","")
+  .add_prototype("other","")
+  .add_prototype("hdf5","")
+
+  .add_parameter("dim_D", "int", "Dimensionality of the feature vector.")
+  .add_parameter("dim_F", "int", "Size of :math:`F`(between class variantion matrix).")
+  .add_parameter("dim_G", "int", "Size of :math:`G`(within class variantion matrix).")
+  .add_parameter("variance_threshold", "double", "The smallest possible value of the variance (Ignored if set to 0.)")
+  
+  .add_parameter("other", ":py:class:`bob.learn.em.PLDABase`", "A PLDABase object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMPLDABase_init_copy(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDABase_doc.kwlist(1);
+  PyBobLearnEMPLDABaseObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMPLDABase_Type, &o)){
+    PLDABase_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::PLDABase(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMPLDABase_init_hdf5(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDABase_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBobIoHDF5File_Converter, &config)){
+    PLDABase_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::PLDABase(*(config->f)));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMPLDABase_init_dim(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDABase_doc.kwlist(0);
+  
+  int dim_D, dim_F, dim_G = 1;
+  double variance_threshold = 0.0;
+
+  //Here we have to select which keyword argument to read  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iii|d", kwlist, &dim_D, &dim_F, &dim_G, &variance_threshold)){
+    PLDABase_doc.print_usage();
+    return -1;
+  }
+  
+  if(dim_D <= 0){
+    PyErr_Format(PyExc_TypeError, "dim_D argument must be greater than or equal to one");
+    return -1;
+  }
+  
+  if(dim_F <= 0){
+    PyErr_Format(PyExc_TypeError, "dim_F argument must be greater than or equal to one");
+    return -1;
+  }
+
+  if(dim_G <= 0){
+    PyErr_Format(PyExc_TypeError, "dim_G argument must be greater than or equal to one");
+    return -1;
+  }
+
+  if(variance_threshold < 0){
+    PyErr_Format(PyExc_TypeError, "variance_threshold argument must be greater than or equal to zero");
+    return -1;
+  }
+
+  
+  self->cxx.reset(new bob::learn::em::PLDABase(dim_D, dim_F, dim_G, variance_threshold));
+  return 0;
+}
+
+static int PyBobLearnEMPLDABase_init(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  if(nargs==1){
+    //Reading the input argument
+    PyObject* arg = 0;
+    if (PyTuple_Size(args))
+      arg = PyTuple_GET_ITEM(args, 0);
+    else {
+      PyObject* tmp = PyDict_Values(kwargs);
+      auto tmp_ = make_safe(tmp);
+      arg = PyList_GET_ITEM(tmp, 0);
+    }
+
+    // If the constructor input is Gaussian object
+    if (PyBobLearnEMPLDABase_Check(arg))
+      return PyBobLearnEMPLDABase_init_copy(self, args, kwargs);
+    // If the constructor input is a HDF5
+    else if (PyBobIoHDF5File_Check(arg))
+      return PyBobLearnEMPLDABase_init_hdf5(self, args, kwargs);
+  }
+  else if((nargs==3)||(nargs==4))
+    return PyBobLearnEMPLDABase_init_dim(self, args, kwargs);
+  else{
+    PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 1, 3 or 4 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+    PLDABase_doc.print_usage();
+    return -1;
+  }
+  BOB_CATCH_MEMBER("cannot create PLDABase", 0)
+  return 0;
+}
+
+
+
+static void PyBobLearnEMPLDABase_delete(PyBobLearnEMPLDABaseObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMPLDABase_RichCompare(PyBobLearnEMPLDABaseObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMPLDABase_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMPLDABaseObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare PLDABase objects", 0)
+}
+
+int PyBobLearnEMPLDABase_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMPLDABase_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int, int)",
+  "A tuple that represents the dimensionality of the feature vector :math:`dim_d`, the :math:`F` matrix and the :math:`G` matrix.",
+  ""
+);
+PyObject* PyBobLearnEMPLDABase_getShape(PyBobLearnEMPLDABaseObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i,i)", self->cxx->getDimD(), self->cxx->getDimF(), self->cxx->getDimG());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+
+/***** F *****/
+static auto F = bob::extension::VariableDoc(
+  "f",
+  "array_like <float, 2D>",
+  "Returns the :math:`F` matrix (between class variantion matrix)",
+  ""
+);
+PyObject* PyBobLearnEMPLDABase_getF(PyBobLearnEMPLDABaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getF());
+  BOB_CATCH_MEMBER("`f` could not be read", 0)
+}
+int PyBobLearnEMPLDABase_setF(PyBobLearnEMPLDABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, F.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "f");
+  if (!b) return -1;
+  self->cxx->setF(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`f` vector could not be set", -1)
+}
+
+/***** G *****/
+static auto G = bob::extension::VariableDoc(
+  "g",
+  "array_like <float, 2D>",
+  "Returns the :math:`G` matrix (between class variantion matrix)",
+  ""
+);
+PyObject* PyBobLearnEMPLDABase_getG(PyBobLearnEMPLDABaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getG());
+  BOB_CATCH_MEMBER("`g` could not be read", 0)
+}
+int PyBobLearnEMPLDABase_setG(PyBobLearnEMPLDABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, G.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,2>(o, "g");
+  if (!b) return -1;
+  self->cxx->setG(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`g` vector could not be set", -1)
+}
+
+
+/***** mu *****/
+static auto mu = bob::extension::VariableDoc(
+  "mu",
+  "array_like <float, 1D>",
+  "Gets the :math:`mu` mean vector of the PLDA model",
+  ""
+);
+PyObject* PyBobLearnEMPLDABase_getMu(PyBobLearnEMPLDABaseObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getMu());
+  BOB_CATCH_MEMBER("`mu` could not be read", 0)
+}
+int PyBobLearnEMPLDABase_setMu(PyBobLearnEMPLDABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, mu.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "mu");
+  if (!b) return -1;
+  self->cxx->setMu(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`mu` vector could not be set", -1)
+}
+
+
+/***** __isigma__ *****/
+static auto __isigma__ = bob::extension::VariableDoc(
+  "__isigma__",
+  "array_like <float, 1D>",
+  "Gets the inverse vector/diagonal matrix of :math:`\\Sigma^{-1}`",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getISigma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getISigma());
+  BOB_CATCH_MEMBER("__isigma__ could not be read", 0)
+}
+
+
+/***** __alpha__ *****/
+static auto __alpha__ = bob::extension::VariableDoc(
+  "__alpha__",
+  "array_like <float, 2D>",
+  "Gets the \f$\alpha\f$ matrix."
+  ":math:`\\alpha = (Id + G^T \\Sigma^{-1} G)^{-1} = \\mathcal{G}`",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getAlpha(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAlpha());
+  BOB_CATCH_MEMBER("__alpha__ could not be read", 0)
+}
+
+
+/***** __beta__ *****/
+static auto __beta__ = bob::extension::VariableDoc(
+  "__beta__",
+  "array_like <float, 2D>",
+  "Gets the :math:`\\beta` matrix "
+  ":math:`\\beta = (\\Sigma + G G^T)^{-1} = \\mathcal{S} = \\Sigma^{-1} - \\Sigma^{-1} G \\mathcal{G} G^{T} \\Sigma^{-1}`",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getBeta(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getBeta());
+  BOB_CATCH_MEMBER("__beta__ could not be read", 0)
+}
+
+
+/***** __ft_beta__ *****/
+static auto __ft_beta__ = bob::extension::VariableDoc(
+  "__ft_beta__",
+  "array_like <float, 2D>",
+  "Gets the :math:`F^T \\beta' matrix",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getFtBeta(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getFtBeta());
+  BOB_CATCH_MEMBER("__ft_beta__ could not be read", 0)
+}
+
+
+/***** __gt_i_sigma__ *****/
+static auto __gt_i_sigma__ = bob::extension::VariableDoc(
+  "__gt_i_sigma__",
+  "array_like <float, 2D>",
+  "Gets the :math:`G^T \\Sigma^{-1}` matrix",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getGtISigma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getGtISigma());
+  BOB_CATCH_MEMBER("__gt_i_sigma__ could not be read", 0)
+}
+
+
+/***** __logdet_alpha__ *****/
+static auto __logdet_alpha__ = bob::extension::VariableDoc(
+  "__logdet_alpha__",
+  "double",
+  "Gets :math:`\\log(\\det(\\alpha))`",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getLogDetAlpha(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getLogDetAlpha());
+  BOB_CATCH_MEMBER("__logdet_alpha__ could not be read", 0)
+}
+
+/***** __logdet_sigma__ *****/
+static auto __logdet_sigma__ = bob::extension::VariableDoc(
+  "__logdet_sigma__",
+  "double",
+  "Gets :math:`\\log(\\det(\\Sigma))`",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getLogDetSigma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getLogDetSigma());
+  BOB_CATCH_MEMBER("__logdet_sigma__ could not be read", 0)
+}
+
+
+/***** variance_threshold *****/
+static auto variance_threshold = bob::extension::VariableDoc(
+  "variance_threshold",
+  "double",
+  "",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getVarianceThreshold(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getVarianceThreshold());
+  BOB_CATCH_MEMBER("variance_threshold could not be read", 0)
+}
+int PyBobLearnEMPLDABase_setVarianceThreshold(PyBobLearnEMPLDABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an float", Py_TYPE(self)->tp_name, variance_threshold.name());
+    return -1;
+  }
+
+  self->cxx->setVarianceThreshold(PyFloat_AS_DOUBLE(value));
+  BOB_CATCH_MEMBER("variance_threshold could not be set", -1)
+  return 0;
+}
+
+
+
+
+/***** sigma *****/
+static auto sigma = bob::extension::VariableDoc(
+  "sigma",
+  "array_like <float, 1D>",
+  "Gets the :math:`\\sigma` (diagonal) covariance matrix of the PLDA model",
+  ""
+);
+static PyObject* PyBobLearnEMPLDABase_getSigma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getSigma());
+  BOB_CATCH_MEMBER("sigma could not be read", 0)
+}
+int PyBobLearnEMPLDABase_setSigma(PyBobLearnEMPLDABaseObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, sigma.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "sigma");
+  if (!b) return -1;
+  self->cxx->setSigma(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`sigma` vector could not be set", -1)
+}
+
+
+static PyGetSetDef PyBobLearnEMPLDABase_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMPLDABase_getShape,
+   0,
+   shape.doc(),
+   0
+  },  
+  {
+   F.name(),
+   (getter)PyBobLearnEMPLDABase_getF,
+   (setter)PyBobLearnEMPLDABase_setF,
+   F.doc(),
+   0
+  },
+  {
+   G.name(),
+   (getter)PyBobLearnEMPLDABase_getG,
+   (setter)PyBobLearnEMPLDABase_setG,
+   G.doc(),
+   0
+  },
+  {
+   mu.name(),
+   (getter)PyBobLearnEMPLDABase_getMu,
+   (setter)PyBobLearnEMPLDABase_setMu,
+   mu.doc(),
+   0
+  },
+  {
+   __isigma__.name(),
+   (getter)PyBobLearnEMPLDABase_getISigma,
+   0,
+   __isigma__.doc(),
+   0
+  },
+  {
+   __alpha__.name(),
+   (getter)PyBobLearnEMPLDABase_getAlpha,
+   0,
+   __alpha__.doc(),
+   0
+  },
+  {
+   __beta__.name(),
+   (getter)PyBobLearnEMPLDABase_getBeta,
+   0,
+   __beta__.doc(),
+   0
+  },
+  {
+  __ft_beta__.name(),
+   (getter)PyBobLearnEMPLDABase_getFtBeta,
+   0,
+   __ft_beta__.doc(),
+   0
+  },
+  {
+  __gt_i_sigma__.name(),
+   (getter)PyBobLearnEMPLDABase_getGtISigma,
+   0,
+   __gt_i_sigma__.doc(),
+   0
+  },
+  {
+  __logdet_alpha__.name(),
+   (getter)PyBobLearnEMPLDABase_getLogDetAlpha,
+   0,
+   __logdet_alpha__.doc(),
+   0
+  },
+  {
+  __logdet_sigma__.name(),
+   (getter)PyBobLearnEMPLDABase_getLogDetSigma,
+   0,
+   __logdet_sigma__.doc(),
+   0
+  },
+  {
+   sigma.name(),
+   (getter)PyBobLearnEMPLDABase_getSigma,
+   (setter)PyBobLearnEMPLDABase_setSigma,
+   sigma.doc(),
+   0
+  },
+  {
+   variance_threshold.name(),
+   (getter)PyBobLearnEMPLDABase_getVarianceThreshold,
+   (setter)PyBobLearnEMPLDABase_setVarianceThreshold,
+   variance_threshold.doc(),
+   0
+  },
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the PLDABase to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMPLDABase_Save(PyBobLearnEMPLDABaseObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the PLDABase to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMPLDABase_Load(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this PLDABase with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.PLDABase`", "A PLDABase object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMPLDABase_IsSimilarTo(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMPLDABaseObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMPLDABase_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/*** resize ***/
+static auto resize = bob::extension::FunctionDoc(
+  "resize",
+  "Resizes the dimensionality of the PLDA model. Paramaters :math:`\\mu`, :math:`\\F`, :math:`\\G` and :math:`\\Sigma` are reinitialized.",
+  0,
+  true
+)
+.add_prototype("dim_D,dim_F,dim_G")
+.add_parameter("dim_D", "int", "Dimensionality of the feature vector.")
+.add_parameter("dim_F", "int", "Size of :math:`F`(between class variantion matrix).")
+.add_parameter("dim_G", "int", "Size of :math:`F`(within class variantion matrix).");
+static PyObject* PyBobLearnEMPLDABase_resize(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = resize.kwlist(0);
+
+  int dim_D, dim_F, dim_G = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iii", kwlist, &dim_D, &dim_F, &dim_G)) Py_RETURN_NONE;
+
+  if(dim_D <= 0){
+    PyErr_Format(PyExc_TypeError, "dim_D argument must be greater than or equal to one");
+    Py_RETURN_NONE;
+  }
+  
+  if(dim_F <= 0){
+    PyErr_Format(PyExc_TypeError, "dim_F argument must be greater than or equal to one");
+    Py_RETURN_NONE;
+  }
+
+  if(dim_G <= 0){
+    PyErr_Format(PyExc_TypeError, "dim_G argument must be greater than or equal to one");
+    Py_RETURN_NONE;
+  }
+
+  self->cxx->resize(dim_D, dim_F, dim_G);
+
+  BOB_CATCH_MEMBER("cannot perform the resize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/***** get_gamma *****/
+static auto get_gamma = bob::extension::FunctionDoc(
+  "get_gamma",
+  "Gets the :math:`\\gamma_a` matrix for a given :math:`a` (number of samples). "
+  ":math:`gamma_{a} = (Id + a F^T \beta F)^{-1} = \\mathcal{F}_{a}`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","array_like <float, 2D>","Get the :math:`\\gamma` matrix");
+static PyObject* PyBobLearnEMPLDABase_getGamma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_gamma.kwlist(0);
+
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getGamma(i));
+  BOB_CATCH_MEMBER("`get_gamma` could not be read", 0)
+}
+
+
+/***** has_gamma *****/
+static auto has_gamma = bob::extension::FunctionDoc(
+  "has_gamma",
+  "Tells if the :math:`gamma_a` matrix for a given a (number of samples) exists. "
+  ":math:`gamma_a=(Id + a F^T \\beta F)^{-1}`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","bool","");
+static PyObject* PyBobLearnEMPLDABase_hasGamma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = has_gamma.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  if(self->cxx->hasGamma(i))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+ BOB_CATCH_MEMBER("`has_gamma` could not be read", 0)    
+}
+
+
+/***** compute_gamma *****/
+static auto compute_gamma = bob::extension::FunctionDoc(
+  "compute_gamma",
+  "Tells if the :math:`gamma_a` matrix for a given a (number of samples) exists."
+  ":math:`gamma_a = (Id + a F^T \\beta F)^{-1}`",
+  0,
+  true
+)
+.add_prototype("a,res","")
+.add_parameter("a", "int", "Index")
+.add_parameter("res", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMPLDABase_computeGamma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = compute_gamma.kwlist(0);
+  int i = 0;
+  PyBlitzArrayObject* res = 0;  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO&", kwlist, &i, &PyBlitzArray_Converter, &res)) Py_RETURN_NONE;
+
+  auto res_ = make_safe(res);  
+
+  self->cxx->computeGamma(i,*PyBlitzArrayCxx_AsBlitz<double,2>(res));
+  Py_RETURN_NONE;
+  BOB_CATCH_MEMBER("`compute_gamma` could not be read", 0)    
+}
+
+/***** get_add_gamma *****/
+static auto get_add_gamma = bob::extension::FunctionDoc(
+  "get_add_gamma",
+   "Gets the :math:`gamma_a` matrix for a given :math:`f_a` (number of samples)."
+   ":math:`gamma_a = (Id + a F^T \\beta F)^{-1} = \\mathcal{F}_{a}`."
+   "Tries to find it from the base machine and then from this machine.",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","array_like <float, 2D>","");
+static PyObject* PyBobLearnEMPLDABase_getAddGamma(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_add_gamma.kwlist(0);
+
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAddGamma(i));
+  BOB_CATCH_MEMBER("`get_add_gamma` could not be read", 0)
+}
+
+
+/***** has_log_like_const_term *****/
+static auto has_log_like_const_term = bob::extension::FunctionDoc(
+  "has_log_like_const_term",
+   "Tells if the log likelihood constant term for a given :math:`a` (number of samples) exists in this machine (does not check the base machine). "
+   ":math:`l_{a}=\\frac{a}{2} ( -D log(2\\pi) -log|\\Sigma| +log|\\alpha| +log|\\gamma_a|)`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","bool","");
+static PyObject* PyBobLearnEMPLDABase_hasLogLikeConstTerm(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = has_log_like_const_term.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  if(self->cxx->hasLogLikeConstTerm(i))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+ BOB_CATCH_MEMBER("`has_log_like_const_term` could not be read", 0)    
+}
+
+
+/***** compute_log_like_const_term" *****/
+static auto compute_log_like_const_term = bob::extension::FunctionDoc(
+  "compute_log_like_const_term",
+  "Computes the log likelihood constant term for a given :math:`a` (number of samples), given the provided :math:`gamma_a` matrix. "
+  ":math:`l_{a} = \\frac{a}{2} ( -D log(2\\pi) -log|\\Sigma| +log|\\alpha| +log|\\gamma_a|)`",
+
+  0,
+  true
+)
+.add_prototype("a,res","")
+.add_parameter("a", "int", "Index")
+.add_parameter("res", "array_like <float, 2D>", "Input data");
+static PyObject* PyBobLearnEMPLDABase_computeLogLikeConstTerm(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = compute_log_like_const_term.kwlist(0);
+  int i = 0;
+  PyBlitzArrayObject* res = 0;  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "iO&", kwlist, &i, &PyBlitzArray_Converter, &res)) Py_RETURN_NONE;
+
+  auto res_ = make_safe(res);  
+
+  self->cxx->computeLogLikeConstTerm(i,*PyBlitzArrayCxx_AsBlitz<double,2>(res));
+  Py_RETURN_NONE;
+  BOB_CATCH_MEMBER("`compute_gamma` could not be read", 0)    
+}
+
+
+/***** get_add_log_like_const_term *****/
+static auto get_add_log_like_const_term = bob::extension::FunctionDoc(
+  "get_add_log_like_const_term",
+
+   "Gets the log likelihood constant term for a given :math:`a` (number of samples). "
+   ":math:`l_{a} = \\frac{a}{2} ( -D log(2\\pi) -log|\\Sigma| +log|\\alpha| +log|\\gamma_a|)`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","double","");
+static PyObject* PyBobLearnEMPLDABase_getAddLogLikeConstTerm(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_add_log_like_const_term.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return Py_BuildValue("d",self->cxx->getAddLogLikeConstTerm(i));
+
+  BOB_CATCH_MEMBER("`get_add_log_like_const_term` could not be read", 0)    
+}
+
+
+/***** get_log_like_const_term *****/
+static auto get_log_like_const_term = bob::extension::FunctionDoc(
+  "get_log_like_const_term",
+   "Gets the log likelihood constant term for a given :math:`a` (number of samples). "
+    ":math:`l_{a} = \\frac{a}{2} ( -D log(2\\pi) -log|\\Sigma| +log|\\alpha| +log|\\gamma_a|)",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","double","");
+static PyObject* PyBobLearnEMPLDABase_getLogLikeConstTerm(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_log_like_const_term.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return Py_BuildValue("d",self->cxx->getLogLikeConstTerm(i));
+
+  BOB_CATCH_MEMBER("`get_log_like_const_term` could not be read", 0)    
+}
+
+/***** clear_maps *****/
+static auto clear_maps = bob::extension::FunctionDoc(
+  "clear_maps",
+  "Clears the maps (:math:`gamma_a` and loglike_constterm_a).",
+  0,
+  true
+);
+static PyObject* PyBobLearnEMPLDABase_clearMaps(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  self->cxx->clearMaps();
+  Py_RETURN_NONE;
+
+  BOB_CATCH_MEMBER("`clear_maps` could not be read", 0)    
+}
+
+
+/***** compute_log_likelihood_point_estimate *****/
+static auto compute_log_likelihood_point_estimate = bob::extension::FunctionDoc(
+  "compute_log_likelihood_point_estimate",
+   "Gets the log-likelihood of an observation, given the current model and the latent variables (point estimate)."
+   "This will basically compute :math:`p(x_{ij} | h_{i}, w_{ij}, \\Theta)`, given by "
+   ":math:`\\mathcal{N}(x_{ij}|[\\mu + F h_{i} + G w_{ij} + \\epsilon_{ij}, \\Sigma])`, which is in logarithm, "
+   ":math:`\\frac{D}{2} log(2\\pi) -\\frac{1}{2} log(det(\\Sigma)) -\\frac{1}{2} {(x_{ij}-(\\mu+F h_{i}+G w_{ij}))^{T}\\Sigma^{-1}(x_{ij}-(\\mu+F h_{i}+G w_{ij}))}`",
+  0,
+  true
+)
+.add_prototype("xij,hi,wij","output")
+.add_parameter("xij", "array_like <float, 1D>", "")
+.add_parameter("hi", "array_like <float, 1D>", "")
+.add_parameter("wij", "array_like <float, 1D>", "")
+.add_return("output", "double", "");
+static PyObject* PyBobLearnEMPLDABase_computeLogLikelihoodPointEstimate(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = compute_log_likelihood_point_estimate.kwlist(0);
+  PyBlitzArrayObject* xij, *hi, *wij;  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&O&", kwlist, &PyBlitzArray_Converter, &xij,
+                                                               &PyBlitzArray_Converter, &hi,
+                                                               &PyBlitzArray_Converter, &wij)) return 0;
+
+  auto xij_ = make_safe(xij);
+  auto hi_ = make_safe(hi);
+  auto wij_ = make_safe(wij);  
+
+  return Py_BuildValue("d", self->cxx->computeLogLikelihoodPointEstimate(*PyBlitzArrayCxx_AsBlitz<double,1>(xij), *PyBlitzArrayCxx_AsBlitz<double,1>(hi), *PyBlitzArrayCxx_AsBlitz<double,1>(wij)));
+  
+  BOB_CATCH_MEMBER("`compute_log_likelihood_point_estimate` could not be read", 0)    
+}
+
+/***** __precompute__ *****/
+static auto __precompute__ = bob::extension::FunctionDoc(
+  "__precompute__",
+  "Precomputes useful values for the log likelihood "
+  ":math:`\\log(\\det(\\alpha))` and :math:`\\log(\\det(\\Sigma))`.",
+  0,
+  true
+);
+static PyObject* PyBobLearnEMPLDABase_precompute(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  self->cxx->precompute();
+  Py_RETURN_NONE;
+
+  BOB_CATCH_MEMBER("`precompute` could not be read", 0)    
+}
+
+
+/***** __precompute_log_like__ *****/
+static auto __precompute_log_like__ = bob::extension::FunctionDoc(
+  "__precompute_log_like__",
+
+  "Precomputes useful values for the log likelihood "
+  ":math:`\\log(\\det(\\alpha))` and :math:`\\log(\\det(\\Sigma))`.",
+
+  0,
+  true
+);
+static PyObject* PyBobLearnEMPLDABase_precomputeLogLike(PyBobLearnEMPLDABaseObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  self->cxx->precomputeLogLike();
+  Py_RETURN_NONE;
+
+  BOB_CATCH_MEMBER("`__precompute_log_like__` could not be read", 0)    
+}
+
+
+static PyMethodDef PyBobLearnEMPLDABase_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    resize.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_resize,
+    METH_VARARGS|METH_KEYWORDS,
+    resize.doc()
+  },
+  {
+    get_gamma.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_getGamma,
+    METH_VARARGS|METH_KEYWORDS,
+    get_gamma.doc()
+  },
+  {
+    has_gamma.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_hasGamma,
+    METH_VARARGS|METH_KEYWORDS,
+    has_gamma.doc()
+  },
+  {
+    compute_gamma.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_computeGamma,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_gamma.doc()
+  },
+  {
+    get_add_gamma.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_getAddGamma,
+    METH_VARARGS|METH_KEYWORDS,
+    get_add_gamma.doc()
+  },
+  {
+    has_log_like_const_term.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_hasLogLikeConstTerm,
+    METH_VARARGS|METH_KEYWORDS,
+    has_log_like_const_term.doc()
+  },  
+  {
+    compute_log_like_const_term.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_computeLogLikeConstTerm,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_log_like_const_term.doc()
+  },  
+  {
+    get_add_log_like_const_term.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_getAddLogLikeConstTerm,
+    METH_VARARGS|METH_KEYWORDS,
+    get_add_log_like_const_term.doc()
+  },  
+  {
+    get_log_like_const_term.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_getLogLikeConstTerm,
+    METH_VARARGS|METH_KEYWORDS,
+    get_log_like_const_term.doc()
+  },  
+  {
+    clear_maps.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_clearMaps,
+    METH_NOARGS,
+    clear_maps.doc()
+  },
+  {
+    compute_log_likelihood_point_estimate.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_computeLogLikelihoodPointEstimate,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_log_likelihood_point_estimate.doc()
+  },
+  {
+    __precompute__.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_precompute,
+    METH_NOARGS,
+    __precompute__.doc()
+  },   
+  {
+    __precompute_log_like__.name(),
+    (PyCFunction)PyBobLearnEMPLDABase_precomputeLogLike,
+    METH_NOARGS,
+    __precompute_log_like__.doc()
+  },     
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the JFA type struct; will be initialized later
+PyTypeObject PyBobLearnEMPLDABase_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMPLDABase(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMPLDABase_Type.tp_name      = PLDABase_doc.name();
+  PyBobLearnEMPLDABase_Type.tp_basicsize = sizeof(PyBobLearnEMPLDABaseObject);
+  PyBobLearnEMPLDABase_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMPLDABase_Type.tp_doc       = PLDABase_doc.doc();
+
+  // set the functions
+  PyBobLearnEMPLDABase_Type.tp_new         = PyType_GenericNew;
+  PyBobLearnEMPLDABase_Type.tp_init        = reinterpret_cast<initproc>(PyBobLearnEMPLDABase_init);
+  PyBobLearnEMPLDABase_Type.tp_dealloc     = reinterpret_cast<destructor>(PyBobLearnEMPLDABase_delete);
+  PyBobLearnEMPLDABase_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMPLDABase_RichCompare);
+  PyBobLearnEMPLDABase_Type.tp_methods     = PyBobLearnEMPLDABase_methods;
+  PyBobLearnEMPLDABase_Type.tp_getset      = PyBobLearnEMPLDABase_getseters;
+  //PyBobLearnEMPLDABase_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMPLDABase_forward);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMPLDABase_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMPLDABase_Type);
+  return PyModule_AddObject(module, "PLDABase", (PyObject*)&PyBobLearnEMPLDABase_Type) >= 0;
+}
+
diff --git a/bob/learn/em/plda_machine.cpp b/bob/learn/em/plda_machine.cpp
new file mode 100644
index 0000000..ec72f56
--- /dev/null
+++ b/bob/learn/em/plda_machine.cpp
@@ -0,0 +1,801 @@
+/**
+ * @date Thu Jan 30 11:10:15 2015 +0200
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+static inline bool f(PyObject* o){return o != 0 && PyObject_IsTrue(o) > 0;}  /* converts PyObject to bool and returns false if object is NULL */
+
+static auto PLDAMachine_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".PLDAMachine",
+
+  "This class is a container for an enrolled identity/class. It contains information extracted from the enrollment samples. "
+  "It should be used in combination with a PLDABase instance."
+  "References: [ElShafey2014,PrinceElder2007,LiFu2012]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+
+     "Constructor, builds a new PLDAMachine.",
+
+    "",
+    true
+  )
+  .add_prototype("plda_base","")
+  .add_prototype("other","")
+  .add_prototype("hdf5,plda_base","")
+
+  .add_parameter("plda_base", "`bob.learn.em.PLDABase`", "")  
+  .add_parameter("other", ":py:class:`bob.learn.em.PLDAMachine`", "A PLDAMachine object to be copied.")
+  .add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading")
+
+);
+
+
+static int PyBobLearnEMPLDAMachine_init_copy(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDAMachine_doc.kwlist(1);
+  PyBobLearnEMPLDAMachineObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMPLDAMachine_Type, &o)){
+    PLDAMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::PLDAMachine(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMPLDAMachine_init_hdf5(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDAMachine_doc.kwlist(2);
+
+  PyBobIoHDF5FileObject* config = 0;
+  PyBobLearnEMPLDABaseObject* plda_base;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O!", kwlist, &PyBobIoHDF5File_Converter, &config,
+                                                                 &PyBobLearnEMPLDABase_Type, &plda_base)){
+    PLDAMachine_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::PLDAMachine(*(config->f),plda_base->cxx));
+
+  return 0;
+}
+
+
+static int PyBobLearnEMPLDAMachine_init_pldabase(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDAMachine_doc.kwlist(0);  
+  PyBobLearnEMPLDABaseObject* plda_base;
+  
+  //Here we have to select which keyword argument to read  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMPLDABase_Type, &plda_base)){
+    PLDAMachine_doc.print_usage();
+    return -1;
+  }
+  
+  self->cxx.reset(new bob::learn::em::PLDAMachine(plda_base->cxx));
+  return 0;
+}
+
+static int PyBobLearnEMPLDAMachine_init(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+ 
+  if(nargs==1){
+    //Reading the input argument
+    PyObject* arg = 0;
+    if (PyTuple_Size(args))
+      arg = PyTuple_GET_ITEM(args, 0);
+    else {
+      PyObject* tmp = PyDict_Values(kwargs);
+      auto tmp_ = make_safe(tmp);
+      arg = PyList_GET_ITEM(tmp, 0);
+    }
+
+    // If the constructor input is Gaussian object
+    if (PyBobLearnEMPLDAMachine_Check(arg))
+      return PyBobLearnEMPLDAMachine_init_copy(self, args, kwargs);
+    // If the constructor input is a HDF5
+    else if (PyBobLearnEMPLDABase_Check(arg))
+      return PyBobLearnEMPLDAMachine_init_pldabase(self, args, kwargs);
+  }
+  else if(nargs==2)
+    return PyBobLearnEMPLDAMachine_init_hdf5(self, args, kwargs);
+  else{
+    PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires 1 or 2 arguments, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+    PLDAMachine_doc.print_usage();
+    return -1;
+  }
+  BOB_CATCH_MEMBER("cannot create PLDAMachine", 0)
+  return 0;
+}
+
+
+
+static void PyBobLearnEMPLDAMachine_delete(PyBobLearnEMPLDAMachineObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+static PyObject* PyBobLearnEMPLDAMachine_RichCompare(PyBobLearnEMPLDAMachineObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMPLDAMachine_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMPLDAMachineObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare PLDAMachine objects", 0)
+}
+
+int PyBobLearnEMPLDAMachine_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMPLDAMachine_Type));
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+/***** shape *****/
+static auto shape = bob::extension::VariableDoc(
+  "shape",
+  "(int,int, int)",
+  "A tuple that represents the dimensionality of the feature vector :math:`dim_d`, the :math:`F` matrix and the :math:`G` matrix.",
+  ""
+);
+PyObject* PyBobLearnEMPLDAMachine_getShape(PyBobLearnEMPLDAMachineObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("(i,i,i)", self->cxx->getDimD(), self->cxx->getDimF(), self->cxx->getDimG());
+  BOB_CATCH_MEMBER("shape could not be read", 0)
+}
+
+
+/***** n_samples *****/
+static auto n_samples = bob::extension::VariableDoc(
+  "n_samples",
+  "int",
+  "Number of enrolled samples",
+  ""
+);
+static PyObject* PyBobLearnEMPLDAMachine_getNSamples(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return Py_BuildValue("i",self->cxx->getNSamples());
+  BOB_CATCH_MEMBER("n_samples could not be read", 0)
+}
+int PyBobLearnEMPLDAMachine_setNSamples(PyBobLearnEMPLDAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyInt_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an int", Py_TYPE(self)->tp_name, n_samples.name());
+    return -1;
+  }
+
+  if (PyInt_AS_LONG(value) < 0){
+    PyErr_Format(PyExc_TypeError, "n_samples must be greater than or equal to zero");
+    return -1;
+  }
+
+  self->cxx->setNSamples(PyInt_AS_LONG(value));
+  BOB_CATCH_MEMBER("n_samples could not be set", -1)
+  return 0;
+}
+
+
+/***** w_sum_xit_beta_xi *****/
+static auto w_sum_xit_beta_xi = bob::extension::VariableDoc(
+  "w_sum_xit_beta_xi",
+  "double",
+  "Gets the :math:`A = -0.5 \\sum_{i} x_{i}^T \\beta x_{i}` value",
+  ""
+);
+static PyObject* PyBobLearnEMPLDAMachine_getWSumXitBetaXi(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getWSumXitBetaXi());
+  BOB_CATCH_MEMBER("w_sum_xit_beta_xi could not be read", 0)
+}
+int PyBobLearnEMPLDAMachine_setWSumXitBetaXi(PyBobLearnEMPLDAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an float", Py_TYPE(self)->tp_name, w_sum_xit_beta_xi.name());
+    return -1;
+  }
+
+  self->cxx->setWSumXitBetaXi(PyFloat_AS_DOUBLE(value));
+  BOB_CATCH_MEMBER("w_sum_xit_beta_xi could not be set", -1)
+  return 0;
+}
+
+
+/***** plda_base *****/
+static auto plda_base = bob::extension::VariableDoc(
+  "plda_base",
+  ":py:class:`bob.learn.em.PLDABase`",
+  "The PLDABase attached to this machine",
+  ""
+);
+PyObject* PyBobLearnEMPLDAMachine_getPLDABase(PyBobLearnEMPLDAMachineObject* self, void*){
+  BOB_TRY
+
+  boost::shared_ptr<bob::learn::em::PLDABase> plda_base_o = self->cxx->getPLDABase();
+
+  //Allocating the correspondent python object
+  PyBobLearnEMPLDABaseObject* retval =
+    (PyBobLearnEMPLDABaseObject*)PyBobLearnEMPLDABase_Type.tp_alloc(&PyBobLearnEMPLDABase_Type, 0);
+  retval->cxx = plda_base_o;
+
+  return Py_BuildValue("O",retval);
+  BOB_CATCH_MEMBER("plda_base could not be read", 0)
+}
+int PyBobLearnEMPLDAMachine_setPLDABase(PyBobLearnEMPLDAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyBobLearnEMPLDABase_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a :py:class:`bob.learn.em.PLDABase`", Py_TYPE(self)->tp_name, plda_base.name());
+    return -1;
+  }
+
+  PyBobLearnEMPLDABaseObject* plda_base_o = 0;
+  PyArg_Parse(value, "O!", &PyBobLearnEMPLDABase_Type,&plda_base_o);
+
+  self->cxx->setPLDABase(plda_base_o->cxx);
+
+  return 0;
+  BOB_CATCH_MEMBER("plda_base could not be set", -1)  
+}
+
+
+/***** weighted_sum *****/
+static auto weighted_sum = bob::extension::VariableDoc(
+  "weighted_sum",
+  "array_like <float, 1D>",
+  "Get/Set :math:``\\sum_{i} F^T \\beta x_{i}` value",
+  ""
+);
+static PyObject* PyBobLearnEMPLDAMachine_getWeightedSum(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getWeightedSum());
+  BOB_CATCH_MEMBER("weighted_sum could not be read", 0)
+}
+int PyBobLearnEMPLDAMachine_setWeightedSum(PyBobLearnEMPLDAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+  PyBlitzArrayObject* o;
+  if (!PyBlitzArray_Converter(value, &o)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects a 2D array of floats", Py_TYPE(self)->tp_name, weighted_sum.name());
+    return -1;
+  }
+  auto o_ = make_safe(o);
+  auto b = PyBlitzArrayCxx_AsBlitz<double,1>(o, "weighted_sum");
+  if (!b) return -1;
+  self->cxx->setWeightedSum(*b);
+  return 0;
+  BOB_CATCH_MEMBER("`weighted_sum` vector could not be set", -1)
+}
+
+
+/***** log_likelihood *****/
+static auto log_likelihood = bob::extension::VariableDoc(
+  "log_likelihood",
+  "double",
+  "",
+  ""
+);
+static PyObject* PyBobLearnEMPLDAMachine_getLogLikelihood(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  return Py_BuildValue("d",self->cxx->getLogLikelihood());
+  BOB_CATCH_MEMBER("log_likelihood could not be read", 0)
+}
+int PyBobLearnEMPLDAMachine_setLogLikelihood(PyBobLearnEMPLDAMachineObject* self, PyObject* value, void*){
+  BOB_TRY
+
+  if (!PyNumber_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an double", Py_TYPE(self)->tp_name, log_likelihood.name());
+    return -1;
+  }
+
+  self->cxx->setLogLikelihood(PyFloat_AS_DOUBLE(value));
+  BOB_CATCH_MEMBER("log_likelihood could not be set", -1)
+  return 0;
+}
+
+
+static PyGetSetDef PyBobLearnEMPLDAMachine_getseters[] = { 
+  {
+   shape.name(),
+   (getter)PyBobLearnEMPLDAMachine_getShape,
+   0,
+   shape.doc(),
+   0
+  },  
+  {
+   n_samples.name(),
+   (getter)PyBobLearnEMPLDAMachine_getNSamples,
+   (setter)PyBobLearnEMPLDAMachine_setNSamples,
+   n_samples.doc(),
+   0
+  },  
+  {
+   w_sum_xit_beta_xi.name(),
+   (getter)PyBobLearnEMPLDAMachine_getWSumXitBetaXi,
+   (setter)PyBobLearnEMPLDAMachine_setWSumXitBetaXi,
+   w_sum_xit_beta_xi.doc(),
+   0
+  },
+  {
+   plda_base.name(),
+   (getter)PyBobLearnEMPLDAMachine_getPLDABase,
+   (setter)PyBobLearnEMPLDAMachine_setPLDABase,
+   plda_base.doc(),
+   0
+  },
+  {
+   weighted_sum.name(),
+   (getter)PyBobLearnEMPLDAMachine_getWeightedSum,
+   (setter)PyBobLearnEMPLDAMachine_setWeightedSum,
+   weighted_sum.doc(),
+   0
+  },
+  {
+   log_likelihood.name(),
+   (getter)PyBobLearnEMPLDAMachine_getLogLikelihood,
+   (setter)PyBobLearnEMPLDAMachine_setLogLikelihood,
+   log_likelihood.doc(),
+   0
+  },
+  {0}  // Sentinel
+};
+
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+
+/*** save ***/
+static auto save = bob::extension::FunctionDoc(
+  "save",
+  "Save the configuration of the PLDAMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for writing");
+static PyObject* PyBobLearnEMPLDAMachine_Save(PyBobLearnEMPLDAMachineObject* self,  PyObject* args, PyObject* kwargs) {
+
+  BOB_TRY
+  
+  // get list of arguments
+  char** kwlist = save.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+
+  auto hdf5_ = make_safe(hdf5);
+  self->cxx->save(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot save the data", 0)
+  Py_RETURN_NONE;
+}
+
+/*** load ***/
+static auto load = bob::extension::FunctionDoc(
+  "load",
+  "Load the configuration of the PLDAMachine to a given HDF5 file"
+)
+.add_prototype("hdf5")
+.add_parameter("hdf5", ":py:class:`bob.io.base.HDF5File`", "An HDF5 file open for reading");
+static PyObject* PyBobLearnEMPLDAMachine_Load(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = load.kwlist(0);  
+  PyBobIoHDF5FileObject* hdf5;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, PyBobIoHDF5File_Converter, &hdf5)) return 0;
+  
+  auto hdf5_ = make_safe(hdf5);  
+  self->cxx->load(*hdf5->f);
+
+  BOB_CATCH_MEMBER("cannot load the data", 0)
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this PLDAMachine with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.PLDAMachine`", "A PLDAMachine object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMPLDAMachine_IsSimilarTo(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMPLDAMachineObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMPLDAMachine_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+/***** get_gamma *****/
+static auto get_gamma = bob::extension::FunctionDoc(
+  "get_gamma",
+  "Gets the :math:`\\gamma_a` matrix for a given :math:`a` (number of samples). "
+  ":math:`gamma_{a} = (Id + a F^T \beta F)^{-1} = \\mathcal{F}_{a}`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","array_like <float, 2D>","Get the :math:`\\gamma` matrix");
+static PyObject* PyBobLearnEMPLDAMachine_getGamma(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_gamma.kwlist(0);
+
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getGamma(i));
+  BOB_CATCH_MEMBER("`get_gamma` could not be read", 0)
+}
+
+
+/***** has_gamma *****/
+static auto has_gamma = bob::extension::FunctionDoc(
+  "has_gamma",
+  "Tells if the :math:`gamma_a` matrix for a given a (number of samples) exists. "
+  ":math:`gamma_a=(Id + a F^T \\beta F)^{-1}`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","bool","");
+static PyObject* PyBobLearnEMPLDAMachine_hasGamma(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = has_gamma.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  if(self->cxx->hasGamma(i))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+ BOB_CATCH_MEMBER("`has_gamma` could not be read", 0)    
+}
+
+
+/***** get_add_gamma *****/
+static auto get_add_gamma = bob::extension::FunctionDoc(
+  "get_add_gamma",
+   "Gets the :math:`gamma_a` matrix for a given :math:`f_a` (number of samples)."
+   ":math:`gamma_a = (Id + a F^T \\beta F)^{-1} = \\mathcal{F}_{a}`."
+   "Tries to find it from the base machine and then from this machine.",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","array_like <float, 2D>","");
+static PyObject* PyBobLearnEMPLDAMachine_getAddGamma(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_add_gamma.kwlist(0);
+
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getAddGamma(i));
+  BOB_CATCH_MEMBER("`get_add_gamma` could not be read", 0)
+}
+
+
+/***** has_log_like_const_term *****/
+static auto has_log_like_const_term = bob::extension::FunctionDoc(
+  "has_log_like_const_term",
+   "Tells if the log likelihood constant term for a given :math:`a` (number of samples) exists in this machine (does not check the base machine). "
+   ":math:`l_{a}=\\frac{a}{2} ( -D log(2\\pi) -log|\\Sigma| +log|\\alpha| +log|\\gamma_a|)`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","bool","");
+static PyObject* PyBobLearnEMPLDAMachine_hasLogLikeConstTerm(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = has_log_like_const_term.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  if(self->cxx->hasLogLikeConstTerm(i))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+ BOB_CATCH_MEMBER("`has_log_like_const_term` could not be read", 0)    
+}
+
+
+/***** get_add_log_like_const_term *****/
+static auto get_add_log_like_const_term = bob::extension::FunctionDoc(
+  "get_add_log_like_const_term",
+
+   "Gets the log likelihood constant term for a given :math:`a` (number of samples). "
+   ":math:`l_{a} = \\frac{a}{2} ( -D log(2\\pi) -log|\\Sigma| +log|\\alpha| +log|\\gamma_a|)`",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","double","");
+static PyObject* PyBobLearnEMPLDAMachine_getAddLogLikeConstTerm(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_add_log_like_const_term.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return Py_BuildValue("d",self->cxx->getAddLogLikeConstTerm(i));
+
+  BOB_CATCH_MEMBER("`get_add_log_like_const_term` could not be read", 0)    
+}
+
+
+/***** get_log_like_const_term *****/
+static auto get_log_like_const_term = bob::extension::FunctionDoc(
+  "get_log_like_const_term",
+   "Gets the log likelihood constant term for a given :math:`a` (number of samples). "
+    ":math:`l_{a} = \\frac{a}{2} ( -D log(2\\pi) -log|\\Sigma| +log|\\alpha| +log|\\gamma_a|)",
+  0,
+  true
+)
+.add_prototype("a","output")
+.add_parameter("a", "int", "Index")
+.add_return("output","double","");
+static PyObject* PyBobLearnEMPLDAMachine_getLogLikeConstTerm(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = get_log_like_const_term.kwlist(0);
+  int i = 0;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "i", kwlist, &i)) Py_RETURN_NONE;
+
+  return Py_BuildValue("d",self->cxx->getLogLikeConstTerm(i));
+
+  BOB_CATCH_MEMBER("`get_log_like_const_term` could not be read", 0)    
+}
+
+/***** clear_maps *****/
+static auto clear_maps = bob::extension::FunctionDoc(
+  "clear_maps",
+  "Clears the maps (:math:`gamma_a` and loglike_constterm_a).",
+  0,
+  true
+);
+static PyObject* PyBobLearnEMPLDAMachine_clearMaps(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  self->cxx->clearMaps();
+  Py_RETURN_NONE;
+
+  BOB_CATCH_MEMBER("`clear_maps` could not be read", 0)    
+}
+
+
+/***** compute_log_likelihood *****/
+static auto compute_log_likelihood = bob::extension::FunctionDoc(
+  "compute_log_likelihood",
+  "Compute the log-likelihood of the given sample and (optionally) the enrolled samples",
+  0,
+  true
+)
+.add_prototype("sample,with_enrolled_samples","output")
+.add_parameter("sample", "array_like <float, 1D>", "Sample")
+.add_parameter("with_enrolled_samples", "bool", "")
+.add_return("output","double","The log-likelihood");
+static PyObject* PyBobLearnEMPLDAMachine_computeLogLikelihood(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = compute_log_likelihood.kwlist(0);
+
+  PyBlitzArrayObject* samples;
+  PyObject* with_enrolled_samples = Py_True;
+  
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&|O!", kwlist, &PyBlitzArray_Converter, &samples,
+                                                                 &PyBool_Type, &with_enrolled_samples)) Py_RETURN_NONE;
+  auto samples_ = make_safe(samples);
+
+  blitz::Array<double,2>  blitz_test = *PyBlitzArrayCxx_AsBlitz<double,2>(samples);
+
+   //There are 2 methods in C++, one <double,1> and the another <double,2>
+  if (blitz_test.extent(1)==0)
+    return Py_BuildValue("d",self->cxx->computeLogLikelihood(*PyBlitzArrayCxx_AsBlitz<double,1>(samples), f(with_enrolled_samples)));
+  else
+    return Py_BuildValue("d",self->cxx->computeLogLikelihood(*PyBlitzArrayCxx_AsBlitz<double,2>(samples), f(with_enrolled_samples)));
+
+  BOB_CATCH_MEMBER("`compute_log_likelihood` could not be read", 0)    
+}
+
+
+/***** forward *****/
+static auto forward = bob::extension::FunctionDoc(
+  "forward",
+  "Computes a log likelihood ratio from a 1D or 2D blitz::Array",
+  0,
+  true
+)
+.add_prototype("samples","output")
+.add_parameter("samples", "array_like <float, 1D>", "Sample")
+.add_return("output","double","The log-likelihood ratio");
+static PyObject* PyBobLearnEMPLDAMachine_forward(PyBobLearnEMPLDAMachineObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+  
+  char** kwlist = forward.kwlist(0);
+
+  PyBlitzArrayObject* samples;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&", kwlist, &PyBlitzArray_Converter, &samples)) Py_RETURN_NONE;
+  auto samples_ = make_safe(samples);
+  blitz::Array<double,2>  blitz_test = *PyBlitzArrayCxx_AsBlitz<double,2>(samples);
+
+   //There are 2 methods in C++, one <double,1> and the another <double,2>
+  if (blitz_test.extent(1)==0)
+    return Py_BuildValue("d",self->cxx->forward(*PyBlitzArrayCxx_AsBlitz<double,1>(samples)));
+  else
+    return Py_BuildValue("d",self->cxx->forward(*PyBlitzArrayCxx_AsBlitz<double,2>(samples)));
+
+  BOB_CATCH_MEMBER("`forward` could not be read", 0)    
+}
+
+
+static PyMethodDef PyBobLearnEMPLDAMachine_methods[] = {
+  {
+    save.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_Save,
+    METH_VARARGS|METH_KEYWORDS,
+    save.doc()
+  },
+  {
+    load.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_Load,
+    METH_VARARGS|METH_KEYWORDS,
+    load.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {
+    get_gamma.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_getGamma,
+    METH_VARARGS|METH_KEYWORDS,
+    get_gamma.doc()
+  },
+  {
+    has_gamma.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_hasGamma,
+    METH_VARARGS|METH_KEYWORDS,
+    has_gamma.doc()
+  },
+  {
+    get_add_gamma.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_getAddGamma,
+    METH_VARARGS|METH_KEYWORDS,
+    get_add_gamma.doc()
+  },
+  {
+    has_log_like_const_term.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_hasLogLikeConstTerm,
+    METH_VARARGS|METH_KEYWORDS,
+    has_log_like_const_term.doc()
+  },  
+  {
+    get_add_log_like_const_term.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_getAddLogLikeConstTerm,
+    METH_VARARGS|METH_KEYWORDS,
+    get_add_log_like_const_term.doc()
+  },
+  {
+    get_log_like_const_term.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_getLogLikeConstTerm,
+    METH_VARARGS|METH_KEYWORDS,
+    get_log_like_const_term.doc()
+  },  
+  {
+    clear_maps.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_clearMaps,
+    METH_NOARGS,
+    clear_maps.doc()
+  },
+  {
+    compute_log_likelihood.name(),
+    (PyCFunction)PyBobLearnEMPLDAMachine_computeLogLikelihood,
+    METH_VARARGS|METH_KEYWORDS,
+    compute_log_likelihood.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the JFA type struct; will be initialized later
+PyTypeObject PyBobLearnEMPLDAMachine_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMPLDAMachine(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMPLDAMachine_Type.tp_name      = PLDAMachine_doc.name();
+  PyBobLearnEMPLDAMachine_Type.tp_basicsize = sizeof(PyBobLearnEMPLDAMachineObject);
+  PyBobLearnEMPLDAMachine_Type.tp_flags     = Py_TPFLAGS_DEFAULT;
+  PyBobLearnEMPLDAMachine_Type.tp_doc       = PLDAMachine_doc.doc();
+
+  // set the functions
+  PyBobLearnEMPLDAMachine_Type.tp_new         = PyType_GenericNew;
+  PyBobLearnEMPLDAMachine_Type.tp_init        = reinterpret_cast<initproc>(PyBobLearnEMPLDAMachine_init);
+  PyBobLearnEMPLDAMachine_Type.tp_dealloc     = reinterpret_cast<destructor>(PyBobLearnEMPLDAMachine_delete);
+  PyBobLearnEMPLDAMachine_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMPLDAMachine_RichCompare);
+  PyBobLearnEMPLDAMachine_Type.tp_methods     = PyBobLearnEMPLDAMachine_methods;
+  PyBobLearnEMPLDAMachine_Type.tp_getset      = PyBobLearnEMPLDAMachine_getseters;
+  PyBobLearnEMPLDAMachine_Type.tp_call = reinterpret_cast<ternaryfunc>(PyBobLearnEMPLDAMachine_forward);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMPLDAMachine_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMPLDAMachine_Type);
+  return PyModule_AddObject(module, "PLDAMachine", (PyObject*)&PyBobLearnEMPLDAMachine_Type) >= 0;
+}
+
diff --git a/bob/learn/em/plda_trainer.cpp b/bob/learn/em/plda_trainer.cpp
new file mode 100644
index 0000000..3144fbc
--- /dev/null
+++ b/bob/learn/em/plda_trainer.cpp
@@ -0,0 +1,704 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Wed 04 Feb 14:15:00 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+#include <boost/make_shared.hpp>
+
+//Defining maps for each initializatio method
+static const std::map<std::string, bob::learn::em::PLDATrainer::InitFMethod> FMethod = {{"RANDOM_F",  bob::learn::em::PLDATrainer::RANDOM_F}, {"BETWEEN_SCATTER", bob::learn::em::PLDATrainer::BETWEEN_SCATTER}};
+
+static const std::map<std::string, bob::learn::em::PLDATrainer::InitGMethod> GMethod = {{"RANDOM_G",  bob::learn::em::PLDATrainer::RANDOM_G}, {"WITHIN_SCATTER", bob::learn::em::PLDATrainer::WITHIN_SCATTER}};
+
+static const std::map<std::string, bob::learn::em::PLDATrainer::InitSigmaMethod> SigmaMethod = {{"RANDOM_SIGMA",  bob::learn::em::PLDATrainer::RANDOM_SIGMA}, {"VARIANCE_G", bob::learn::em::PLDATrainer::VARIANCE_G}, {"CONSTANT", bob::learn::em::PLDATrainer::CONSTANT}, {"VARIANCE_DATA", bob::learn::em::PLDATrainer::VARIANCE_DATA}};
+
+
+
+//String to type
+static inline bob::learn::em::PLDATrainer::InitFMethod string2FMethod(const std::string& o){
+  auto it = FMethod.find(o);
+  if (it == FMethod.end()) throw std::runtime_error("The given FMethod '" + o + "' is not known; choose one of ('RANDOM_F','BETWEEN_SCATTER')");
+  else return it->second;
+}
+
+static inline bob::learn::em::PLDATrainer::InitGMethod string2GMethod(const std::string& o){
+  auto it = GMethod.find(o);
+  if (it == GMethod.end()) throw std::runtime_error("The given GMethod '" + o + "' is not known; choose one of ('RANDOM_G','WITHIN_SCATTER')");
+  else return it->second;
+}
+
+static inline bob::learn::em::PLDATrainer::InitSigmaMethod string2SigmaMethod(const std::string& o){
+  auto it = SigmaMethod.find(o);
+  if (it == SigmaMethod.end()) throw std::runtime_error("The given SigmaMethod '" + o + "' is not known; choose one of ('RANDOM_SIGMA','VARIANCE_G', 'CONSTANT', 'VARIANCE_DATA')");
+  else return it->second;
+}
+
+//Type to string
+static inline const std::string& FMethod2string(bob::learn::em::PLDATrainer::InitFMethod o){
+  for (auto it = FMethod.begin(); it != FMethod.end(); ++it) if (it->second == o) return it->first;
+  throw std::runtime_error("The given FMethod type is not known");
+}
+
+static inline const std::string& GMethod2string(bob::learn::em::PLDATrainer::InitGMethod o){
+  for (auto it = GMethod.begin(); it != GMethod.end(); ++it) if (it->second == o) return it->first;
+  throw std::runtime_error("The given GMethod type is not known");
+}
+
+static inline const std::string& SigmaMethod2string(bob::learn::em::PLDATrainer::InitSigmaMethod o){
+  for (auto it = SigmaMethod.begin(); it != SigmaMethod.end(); ++it) if (it->second == o) return it->first;
+  throw std::runtime_error("The given SigmaMethod type is not known");
+}
+
+
+static inline bool f(PyObject* o){return o != 0 && PyObject_IsTrue(o) > 0;}  /* converts PyObject to bool and returns false if object is NULL */
+
+template <int N>
+int list_as_vector(PyObject* list, std::vector<blitz::Array<double,N> >& vec)
+{
+  for (int i=0; i<PyList_GET_SIZE(list); i++)
+  {
+    PyBlitzArrayObject* blitz_object; 
+    if (!PyArg_Parse(PyList_GetItem(list, i), "O&", &PyBlitzArray_Converter, &blitz_object)){
+      PyErr_Format(PyExc_RuntimeError, "Expected numpy array object");
+      return -1;
+    }
+    auto blitz_object_ = make_safe(blitz_object);
+    vec.push_back(*PyBlitzArrayCxx_AsBlitz<double,N>(blitz_object));
+  }
+  return 0;
+}
+
+
+template <int N>
+static PyObject* vector_as_list(const std::vector<blitz::Array<double,N> >& vec)
+{
+  PyObject* list = PyList_New(vec.size());
+  for(size_t i=0; i<vec.size(); i++){
+    blitz::Array<double,N> numpy_array = vec[i];
+    PyObject* numpy_py_object = PyBlitzArrayCxx_AsNumpy(numpy_array);
+    PyList_SET_ITEM(list, i, numpy_py_object);
+  }
+  return list;
+}
+
+
+/******************************************************************/
+/************ Constructor Section *********************************/
+/******************************************************************/
+
+
+static auto PLDATrainer_doc = bob::extension::ClassDoc(
+  BOB_EXT_MODULE_PREFIX ".PLDATrainer",
+  "This class can be used to train the :math:`$F$`, :math:`$G$ and "
+  " :math:`$\\Sigma$` matrices and the mean vector :math:`$\\mu$` of a PLDA model."
+  "References: [ElShafey2014,PrinceElder2007,LiFu2012]",
+  ""
+).add_constructor(
+  bob::extension::FunctionDoc(
+    "__init__",
+    "Default constructor.\n Initializes a new PLDA trainer. The "
+    "training stage will place the resulting components in the "
+    "PLDABase.",
+    "",
+    true
+  )
+  .add_prototype("use_sum_second_order","")
+  .add_prototype("other","")
+  .add_prototype("","")
+
+  .add_parameter("other", ":py:class:`bob.learn.em.PLDATrainer`", "A PLDATrainer object to be copied.")
+  .add_parameter("use_sum_second_order", "bool", "")
+);
+
+static int PyBobLearnEMPLDATrainer_init_copy(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDATrainer_doc.kwlist(1);
+  PyBobLearnEMPLDATrainerObject* o;
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBobLearnEMPLDATrainer_Type, &o)){
+    PLDATrainer_doc.print_usage();
+    return -1;
+  }
+
+  self->cxx.reset(new bob::learn::em::PLDATrainer(*o->cxx));
+  return 0;
+}
+
+
+static int PyBobLearnEMPLDATrainer_init_bool(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = PLDATrainer_doc.kwlist(0);
+  PyObject* use_sum_second_order;
+
+  //Parsing the input argments
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!", kwlist, &PyBool_Type, &use_sum_second_order))
+    return -1;
+
+  self->cxx.reset(new bob::learn::em::PLDATrainer(f(use_sum_second_order)));
+  return 0;
+}
+
+
+static int PyBobLearnEMPLDATrainer_init(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  // get the number of command line arguments
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  if(nargs==1){
+    //Reading the input argument
+    PyObject* arg = 0;
+    if (PyTuple_Size(args))
+      arg = PyTuple_GET_ITEM(args, 0);
+    else {
+      PyObject* tmp = PyDict_Values(kwargs);
+      auto tmp_ = make_safe(tmp);
+      arg = PyList_GET_ITEM(tmp, 0);
+    }
+      
+    if(PyBobLearnEMPLDATrainer_Check(arg))
+      // If the constructor input is PLDATrainer object
+      return PyBobLearnEMPLDATrainer_init_copy(self, args, kwargs);
+    else
+      return PyBobLearnEMPLDATrainer_init_bool(self, args, kwargs);
+  }
+  else{
+    PyErr_Format(PyExc_RuntimeError, "number of arguments mismatch - %s requires only 0 or 1 argument, but you provided %d (see help)", Py_TYPE(self)->tp_name, nargs);
+    PLDATrainer_doc.print_usage();
+    return -1;
+  }
+
+  BOB_CATCH_MEMBER("cannot create PLDATrainer", 0)
+  return 0;
+}
+
+
+static void PyBobLearnEMPLDATrainer_delete(PyBobLearnEMPLDATrainerObject* self) {
+  self->cxx.reset();
+  Py_TYPE(self)->tp_free((PyObject*)self);
+}
+
+
+int PyBobLearnEMPLDATrainer_Check(PyObject* o) {
+  return PyObject_IsInstance(o, reinterpret_cast<PyObject*>(&PyBobLearnEMPLDATrainer_Type));
+}
+
+
+static PyObject* PyBobLearnEMPLDATrainer_RichCompare(PyBobLearnEMPLDATrainerObject* self, PyObject* other, int op) {
+  BOB_TRY
+
+  if (!PyBobLearnEMPLDATrainer_Check(other)) {
+    PyErr_Format(PyExc_TypeError, "cannot compare `%s' with `%s'", Py_TYPE(self)->tp_name, Py_TYPE(other)->tp_name);
+    return 0;
+  }
+  auto other_ = reinterpret_cast<PyBobLearnEMPLDATrainerObject*>(other);
+  switch (op) {
+    case Py_EQ:
+      if (*self->cxx==*other_->cxx) Py_RETURN_TRUE; else Py_RETURN_FALSE;
+    case Py_NE:
+      if (*self->cxx==*other_->cxx) Py_RETURN_FALSE; else Py_RETURN_TRUE;
+    default:
+      Py_INCREF(Py_NotImplemented);
+      return Py_NotImplemented;
+  }
+  BOB_CATCH_MEMBER("cannot compare PLDATrainer objects", 0)
+}
+
+
+/******************************************************************/
+/************ Variables Section ***********************************/
+/******************************************************************/
+
+static auto z_second_order = bob::extension::VariableDoc(
+  "z_second_order",
+  "array_like <float, 3D>",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMPLDATrainer_get_z_second_order(PyBobLearnEMPLDATrainerObject* self, void*){
+  BOB_TRY
+  //return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getZSecondOrder());
+  return vector_as_list(self->cxx->getZSecondOrder());
+  BOB_CATCH_MEMBER("z_second_order could not be read", 0)
+}
+
+
+static auto z_second_order_sum = bob::extension::VariableDoc(
+  "z_second_order_sum",
+  "array_like <float, 2D>",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMPLDATrainer_get_z_second_order_sum(PyBobLearnEMPLDATrainerObject* self, void*){
+  BOB_TRY
+  return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getZSecondOrderSum());
+  BOB_CATCH_MEMBER("z_second_order_sum could not be read", 0)
+}
+
+
+static auto z_first_order = bob::extension::VariableDoc(
+  "z_first_order",
+  "array_like <float, 2D>",
+  "",
+  ""
+);
+PyObject* PyBobLearnEMPLDATrainer_get_z_first_order(PyBobLearnEMPLDATrainerObject* self, void*){
+  BOB_TRY
+  //return PyBlitzArrayCxx_AsConstNumpy(self->cxx->getZFirstOrder());
+  return vector_as_list(self->cxx->getZFirstOrder());
+  BOB_CATCH_MEMBER("z_first_order could not be read", 0)
+}
+
+
+/***** rng *****/
+static auto rng = bob::extension::VariableDoc(
+  "rng",
+  "str",
+  "The Mersenne Twister mt19937 random generator used for the initialization of subspaces/arrays before the EM loop.",
+  ""
+);
+PyObject* PyBobLearnEMPLDATrainer_getRng(PyBobLearnEMPLDATrainerObject* self, void*) {
+  BOB_TRY
+  //Allocating the correspondent python object
+  
+  PyBoostMt19937Object* retval =
+    (PyBoostMt19937Object*)PyBoostMt19937_Type.tp_alloc(&PyBoostMt19937_Type, 0);
+
+  retval->rng = self->cxx->getRng().get();
+  return Py_BuildValue("O", retval);
+  BOB_CATCH_MEMBER("Rng method could not be read", 0)
+}
+int PyBobLearnEMPLDATrainer_setRng(PyBobLearnEMPLDATrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyBoostMt19937_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an PyBoostMt19937_Check", Py_TYPE(self)->tp_name, rng.name());
+    return -1;
+  }
+
+  PyBoostMt19937Object* rng_object = 0;
+  PyArg_Parse(value, "O!", &PyBoostMt19937_Type, &rng_object);
+  self->cxx->setRng((boost::shared_ptr<boost::mt19937>)rng_object->rng);
+
+  return 0;
+  BOB_CATCH_MEMBER("Rng could not be set", 0)
+}
+
+
+/***** init_f_method *****/
+static auto init_f_method = bob::extension::VariableDoc(
+  "init_f_method",
+  "str",
+  "The method used for the initialization of :math:`$F$`.",
+  ""
+);
+PyObject* PyBobLearnEMPLDATrainer_getFMethod(PyBobLearnEMPLDATrainerObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("s", FMethod2string(self->cxx->getInitFMethod()).c_str());
+  BOB_CATCH_MEMBER("init_f_method method could not be read", 0)
+}
+int PyBobLearnEMPLDATrainer_setFMethod(PyBobLearnEMPLDATrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyString_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an str", Py_TYPE(self)->tp_name, init_f_method.name());
+    return -1;
+  }
+  self->cxx->setInitFMethod(string2FMethod(PyString_AS_STRING(value)));
+
+  return 0;
+  BOB_CATCH_MEMBER("init_f_method method could not be set", 0)
+}
+
+
+/***** init_g_method *****/
+static auto init_g_method = bob::extension::VariableDoc(
+  "init_g_method",
+  "str",
+  "The method used for the initialization of :math:`$G$`.",
+  ""
+);
+PyObject* PyBobLearnEMPLDATrainer_getGMethod(PyBobLearnEMPLDATrainerObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("s", GMethod2string(self->cxx->getInitGMethod()).c_str());
+  BOB_CATCH_MEMBER("init_g_method method could not be read", 0)
+}
+int PyBobLearnEMPLDATrainer_setGMethod(PyBobLearnEMPLDATrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyString_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an str", Py_TYPE(self)->tp_name, init_g_method.name());
+    return -1;
+  }
+  self->cxx->setInitGMethod(string2GMethod(PyString_AS_STRING(value)));
+
+  return 0;
+  BOB_CATCH_MEMBER("init_g_method method could not be set", 0)
+}
+
+
+/***** init_sigma_method *****/
+static auto init_sigma_method = bob::extension::VariableDoc(
+  "init_sigma_method",
+  "str",
+  "The method used for the initialization of :math:`$\\Sigma$`.",
+  ""
+);
+PyObject* PyBobLearnEMPLDATrainer_getSigmaMethod(PyBobLearnEMPLDATrainerObject* self, void*) {
+  BOB_TRY
+  return Py_BuildValue("s", SigmaMethod2string(self->cxx->getInitSigmaMethod()).c_str());
+  BOB_CATCH_MEMBER("init_sigma_method method could not be read", 0)
+}
+int PyBobLearnEMPLDATrainer_setSigmaMethod(PyBobLearnEMPLDATrainerObject* self, PyObject* value, void*) {
+  BOB_TRY
+
+  if (!PyString_Check(value)){
+    PyErr_Format(PyExc_RuntimeError, "%s %s expects an str", Py_TYPE(self)->tp_name, init_sigma_method.name());
+    return -1;
+  }
+  self->cxx->setInitSigmaMethod(string2SigmaMethod(PyString_AS_STRING(value)));
+
+  return 0;
+  BOB_CATCH_MEMBER("init_sigma_method method could not be set", 0)
+}
+
+
+static PyGetSetDef PyBobLearnEMPLDATrainer_getseters[] = { 
+  {
+   z_first_order.name(),
+   (getter)PyBobLearnEMPLDATrainer_get_z_first_order,
+   0,
+   z_first_order.doc(),
+   0
+  },
+  {
+   z_second_order_sum.name(),
+   (getter)PyBobLearnEMPLDATrainer_get_z_second_order_sum,
+   0,
+   z_second_order_sum.doc(),
+   0
+  },
+  {
+   z_second_order.name(),
+   (getter)PyBobLearnEMPLDATrainer_get_z_second_order,
+   0,
+   z_second_order.doc(),
+   0
+  },
+  {
+   rng.name(),
+   (getter)PyBobLearnEMPLDATrainer_getRng,
+   (setter)PyBobLearnEMPLDATrainer_setRng,
+   rng.doc(),
+   0
+  },
+  {
+   init_f_method.name(),
+   (getter)PyBobLearnEMPLDATrainer_getFMethod,
+   (setter)PyBobLearnEMPLDATrainer_setFMethod,
+   init_f_method.doc(),
+   0
+  },
+  {
+   init_g_method.name(),
+   (getter)PyBobLearnEMPLDATrainer_getGMethod,
+   (setter)PyBobLearnEMPLDATrainer_setGMethod,
+   init_g_method.doc(),
+   0
+  },
+  {
+   init_sigma_method.name(),
+   (getter)PyBobLearnEMPLDATrainer_getSigmaMethod,
+   (setter)PyBobLearnEMPLDATrainer_setSigmaMethod,
+   init_sigma_method.doc(),
+   0
+  },  
+  {0}  // Sentinel
+};
+
+
+/******************************************************************/
+/************ Functions Section ***********************************/
+/******************************************************************/
+
+/*** initialize ***/
+static auto initialize = bob::extension::FunctionDoc(
+  "initialize",
+  "Initialization before the EM steps",
+  "",
+  true
+)
+.add_prototype("plda_base,data")
+.add_parameter("plda_base", ":py:class:`bob.learn.em.PLDABase`", "PLDAMachine Object")
+.add_parameter("data", "list", "");
+static PyObject* PyBobLearnEMPLDATrainer_initialize(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = initialize.kwlist(0);
+
+  PyBobLearnEMPLDABaseObject* plda_base = 0;
+  PyObject* data = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMPLDABase_Type, &plda_base,
+                                                                 &PyList_Type, &data)) Py_RETURN_NONE;
+
+  std::vector<blitz::Array<double,2> > data_vector;
+  if(list_as_vector(data ,data_vector)==0)
+    self->cxx->initialize(*plda_base->cxx, data_vector);
+
+  BOB_CATCH_MEMBER("cannot perform the initialize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** e_step ***/
+static auto e_step = bob::extension::FunctionDoc(
+  "e_step",
+  "e_step before the EM steps",
+  "",
+  true
+)
+.add_prototype("plda_base,data")
+.add_parameter("plda_base", ":py:class:`bob.learn.em.PLDABase`", "PLDAMachine Object")
+.add_parameter("data", "list", "");
+static PyObject* PyBobLearnEMPLDATrainer_e_step(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = e_step.kwlist(0);
+
+  PyBobLearnEMPLDABaseObject* plda_base = 0;
+  PyObject* data = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMPLDABase_Type, &plda_base,
+                                                                 &PyList_Type, &data)) Py_RETURN_NONE;
+
+  std::vector<blitz::Array<double,2> > data_vector;
+  if(list_as_vector(data ,data_vector)==0)
+    self->cxx->eStep(*plda_base->cxx, data_vector);
+
+  BOB_CATCH_MEMBER("cannot perform the e_step method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** m_step ***/
+static auto m_step = bob::extension::FunctionDoc(
+  "m_step",
+  "m_step before the EM steps",
+  "",
+  true
+)
+.add_prototype("plda_base,data")
+.add_parameter("plda_base", ":py:class:`bob.learn.em.PLDABase`", "PLDAMachine Object")
+.add_parameter("data", "list", "");
+static PyObject* PyBobLearnEMPLDATrainer_m_step(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = m_step.kwlist(0);
+
+  PyBobLearnEMPLDABaseObject* plda_base = 0;
+  PyObject* data = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMPLDABase_Type, &plda_base,
+                                                                 &PyList_Type, &data)) Py_RETURN_NONE;
+
+  std::vector<blitz::Array<double,2> > data_vector;
+  if(list_as_vector(data ,data_vector)==0)
+    self->cxx->mStep(*plda_base->cxx, data_vector);
+
+  BOB_CATCH_MEMBER("cannot perform the m_step method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** finalize ***/
+static auto finalize = bob::extension::FunctionDoc(
+  "finalize",
+  "finalize before the EM steps",
+  "",
+  true
+)
+.add_prototype("plda_base,data")
+.add_parameter("plda_base", ":py:class:`bob.learn.em.PLDABase`", "PLDAMachine Object")
+.add_parameter("data", "list", "");
+static PyObject* PyBobLearnEMPLDATrainer_finalize(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = finalize.kwlist(0);
+
+  PyBobLearnEMPLDABaseObject* plda_base = 0;
+  PyObject* data = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O!", kwlist, &PyBobLearnEMPLDABase_Type, &plda_base,
+                                                                 &PyList_Type, &data)) Py_RETURN_NONE;
+
+  std::vector<blitz::Array<double,2> > data_vector;
+  if(list_as_vector(data ,data_vector)==0)
+    self->cxx->finalize(*plda_base->cxx, data_vector);
+
+  BOB_CATCH_MEMBER("cannot perform the finalize method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+
+/*** enrol ***/
+static auto enrol = bob::extension::FunctionDoc(
+  "enrol",
+  "Main procedure for enrolling a PLDAMachine",
+  "",
+  true
+)
+.add_prototype("plda_machine,data")
+.add_parameter("plda_machine", ":py:class:`bob.learn.em.PLDAMachine`", "PLDAMachine Object")
+.add_parameter("data", "list", "");
+static PyObject* PyBobLearnEMPLDATrainer_enrol(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwargs) {
+  BOB_TRY
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = enrol.kwlist(0);
+
+  PyBobLearnEMPLDAMachineObject* plda_machine = 0;
+  PyBlitzArrayObject* data = 0;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O!O&", kwlist, &PyBobLearnEMPLDAMachine_Type, &plda_machine,
+                                                                 &PyBlitzArray_Converter, &data)) Py_RETURN_NONE;
+
+  auto data_ = make_safe(data);
+  self->cxx->enrol(*plda_machine->cxx, *PyBlitzArrayCxx_AsBlitz<double,2>(data));
+
+  BOB_CATCH_MEMBER("cannot perform the enrol method", 0)
+
+  Py_RETURN_NONE;
+}
+
+
+/*** is_similar_to ***/
+static auto is_similar_to = bob::extension::FunctionDoc(
+  "is_similar_to",
+  
+  "Compares this PLDATrainer with the ``other`` one to be approximately the same.",
+  "The optional values ``r_epsilon`` and ``a_epsilon`` refer to the "
+  "relative and absolute precision for the ``weights``, ``biases`` "
+  "and any other values internal to this machine."
+)
+.add_prototype("other, [r_epsilon], [a_epsilon]","output")
+.add_parameter("other", ":py:class:`bob.learn.em.PLDAMachine`", "A PLDAMachine object to be compared.")
+.add_parameter("r_epsilon", "float", "Relative precision.")
+.add_parameter("a_epsilon", "float", "Absolute precision.")
+.add_return("output","bool","True if it is similar, otherwise false.");
+static PyObject* PyBobLearnEMPLDATrainer_IsSimilarTo(PyBobLearnEMPLDATrainerObject* self, PyObject* args, PyObject* kwds) {
+
+  /* Parses input arguments in a single shot */
+  char** kwlist = is_similar_to.kwlist(0);
+
+  //PyObject* other = 0;
+  PyBobLearnEMPLDATrainerObject* other = 0;
+  double r_epsilon = 1.e-5;
+  double a_epsilon = 1.e-8;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwds, "O!|dd", kwlist,
+        &PyBobLearnEMPLDATrainer_Type, &other,
+        &r_epsilon, &a_epsilon)){
+
+        is_similar_to.print_usage(); 
+        return 0;        
+  }
+
+  if (self->cxx->is_similar_to(*other->cxx, r_epsilon, a_epsilon))
+    Py_RETURN_TRUE;
+  else
+    Py_RETURN_FALSE;
+}
+
+
+
+static PyMethodDef PyBobLearnEMPLDATrainer_methods[] = {
+  {
+    initialize.name(),
+    (PyCFunction)PyBobLearnEMPLDATrainer_initialize,
+    METH_VARARGS|METH_KEYWORDS,
+    initialize.doc()
+  },
+  {
+    e_step.name(),
+    (PyCFunction)PyBobLearnEMPLDATrainer_e_step,
+    METH_VARARGS|METH_KEYWORDS,
+    e_step.doc()
+  },
+  {
+    m_step.name(),
+    (PyCFunction)PyBobLearnEMPLDATrainer_m_step,
+    METH_VARARGS|METH_KEYWORDS,
+    m_step.doc()
+  },
+  {
+    finalize.name(),
+    (PyCFunction)PyBobLearnEMPLDATrainer_finalize,
+    METH_VARARGS|METH_KEYWORDS,
+    finalize.doc()
+  },  
+  {
+    enrol.name(),
+    (PyCFunction)PyBobLearnEMPLDATrainer_enrol,
+    METH_VARARGS|METH_KEYWORDS,
+    enrol.doc()
+  },
+  {
+    is_similar_to.name(),
+    (PyCFunction)PyBobLearnEMPLDATrainer_IsSimilarTo,
+    METH_VARARGS|METH_KEYWORDS,
+    is_similar_to.doc()
+  },
+  {0} /* Sentinel */
+};
+
+
+/******************************************************************/
+/************ Module Section **************************************/
+/******************************************************************/
+
+// Define the Gaussian type struct; will be initialized later
+PyTypeObject PyBobLearnEMPLDATrainer_Type = {
+  PyVarObject_HEAD_INIT(0,0)
+  0
+};
+
+bool init_BobLearnEMPLDATrainer(PyObject* module)
+{
+  // initialize the type struct
+  PyBobLearnEMPLDATrainer_Type.tp_name      = PLDATrainer_doc.name();
+  PyBobLearnEMPLDATrainer_Type.tp_basicsize = sizeof(PyBobLearnEMPLDATrainerObject);
+  PyBobLearnEMPLDATrainer_Type.tp_flags     = Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE;//Enable the class inheritance;
+  PyBobLearnEMPLDATrainer_Type.tp_doc       = PLDATrainer_doc.doc();
+
+  // set the functions
+  PyBobLearnEMPLDATrainer_Type.tp_new          = PyType_GenericNew;
+  PyBobLearnEMPLDATrainer_Type.tp_init         = reinterpret_cast<initproc>(PyBobLearnEMPLDATrainer_init);
+  PyBobLearnEMPLDATrainer_Type.tp_dealloc      = reinterpret_cast<destructor>(PyBobLearnEMPLDATrainer_delete);
+  PyBobLearnEMPLDATrainer_Type.tp_richcompare = reinterpret_cast<richcmpfunc>(PyBobLearnEMPLDATrainer_RichCompare);
+  PyBobLearnEMPLDATrainer_Type.tp_methods      = PyBobLearnEMPLDATrainer_methods;
+  PyBobLearnEMPLDATrainer_Type.tp_getset       = PyBobLearnEMPLDATrainer_getseters;
+  //PyBobLearnEMPLDATrainer_Type.tp_call         = reinterpret_cast<ternaryfunc>(PyBobLearnEMPLDATrainer_compute_likelihood);
+
+
+  // check that everything is fine
+  if (PyType_Ready(&PyBobLearnEMPLDATrainer_Type) < 0) return false;
+
+  // add the type to the module
+  Py_INCREF(&PyBobLearnEMPLDATrainer_Type);
+  return PyModule_AddObject(module, "_PLDATrainer", (PyObject*)&PyBobLearnEMPLDATrainer_Type) >= 0;
+}
+
diff --git a/bob/learn/em/test/test_em.py b/bob/learn/em/test/test_em.py
new file mode 100644
index 0000000..85cac67
--- /dev/null
+++ b/bob/learn/em/test/test_em.py
@@ -0,0 +1,252 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Francois Moulin <Francois.Moulin@idiap.ch>
+# Tue May 10 11:35:58 2011 +0200
+#
+# Copyright (C) 2011-2013 Idiap Research Institute, Martigny, Switzerland
+
+"""Test trainer package
+"""
+import unittest
+import numpy
+
+import bob.io.base
+from bob.io.base.test_utils import datafile
+
+from bob.learn.em import KMeansMachine, GMMMachine, KMeansTrainer, \
+    ML_GMMTrainer, MAP_GMMTrainer
+
+#, MAP_GMMTrainer
+
+def loadGMM():
+  gmm = GMMMachine(2, 2)
+
+  gmm.weights = bob.io.base.load(datafile('gmm.init_weights.hdf5', __name__, path="../data/"))
+  gmm.means = bob.io.base.load(datafile('gmm.init_means.hdf5', __name__, path="../data/"))
+  gmm.variances = bob.io.base.load(datafile('gmm.init_variances.hdf5', __name__, path="../data/"))
+  #gmm.variance_thresholds = numpy.array([[0.001, 0.001],[0.001, 0.001]], 'float64')
+
+  return gmm
+
+def equals(x, y, epsilon):
+  return (abs(x - y) < epsilon).all()
+
+class MyTrainer1(KMeansTrainer):
+  """Simple example of python trainer: """
+
+  def __init__(self):
+    KMeansTrainer.__init__(self)
+
+  def train(self, machine, data):
+    a = numpy.ndarray((2, 2), 'float64')
+    a[0, :] = data[1]
+    a[1, :] = data[2]
+    machine.means = a
+
+def test_gmm_ML_1():
+
+  # Trains a GMMMachine with ML_GMMTrainer
+
+  ar = bob.io.base.load(datafile("faithful.torch3_f64.hdf5", __name__, path="../data/"))  
+  gmm = loadGMM()
+  
+  ml_gmmtrainer = ML_GMMTrainer(True, True, True)
+  ml_gmmtrainer.train(gmm, ar)
+
+  #config = bob.io.base.HDF5File(datafile('gmm_ML.hdf5", __name__), 'w')
+  #gmm.save(config)
+  
+  gmm_ref = GMMMachine(bob.io.base.HDF5File(datafile('gmm_ML.hdf5', __name__, path="../data/")))
+  gmm_ref_32bit_debug = GMMMachine(bob.io.base.HDF5File(datafile('gmm_ML_32bit_debug.hdf5', __name__, path="../data/")))
+  gmm_ref_32bit_release = GMMMachine(bob.io.base.HDF5File(datafile('gmm_ML_32bit_release.hdf5', __name__, path="../data/")))
+
+  assert (gmm == gmm_ref) or (gmm == gmm_ref_32bit_release) or (gmm == gmm_ref_32bit_release)
+
+ 
+def test_gmm_ML_2():
+
+  # Trains a GMMMachine with ML_GMMTrainer; compares to an old reference
+
+  ar = bob.io.base.load(datafile('dataNormalized.hdf5', __name__, path="../data/"))
+
+  # Initialize GMMMachine
+  gmm = GMMMachine(5, 45)
+  gmm.means = bob.io.base.load(datafile('meansAfterKMeans.hdf5', __name__, path="../data/")).astype('float64')
+  gmm.variances = bob.io.base.load(datafile('variancesAfterKMeans.hdf5', __name__, path="../data/")).astype('float64')
+  gmm.weights = numpy.exp(bob.io.base.load(datafile('weightsAfterKMeans.hdf5', __name__, path="../data/")).astype('float64'))
+
+  threshold = 0.001
+  gmm.set_variance_thresholds(threshold)
+
+  # Initialize ML Trainer
+  prior = 0.001
+  max_iter_gmm = 25
+  accuracy = 0.00001
+  ml_gmmtrainer = ML_GMMTrainer(True, True, True, prior, converge_by_likelihood=True)
+  ml_gmmtrainer.max_iterations = max_iter_gmm
+  ml_gmmtrainer.convergence_threshold = accuracy
+  
+  # Run ML
+  ml_gmmtrainer.train(gmm, ar)
+
+
+  # Test results
+  # Load torch3vision reference
+  meansML_ref = bob.io.base.load(datafile('meansAfterML.hdf5', __name__, path="../data/"))
+  variancesML_ref = bob.io.base.load(datafile('variancesAfterML.hdf5', __name__, path="../data/"))
+  weightsML_ref = bob.io.base.load(datafile('weightsAfterML.hdf5', __name__, path="../data/"))
+
+
+  # Compare to current results
+  assert equals(gmm.means, meansML_ref, 3e-3)
+  assert equals(gmm.variances, variancesML_ref, 3e-3)
+  assert equals(gmm.weights, weightsML_ref, 1e-4)
+
+
+
+def test_gmm_MAP_1():
+
+  # Train a GMMMachine with MAP_GMMTrainer
+
+  ar = bob.io.base.load(datafile('faithful.torch3_f64.hdf5', __name__, path="../data/"))
+
+  gmm = GMMMachine(bob.io.base.HDF5File(datafile("gmm_ML.hdf5", __name__, path="../data/")))
+  gmmprior = GMMMachine(bob.io.base.HDF5File(datafile("gmm_ML.hdf5", __name__, path="../data/")))
+
+  map_gmmtrainer = MAP_GMMTrainer(update_means=True, update_variances=False, update_weights=False, prior_gmm=gmmprior, relevance_factor=4.)  
+  #map_gmmtrainer.set_prior_gmm(gmmprior)
+  map_gmmtrainer.train(gmm, ar)
+
+  #config = bob.io.base.HDF5File(datafile('gmm_MAP.hdf5", 'w', __name__))
+  #gmm.save(config)
+
+  gmm_ref = GMMMachine(bob.io.base.HDF5File(datafile('gmm_MAP.hdf5', __name__, path="../data/")))
+
+  assert (equals(gmm.means,gmm_ref.means,1e-3) and equals(gmm.variances,gmm_ref.variances,1e-3) and equals(gmm.weights,gmm_ref.weights,1e-3))
+
+
+def test_gmm_MAP_2():
+
+  # Train a GMMMachine with MAP_GMMTrainer and compare with matlab reference
+
+  data = bob.io.base.load(datafile('data.hdf5', __name__, path="../data/"))
+  data = data.reshape((1, data.shape[0])) # make a 2D array out of it
+  means = bob.io.base.load(datafile('means.hdf5', __name__, path="../data/"))
+  variances = bob.io.base.load(datafile('variances.hdf5', __name__, path="../data/"))
+  weights = bob.io.base.load(datafile('weights.hdf5', __name__, path="../data/"))
+
+  gmm = GMMMachine(2,50)
+  gmm.means = means
+  gmm.variances = variances
+  gmm.weights = weights
+
+  map_adapt = MAP_GMMTrainer(update_means=True, update_variances=False, update_weights=False, mean_var_update_responsibilities_threshold=0.,prior_gmm=gmm, relevance_factor=4.)
+  #map_adapt.set_prior_gmm(gmm)
+
+  gmm_adapted = GMMMachine(2,50)
+  gmm_adapted.means = means
+  gmm_adapted.variances = variances
+  gmm_adapted.weights = weights
+
+  map_adapt.max_iterations = 1
+  map_adapt.train(gmm_adapted, data)
+
+  new_means = bob.io.base.load(datafile('new_adapted_mean.hdf5', __name__, path="../data/"))
+
+ # print new_means[0,:]
+ # print gmm_adapted.means[:,0]
+
+  # Compare to matlab reference
+  assert equals(new_means[0,:], gmm_adapted.means[:,0], 1e-4)
+  assert equals(new_means[1,:], gmm_adapted.means[:,1], 1e-4)
+
+
+def test_gmm_MAP_3():
+
+  # Train a GMMMachine with MAP_GMMTrainer; compares to old reference
+
+  ar = bob.io.base.load(datafile('dataforMAP.hdf5', __name__, path="../data/"))
+
+  # Initialize GMMMachine
+  n_gaussians = 5
+  n_inputs = 45
+  prior_gmm = GMMMachine(n_gaussians, n_inputs)
+  prior_gmm.means = bob.io.base.load(datafile('meansAfterML.hdf5', __name__, path="../data/"))
+  prior_gmm.variances = bob.io.base.load(datafile('variancesAfterML.hdf5', __name__, path="../data/"))
+  prior_gmm.weights = bob.io.base.load(datafile('weightsAfterML.hdf5', __name__, path="../data/"))
+
+  threshold = 0.001
+  prior_gmm.set_variance_thresholds(threshold)
+
+  # Initialize MAP Trainer
+  relevance_factor = 0.1
+  prior = 0.001
+  max_iter_gmm = 1
+  accuracy = 0.00001
+  map_factor = 0.5
+  map_gmmtrainer = MAP_GMMTrainer(update_means=True, update_variances=False, update_weights=False, convergence_threshold=prior, prior_gmm=prior_gmm, alpha=map_factor)
+  map_gmmtrainer.max_iterations = max_iter_gmm
+  map_gmmtrainer.convergence_threshold = accuracy
+
+  gmm = GMMMachine(n_gaussians, n_inputs)
+  gmm.set_variance_thresholds(threshold)
+
+  # Train
+  map_gmmtrainer.train(gmm, ar)
+
+  # Test results
+  # Load torch3vision reference
+  meansMAP_ref = bob.io.base.load(datafile('meansAfterMAP.hdf5', __name__, path="../data/"))
+  variancesMAP_ref = bob.io.base.load(datafile('variancesAfterMAP.hdf5', __name__, path="../data/"))
+  weightsMAP_ref = bob.io.base.load(datafile('weightsAfterMAP.hdf5', __name__, path="../data/"))
+
+  # Compare to current results
+  # Gaps are quite large. This might be explained by the fact that there is no
+  # adaptation of a given Gaussian in torch3 when the corresponding responsibilities
+  # are below the responsibilities threshold
+  assert equals(gmm.means, meansMAP_ref, 2e-1)
+  assert equals(gmm.variances, variancesMAP_ref, 1e-4)
+  assert equals(gmm.weights, weightsMAP_ref, 1e-4)
+
+
+def test_gmm_test():
+
+  # Tests a GMMMachine by computing scores against a model and compare to
+  # an old reference
+
+  ar = bob.io.base.load(datafile('dataforMAP.hdf5', __name__, path="../data/"))
+
+  # Initialize GMMMachine
+  n_gaussians = 5
+  n_inputs = 45
+  gmm = GMMMachine(n_gaussians, n_inputs)
+  gmm.means = bob.io.base.load(datafile('meansAfterML.hdf5', __name__, path="../data/"))
+  gmm.variances = bob.io.base.load(datafile('variancesAfterML.hdf5', __name__, path="../data/"))
+  gmm.weights = bob.io.base.load(datafile('weightsAfterML.hdf5', __name__, path="../data/"))
+
+  threshold = 0.001
+  gmm.set_variance_thresholds(threshold)
+
+  # Test against the model
+  score_mean_ref = -1.50379e+06
+  score = 0.
+  for v in ar: score += gmm(v)
+  score /= len(ar)
+
+  # Compare current results to torch3vision
+  assert abs(score-score_mean_ref)/score_mean_ref<1e-4
+
+
+def test_custom_trainer():
+
+  # Custom python trainer
+
+  ar = bob.io.base.load(datafile("faithful.torch3_f64.hdf5", __name__, path="../data/"))
+
+  mytrainer = MyTrainer1()
+
+  machine = KMeansMachine(2, 2)
+  mytrainer.train(machine, ar)
+
+  for i in range(0, 2):
+    assert (ar[i+1] == machine.means[i, :]).all()
diff --git a/bob/learn/em/test/test_gaussian.py b/bob/learn/em/test/test_gaussian.py
new file mode 100644
index 0000000..0e64705
--- /dev/null
+++ b/bob/learn/em/test/test_gaussian.py
@@ -0,0 +1,112 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Thu Feb 16 16:54:45 2012 +0200
+#
+# Copyright (C) 2011-2013 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests the Gaussian machine
+"""
+
+import os
+import numpy
+import tempfile
+
+import bob.io.base
+
+from bob.learn.em import Gaussian
+
+def equals(x, y, epsilon):
+  return (abs(x - y) < epsilon)
+
+def test_GaussianNormal():
+  # Test the likelihood computation of a simple normal Gaussian
+  gaussian = Gaussian(2)
+  # By default, initialized with zero mean and unit variance
+  logLH = gaussian.log_likelihood(numpy.array([0.4, 0.2], 'float64'))
+  assert equals(logLH, -1.93787706641, 1e-10)
+
+def test_GaussianMachine():
+  # Test a GaussianMachine more thoroughly
+
+  # Initializes a Gaussian with zero mean and unit variance
+  g = Gaussian(3)
+  assert (g.mean == 0.0).all()
+  assert (g.variance == 1.0).all()
+  assert g.shape == (3,)
+
+  # Set and check mean, variance, variance thresholds
+  mean     = numpy.array([0, 1, 2], 'float64')
+  variance = numpy.array([3, 2, 1], 'float64')
+  g.mean     = mean
+  g.variance = variance
+  g.set_variance_thresholds(0.0005)
+  assert (g.mean == mean).all()
+  assert (g.variance == variance).all()
+  assert (g.variance_thresholds == 0.0005).all()
+
+  # Save and read from file
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  g.save(bob.io.base.HDF5File(filename, 'w'))
+  g_loaded = Gaussian(bob.io.base.HDF5File(filename))
+  assert g == g_loaded
+  assert (g != g_loaded ) is False
+  assert g.is_similar_to(g_loaded)
+  
+  # Save and read from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  g.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  g_loaded = Gaussian(hdf5=bob.io.base.HDF5File(filename))
+  assert g == g_loaded
+  assert (g != g_loaded ) is False
+  assert g.is_similar_to(g_loaded)
+
+  # Save and loading from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  g.save(bob.io.base.HDF5File(filename, 'w'))
+  g_loaded = bob.learn.em.Gaussian()
+  g_loaded.load(bob.io.base.HDF5File(filename))
+  assert g == g_loaded
+  assert (g != g_loaded ) is False
+  assert g.is_similar_to(g_loaded)
+
+  # Save and loading from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  g.save(bob.io.base.HDF5File(filename, 'w'))
+  g_loaded = bob.learn.em.Gaussian()
+  g_loaded.load(hdf5=bob.io.base.HDF5File(filename))
+  assert g == g_loaded
+  assert (g != g_loaded ) is False
+  assert g.is_similar_to(g_loaded)
+
+
+  # Make them different
+  g_loaded.set_variance_thresholds(0.001)
+  assert (g == g_loaded ) is False
+  assert g != g_loaded
+
+  # Check likelihood computation
+  sample1 = numpy.array([0, 1, 2], 'float64')
+  sample2 = numpy.array([1, 2, 3], 'float64')
+  sample3 = numpy.array([2, 3, 4], 'float64')
+  ref1 = -3.652695334228046
+  ref2 = -4.569362000894712
+  ref3 = -7.319362000894712
+  eps = 1e-10
+  assert equals(g.log_likelihood(sample1), ref1, eps)
+  assert equals(g.log_likelihood(sample2), ref2, eps)
+  assert equals(g.log_likelihood(sample3), ref3, eps)
+
+  # Check resize and assignment
+  g.resize(5)
+  assert g.shape == (5,)
+  g2 = Gaussian()
+  g2 = g
+  assert g == g2
+  assert (g != g2 ) is False
+  g3 = Gaussian(g)
+  assert g == g3
+  assert (g != g3 ) is False
+
+  # Clean-up
+  os.unlink(filename)
diff --git a/bob/learn/em/test/test_gmm.py b/bob/learn/em/test/test_gmm.py
new file mode 100644
index 0000000..cc678c1
--- /dev/null
+++ b/bob/learn/em/test/test_gmm.py
@@ -0,0 +1,240 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Thu Feb 16 17:57:10 2012 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests the GMM machine and the GMMStats container
+"""
+
+import os
+import numpy
+import tempfile
+
+import bob.io.base
+from bob.io.base.test_utils import datafile
+
+from bob.learn.em import GMMStats, GMMMachine
+
+def test_GMMStats():
+  # Test a GMMStats
+  # Initializes a GMMStats
+  gs = GMMStats(2,3)
+  log_likelihood = -3.
+  T = 57
+  n = numpy.array([4.37, 5.31], 'float64')
+  sumpx = numpy.array([[1., 2., 3.], [4., 5., 6.]], 'float64')
+  sumpxx = numpy.array([[10., 20., 30.], [40., 50., 60.]], 'float64')
+  gs.log_likelihood = log_likelihood
+  gs.t = T
+  gs.n = n
+  gs.sum_px = sumpx
+  gs.sum_pxx = sumpxx
+  assert gs.log_likelihood == log_likelihood
+  assert gs.t == T
+  assert (gs.n == n).all()
+  assert (gs.sum_px == sumpx).all()
+  assert (gs.sum_pxx == sumpxx).all()
+  assert gs.shape==(2,3)
+
+  # Saves and reads from file
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  gs.save(bob.io.base.HDF5File(filename, 'w'))
+  gs_loaded = GMMStats(bob.io.base.HDF5File(filename))
+  assert gs == gs_loaded
+  assert (gs != gs_loaded ) is False
+  assert gs.is_similar_to(gs_loaded)
+  
+  # Saves and reads from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  gs.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  gs_loaded = GMMStats(bob.io.base.HDF5File(filename))
+  assert gs == gs_loaded
+  assert (gs != gs_loaded ) is False
+  assert gs.is_similar_to(gs_loaded)
+
+  # Saves and load from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  gs.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  gs_loaded = GMMStats()
+  gs_loaded.load(bob.io.base.HDF5File(filename))
+  assert gs == gs_loaded
+  assert (gs != gs_loaded ) is False
+  assert gs.is_similar_to(gs_loaded)
+
+  # Saves and load from file using the keyword argument
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  gs.save(hdf5=bob.io.base.HDF5File(filename, 'w'))
+  gs_loaded = GMMStats()
+  gs_loaded.load(hdf5=bob.io.base.HDF5File(filename))
+  assert gs == gs_loaded
+  assert (gs != gs_loaded ) is False
+  assert gs.is_similar_to(gs_loaded)
+  
+  
+  # Makes them different
+  gs_loaded.t = 58
+  assert (gs == gs_loaded ) is False
+  assert gs != gs_loaded
+  assert (gs.is_similar_to(gs_loaded)) is False
+  # Accumulates from another GMMStats
+  gs2 = GMMStats(2,3)
+  gs2.log_likelihood = log_likelihood
+  gs2.t = T
+  gs2.n = n
+  gs2.sum_px = sumpx
+  gs2.sum_pxx = sumpxx
+  gs2 += gs
+  eps = 1e-8
+  assert gs2.log_likelihood == 2*log_likelihood
+  assert gs2.t == 2*T
+  assert numpy.allclose(gs2.n, 2*n, eps)
+  assert numpy.allclose(gs2.sum_px, 2*sumpx, eps)
+  assert numpy.allclose(gs2.sum_pxx, 2*sumpxx, eps)
+
+  # Reinit and checks for zeros
+  gs_loaded.init()
+  assert gs_loaded.log_likelihood == 0
+  assert gs_loaded.t == 0
+  assert (gs_loaded.n == 0).all()
+  assert (gs_loaded.sum_px == 0).all()
+  assert (gs_loaded.sum_pxx == 0).all()
+  # Resize and checks size
+  assert  gs_loaded.shape==(2,3)
+  gs_loaded.resize(4,5)  
+  assert  gs_loaded.shape==(4,5)
+  assert gs_loaded.sum_px.shape[0] == 4
+  assert gs_loaded.sum_px.shape[1] == 5
+
+  # Clean-up
+  os.unlink(filename)
+
+def test_GMMMachine_1():
+  # Test a GMMMachine basic features
+
+  weights   = numpy.array([0.5, 0.5], 'float64')
+  weights2   = numpy.array([0.6, 0.4], 'float64')
+  means     = numpy.array([[3, 70, 0], [4, 72, 0]], 'float64')
+  means2     = numpy.array([[3, 7, 0], [4, 72, 0]], 'float64')
+  variances = numpy.array([[1, 10, 1], [2, 5, 2]], 'float64')
+  variances2 = numpy.array([[10, 10, 1], [2, 5, 2]], 'float64')
+  varianceThresholds = numpy.array([[0, 0, 0], [0, 0, 0]], 'float64')
+  varianceThresholds2 = numpy.array([[0.0005, 0.0005, 0.0005], [0, 0, 0]], 'float64')
+
+  # Initializes a GMMMachine
+  gmm = GMMMachine(2,3)
+  # Sets the weights, means, variances and varianceThresholds and
+  # Checks correctness
+  gmm.weights = weights
+  gmm.means = means
+  gmm.variances = variances
+  gmm.variance_thresholds = varianceThresholds
+  assert gmm.shape == (2,3)
+  assert (gmm.weights == weights).all()
+  assert (gmm.means == means).all()
+  assert (gmm.variances == variances).all()
+  assert (gmm.variance_thresholds == varianceThresholds).all()
+
+  # Checks supervector-like accesses
+  assert (gmm.mean_supervector == means.reshape(means.size)).all()
+  assert (gmm.variance_supervector == variances.reshape(variances.size)).all()
+  newMeans = numpy.array([[3, 70, 2], [4, 72, 2]], 'float64')
+  newVariances = numpy.array([[1, 1, 1], [2, 2, 2]], 'float64')
+
+
+  # Checks particular varianceThresholds-related methods
+  varianceThresholds1D = numpy.array([0.3, 1, 0.5], 'float64')
+  gmm.set_variance_thresholds(varianceThresholds1D)
+  assert (gmm.variance_thresholds[0,:] == varianceThresholds1D).all()
+  assert (gmm.variance_thresholds[1,:] == varianceThresholds1D).all()
+
+  gmm.set_variance_thresholds(0.005)
+  assert (gmm.variance_thresholds == 0.005).all()
+
+  # Checks Gaussians access
+  gmm.means     = newMeans
+  gmm.variances = newVariances
+  assert (gmm.get_gaussian(0).mean == newMeans[0,:]).all()
+  assert (gmm.get_gaussian(1).mean == newMeans[1,:]).all()
+  assert (gmm.get_gaussian(0).variance == newVariances[0,:]).all()
+  assert (gmm.get_gaussian(1).variance == newVariances[1,:]).all()
+
+  # Checks resize
+  gmm.resize(4,5)
+  assert gmm.shape == (4,5)
+
+  # Checks comparison
+  gmm2 = GMMMachine(gmm)
+  gmm3 = GMMMachine(2,3)
+  gmm3.weights = weights2
+  gmm3.means = means
+  gmm3.variances = variances
+  #gmm3.varianceThresholds = varianceThresholds
+  gmm4 = GMMMachine(2,3)
+  gmm4.weights = weights
+  gmm4.means = means2
+  gmm4.variances = variances
+  #gmm4.varianceThresholds = varianceThresholds
+  gmm5 = GMMMachine(2,3)
+  gmm5.weights = weights
+  gmm5.means = means
+  gmm5.variances = variances2
+  #gmm5.varianceThresholds = varianceThresholds
+  gmm6 = GMMMachine(2,3)
+  gmm6.weights = weights
+  gmm6.means = means
+  gmm6.variances = variances
+  #gmm6.varianceThresholds = varianceThresholds2
+
+  assert gmm == gmm2
+  assert (gmm != gmm2) is False
+  assert gmm.is_similar_to(gmm2)
+  assert gmm != gmm3
+  assert (gmm == gmm3) is False
+  assert gmm.is_similar_to(gmm3) is False
+  assert gmm != gmm4
+  assert (gmm == gmm4) is False
+  assert gmm.is_similar_to(gmm4) is False
+  assert gmm != gmm5
+  assert (gmm == gmm5) is False
+  assert gmm.is_similar_to(gmm5) is False
+  assert gmm != gmm6
+  assert (gmm == gmm6) is False
+  assert gmm.is_similar_to(gmm6) is False
+
+def test_GMMMachine_2():
+  # Test a GMMMachine (statistics)
+
+  arrayset = bob.io.base.load(datafile("faithful.torch3_f64.hdf5", __name__, path="../data/"))
+  gmm = GMMMachine(2, 2)
+  gmm.weights   = numpy.array([0.5, 0.5], 'float64')
+  gmm.means     = numpy.array([[3, 70], [4, 72]], 'float64')
+  gmm.variances = numpy.array([[1, 10], [2, 5]], 'float64')
+  gmm.variance_thresholds = numpy.array([[0, 0], [0, 0]], 'float64')
+
+  stats = GMMStats(2, 2)
+  gmm.acc_statistics(arrayset, stats)
+
+  stats_ref = GMMStats(bob.io.base.HDF5File(datafile("stats.hdf5",__name__, path="../data/")))
+
+  assert stats.t == stats_ref.t
+  assert numpy.allclose(stats.n, stats_ref.n, atol=1e-10)
+  #assert numpy.array_equal(stats.sumPx, stats_ref.sumPx)
+  #Note AA: precision error above
+  assert numpy.allclose(stats.sum_px, stats_ref.sum_px, atol=1e-10)
+  assert numpy.allclose(stats.sum_pxx, stats_ref.sum_pxx, atol=1e-10)
+
+def test_GMMMachine_3():
+  # Test a GMMMachine (log-likelihood computation)
+
+  data = bob.io.base.load(datafile('data.hdf5', __name__, path="../data/"))
+  gmm = GMMMachine(2, 50)
+  gmm.weights   = bob.io.base.load(datafile('weights.hdf5', __name__, path="../data/"))
+  gmm.means     = bob.io.base.load(datafile('means.hdf5', __name__, path="../data/"))
+  gmm.variances = bob.io.base.load(datafile('variances.hdf5', __name__, path="../data/"))
+
+  # Compare the log-likelihood with the one obtained using Chris Matlab
+  # implementation
+  matlab_ll_ref = -2.361583051672024e+02
+  assert abs(gmm(data) - matlab_ll_ref) < 1e-10
diff --git a/bob/learn/em/test/test_ivector.py b/bob/learn/em/test/test_ivector.py
new file mode 100644
index 0000000..6f8ca98
--- /dev/null
+++ b/bob/learn/em/test/test_ivector.py
@@ -0,0 +1,159 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Mon Apr 2 11:19:00 2013 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+
+"""Tests the I-Vector machine
+"""
+
+import numpy
+import numpy.linalg
+import numpy.random
+
+from bob.learn.em import GMMMachine, GMMStats, IVectorMachine
+
+
+### Test class inspired by an implementation of Chris McCool
+### Chris McCool (chris.mccool@nicta.com.au)
+class IVectorMachinePy():
+  """An IVector extractor"""
+
+  def __init__(self, ubm=None, dim_t=1):
+    # Our state
+    self.m_ubm = ubm
+    self.m_dim_t = dim_t
+    # Resize the matrices T and sigma
+    self.resize()
+    # Precompute
+    self.precompute()
+
+  def resize(self):
+    if self.m_ubm:
+      dim_cd = self.m_ubm.shape[0] * self.m_ubm.shape[1]
+      self.m_t = numpy.random.randn(dim_cd, self.m_dim_t)
+      self.m_sigma = numpy.random.randn(dim_cd)
+
+  def precompute(self):
+    if self.m_ubm and self.m_t is not None and self.m_sigma is not None:
+      #dim_c = self.m_ubm.dim_c
+      #dim_d = self.m_ubm.dim_d
+      dim_c,dim_d = self.m_ubm.shape
+      self.m_cache_TtSigmaInv = {}
+      self.m_cache_TtSigmaInvT = {}
+      for c in range(dim_c):
+        start                       = c*dim_d
+        end                         = (c+1)*dim_d
+        Tc                          = self.m_t[start:end,:]
+        self.m_cache_TtSigmaInv[c]  = Tc.transpose() / self.m_sigma[start:end]
+        self.m_cache_TtSigmaInvT[c] = numpy.dot(self.m_cache_TtSigmaInv[c], Tc);
+
+  def set_ubm(self, ubm):
+    self.m_ubm = ubm
+    # Precompute
+    self.precompute()
+
+  def get_ubm(self):
+    return self.m_ubm
+
+  def set_t(self, t):
+    # @warning: no dimensions check
+    self.m_t = t
+    # Precompute
+    self.precompute()
+
+  def get_t(self):
+    return self.m_t
+
+  def set_sigma(self, sigma):
+    # @warning: no dimensions check
+    self.m_sigma = sigma
+    # Precompute
+    self.precompute()
+
+  def get_sigma(self):
+    return self.m_sigma
+
+
+  def _get_TtSigmaInv_Fnorm(self, N, F):
+    # Initialization
+    #dim_c = self.m_ubm.dim_c
+    #dim_d = self.m_ubm.dim_d
+    dim_c,dim_d = self.m_ubm.shape
+    mean_supervector = self.m_ubm.mean_supervector
+    TtSigmaInv_Fnorm = numpy.zeros(shape=(self.m_dim_t,), dtype=numpy.float64)
+
+    # Loop over each Gaussian component
+    dim_c = self.m_ubm.shape[0]
+    for c in range(dim_c):
+      start             = c*dim_d
+      end               = (c+1)*dim_d
+      Fnorm             = F[c,:] - N[c] * mean_supervector[start:end]
+      TtSigmaInv_Fnorm  = TtSigmaInv_Fnorm + numpy.dot(self.m_cache_TtSigmaInv[c], Fnorm)
+    return TtSigmaInv_Fnorm
+
+  def _get_I_TtSigmaInvNT(self, N):
+    # Initialization
+    #dim_c = self.m_ubm.dim_c
+    #dim_d = self.m_ubm.dim_d
+    dim_c, dim_d = self.m_ubm.shape
+
+    TtSigmaInvNT = numpy.eye(self.m_dim_t, dtype=numpy.float64)
+    for c in range(dim_c):
+      TtSigmaInvNT = TtSigmaInvNT + self.m_cache_TtSigmaInvT[c] * N[c]
+
+    return TtSigmaInvNT
+
+  def forward(self, gmmstats):
+    if self.m_ubm and not (self.m_t == None) and not (self.m_sigma == None):
+      N = gmmstats.n
+      F = gmmstats.sum_px
+
+      TtSigmaInv_Fnorm = self._get_TtSigmaInv_Fnorm(N, F)
+      TtSigmaInvNT = self._get_I_TtSigmaInvNT(N)
+
+      return numpy.linalg.solve(TtSigmaInvNT, TtSigmaInv_Fnorm)
+
+
+def test_machine():
+
+  # Ubm
+  ubm = GMMMachine(2,3)
+  ubm.weights = numpy.array([0.4,0.6])
+  ubm.means = numpy.array([[1.,7,4],[4,5,3]])
+  ubm.variances = numpy.array([[0.5,1.,1.5],[1.,1.5,2.]])
+
+  # Defines GMMStats
+  gs = GMMStats(2,3)
+  log_likelihood = -3.
+  T = 1
+  n = numpy.array([0.4, 0.6], numpy.float64)
+  sumpx = numpy.array([[1., 2., 3.], [2., 4., 3.]], numpy.float64)
+  sumpxx = numpy.array([[10., 20., 30.], [40., 50., 60.]], numpy.float64)
+  gs.log_likelihood = log_likelihood
+  gs.t = T
+  gs.n = n
+  gs.sum_px = sumpx
+  gs.sum_pxx = sumpxx
+
+  # IVector (Python)
+  m = IVectorMachinePy(ubm, 2)
+  t = numpy.array([[1.,2],[4,1],[0,3],[5,8],[7,10],[11,1]])
+  m.set_t(t)
+  sigma = numpy.array([1.,2.,1.,3.,2.,4.])
+  m.set_sigma(sigma)
+
+  wij_ref = numpy.array([-0.04213415, 0.21463343]) # Reference from original Chris implementation
+  wij = m.forward(gs)
+  assert numpy.allclose(wij_ref, wij, 1e-5)
+
+  # IVector (C++)
+  mc = IVectorMachine(ubm, 2)
+  mc.t = t
+  mc.sigma = sigma
+
+  wij_ref = numpy.array([-0.04213415, 0.21463343]) # Reference from original Chris implementation
+  wij = mc(gs)
+  assert numpy.allclose(wij_ref, wij, 1e-5)
diff --git a/bob/learn/em/test/test_ivector_trainer.py b/bob/learn/em/test/test_ivector_trainer.py
new file mode 100644
index 0000000..9ef48e2
--- /dev/null
+++ b/bob/learn/em/test/test_ivector_trainer.py
@@ -0,0 +1,363 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests the I-Vector trainer
+"""
+
+import numpy
+import numpy.linalg
+import numpy.random
+
+from bob.learn.em import GMMMachine, GMMStats, IVectorMachine, IVectorTrainer
+
+### Test class inspired by an implementation of Chris McCool
+### Chris McCool (chris.mccool@nicta.com.au)
+class IVectorTrainerPy():
+  """An IVector extractor"""
+
+  def __init__(self, convergence_threshold=0.001, max_iterations=10,
+      compute_likelihood=False, sigma_update=False, variance_floor=1e-5):
+    self.m_convergence_threshold = convergence_threshold
+    self.m_max_iterations = max_iterations
+    self.m_compute_likelihood = compute_likelihood
+    self.m_sigma_update = sigma_update
+    self.m_variance_floor = variance_floor
+
+  def initialize(self, machine, data):
+    ubm = machine.ubm
+    self.m_dim_c = ubm.shape[0]
+    self.m_dim_d = ubm.shape[1]
+    self.m_dim_t = machine.t.shape[1]
+    self.m_meansupervector = ubm.mean_supervector
+    t = numpy.random.randn(self.m_dim_c*self.m_dim_d, self.m_dim_t)
+    machine.t = t
+    machine.sigma = machine.ubm.variance_supervector
+
+  def e_step(self, machine, data):
+    n_samples = len(data)
+    self.m_acc_Nij_Sigma_wij2  = {}
+    self.m_acc_Fnorm_Sigma_wij = {}
+    self.m_acc_Snorm = numpy.zeros(shape=(self.m_dim_c*self.m_dim_d,), dtype=numpy.float64)
+    self.m_N = numpy.zeros(shape=(self.m_dim_c,), dtype=numpy.float64)
+
+    for c in range(self.m_dim_c):
+      self.m_acc_Nij_Sigma_wij2[c]  = numpy.zeros(shape=(self.m_dim_t,self.m_dim_t), dtype=numpy.float64)
+      self.m_acc_Fnorm_Sigma_wij[c] = numpy.zeros(shape=(self.m_dim_d,self.m_dim_t), dtype=numpy.float64)
+
+    for n in range(n_samples):
+      Nij = data[n].n
+      Fij = data[n].sum_px
+      Sij = data[n].sum_pxx
+
+      # Estimate latent variables
+      TtSigmaInv_Fnorm = machine.__compute_TtSigmaInvFnorm__(data[n])
+      I_TtSigmaInvNT = machine.__compute_Id_TtSigmaInvT__(data[n])
+
+      Fnorm = numpy.zeros(shape=(self.m_dim_c*self.m_dim_d,), dtype=numpy.float64)
+      Snorm = numpy.zeros(shape=(self.m_dim_c*self.m_dim_d,), dtype=numpy.float64)
+
+      # Compute normalized statistics
+      for c in range(self.m_dim_c):
+        start            = c*self.m_dim_d
+        end              = (c+1)*self.m_dim_d
+
+        Fc               = Fij[c,:]
+        Sc               = Sij[c,:]
+        mc               = self.m_meansupervector[start:end]
+
+        Fc_mc            = Fc * mc
+        Nc_mc_mcT        = Nij[c] * mc * mc
+
+        Fnorm[start:end] = Fc - Nij[c] * mc
+        Snorm[start:end] = Sc - (2 * Fc_mc) + Nc_mc_mcT
+
+      # Latent variables
+      I_TtSigmaInvNT_inv = numpy.linalg.inv(I_TtSigmaInvNT)
+      E_w_ij             = numpy.dot(I_TtSigmaInvNT_inv, TtSigmaInv_Fnorm)
+      E_w_ij2            = I_TtSigmaInvNT_inv + numpy.outer(E_w_ij, E_w_ij)
+
+      # Do the accumulation for each component
+      self.m_acc_Snorm   = self.m_acc_Snorm + Snorm    # (dim_c*dim_d)
+      for c in range(self.m_dim_c):
+        start            = c*self.m_dim_d
+        end              = (c+1)*self.m_dim_d
+        current_Fnorm    = Fnorm[start:end]            # (dim_d)
+        self.m_acc_Nij_Sigma_wij2[c]  = self.m_acc_Nij_Sigma_wij2[c] + Nij[c] * E_w_ij2                    # (dim_t, dim_t)
+        self.m_acc_Fnorm_Sigma_wij[c] = self.m_acc_Fnorm_Sigma_wij[c] + numpy.outer(current_Fnorm, E_w_ij) # (dim_d, dim_t)
+        self.m_N[c]                   = self.m_N[c] + Nij[c]
+
+
+  def m_step(self, machine, data):
+    A = self.m_acc_Nij_Sigma_wij2
+
+    T = numpy.zeros(shape=(self.m_dim_c*self.m_dim_d,self.m_dim_t), dtype=numpy.float64)
+    Told = machine.t
+    if self.m_sigma_update:
+      sigma = numpy.zeros(shape=self.m_acc_Snorm.shape, dtype=numpy.float64)
+    for c in range(self.m_dim_c):
+      start = c*self.m_dim_d;
+      end   = (c+1)*self.m_dim_d;
+      # T update
+      A     = self.m_acc_Nij_Sigma_wij2[c].transpose()
+      B     = self.m_acc_Fnorm_Sigma_wij[c].transpose()
+      if numpy.array_equal(A, numpy.zeros(A.shape)):
+        X = numpy.zeros(shape=(self.m_dim_t,self.m_dim_d), dtype=numpy.float64)
+      else:
+        X = numpy.linalg.solve(A, B)
+      T[start:end,:] = X.transpose()
+      # Sigma update
+      if self.m_sigma_update:
+        Told_c           = Told[start:end,:].transpose()
+        # warning: Use of the new T estimate! (revert second next line if you don't want that)
+        Fnorm_Ewij_Tt    = numpy.diag(numpy.dot(self.m_acc_Fnorm_Sigma_wij[c], X))
+        #Fnorm_Ewij_Tt = numpy.diag(numpy.dot(self.m_acc_Fnorm_Sigma_wij[c], Told_c))
+        sigma[start:end] = (self.m_acc_Snorm[start:end] - Fnorm_Ewij_Tt) / self.m_N[c]
+
+    machine.t = T
+    if self.m_sigma_update:
+      sigma[sigma < self.m_variance_floor] = self.m_variance_floor
+      machine.sigma = sigma
+
+  def finalize(self, machine, data):
+    pass
+
+  def train(self, machine, data):
+    self.initialize(machine, data)
+    average_output_previous   = -sys.maxsize
+    average_output            = -sys.maxsize
+    self.e_step(machine, data)
+
+    i = 0
+    while True:
+      average_output_previous = average_output
+      self.m_step(machine, data)
+      self.e_step(machine, data)
+      if(self.m_max_iterations > 0 and i+1 >= self.m_max_iterations):
+        break
+      i += 1
+
+
+def test_trainer_nosigma():
+  # Ubm
+  ubm = GMMMachine(2,3)
+  ubm.weights = numpy.array([0.4,0.6])
+  ubm.means = numpy.array([[1.,7,4],[4,5,3]])
+  ubm.variances = numpy.array([[0.5,1.,1.5],[1.,1.5,2.]])
+
+  # Defines GMMStats
+  gs1 = GMMStats(2,3)
+  log_likelihood1 = -3.
+  T1 = 1
+  n1 = numpy.array([0.4, 0.6], numpy.float64)
+  sumpx1 = numpy.array([[1., 2., 3.], [2., 4., 3.]], numpy.float64)
+  sumpxx1 = numpy.array([[10., 20., 30.], [40., 50., 60.]], numpy.float64)
+  gs1.log_likelihood = log_likelihood1
+  gs1.t = T1
+  gs1.n = n1
+  gs1.sum_px = sumpx1
+  gs1.sum_pxx = sumpxx1
+
+  gs2 = GMMStats(2,3)
+  log_likelihood2 = -4.
+  T2 = 1
+  n2 = numpy.array([0.2, 0.8], numpy.float64)
+  sumpx2 = numpy.array([[2., 1., 3.], [3., 4.1, 3.2]], numpy.float64)
+  sumpxx2 = numpy.array([[12., 15., 25.], [39., 51., 62.]], numpy.float64)
+  gs2.log_likelihood = log_likelihood2
+  gs2.t = T2
+  gs2.n = n2
+  gs2.sum_px = sumpx2
+  gs2.sum_pxx = sumpxx2
+
+  data = [gs1, gs2]
+
+
+  acc_Nij_Sigma_wij2_ref1  = {0: numpy.array([[ 0.03202305, -0.02947769], [-0.02947769,  0.0561132 ]]),
+                             1: numpy.array([[ 0.07953279, -0.07829414], [-0.07829414,  0.13814242]])}
+  acc_Fnorm_Sigma_wij_ref1 = {0: numpy.array([[-0.29622691,  0.61411796], [ 0.09391764, -0.27955961], [-0.39014455,  0.89367757]]),
+                             1: numpy.array([[ 0.04695882, -0.13977981], [-0.05718673,  0.24159665], [-0.17098161,  0.47326585]])}
+  acc_Snorm_ref1           = numpy.array([16.6, 22.4, 16.6, 61.4, 55., 97.4])
+  N_ref1                   = numpy.array([0.6, 1.4])
+  t_ref1                   = numpy.array([[  1.59543739, 11.78239235], [ -3.20130371, -6.66379081], [  4.79674111, 18.44618316],
+                                          [ -0.91765407, -1.5319461 ], [  2.26805901,  3.03434944], [  2.76600031,  4.9935962 ]])
+
+  acc_Nij_Sigma_wij2_ref2  = {0: numpy.array([[ 0.37558389, -0.15405228], [-0.15405228,  0.1421269 ]]),
+                             1: numpy.array([[ 1.02076081, -0.57683953], [-0.57683953,  0.53912239]])}
+  acc_Fnorm_Sigma_wij_ref2 = {0: numpy.array([[-1.1261668 ,  1.46496753], [-0.03579289, -0.37875811], [-1.09037391,  1.84372565]]),
+                             1: numpy.array([[-0.01789645, -0.18937906], [ 0.35221084,  0.15854126], [-0.10004552,  0.72559036]])}
+  acc_Snorm_ref2           = numpy.array([16.6, 22.4, 16.6, 61.4, 55., 97.4])
+  N_ref2                   = numpy.array([0.6, 1.4])
+  t_ref2                   = numpy.array([[  2.2133685,  12.70654597], [ -2.13959381, -4.98404887], [  4.35296231, 17.69059484],
+                                          [ -0.54644055, -0.93594252], [  1.29308324,  1.67762053], [  1.67583072,  3.13894546]])
+  acc_Nij_Sigma_wij2_ref = [acc_Nij_Sigma_wij2_ref1, acc_Nij_Sigma_wij2_ref2]
+  acc_Fnorm_Sigma_wij_ref = [acc_Fnorm_Sigma_wij_ref1, acc_Fnorm_Sigma_wij_ref2]
+  acc_Snorm_ref = [acc_Snorm_ref1, acc_Snorm_ref2]
+  N_ref = [N_ref1, N_ref2]
+  t_ref = [t_ref1, t_ref2]
+
+  # Python implementation
+  # Machine
+  m = IVectorMachine(ubm, 2)
+  t = numpy.array([[1.,2],[4,1],[0,3],[5,8],[7,10],[11,1]])
+  sigma = numpy.array([1.,2.,1.,3.,2.,4.])
+
+  # Initialization
+  trainer = IVectorTrainerPy()
+  trainer.initialize(m, data)
+  m.t = t
+  m.sigma = sigma
+  for it in range(2):
+    # E-Step
+    trainer.e_step(m, data)
+    for k in acc_Nij_Sigma_wij2_ref[it]:
+      assert numpy.allclose(acc_Nij_Sigma_wij2_ref[it][k], trainer.m_acc_Nij_Sigma_wij2[k], 1e-5)
+    for k in acc_Fnorm_Sigma_wij_ref[it]:
+      assert numpy.allclose(acc_Fnorm_Sigma_wij_ref[it][k], trainer.m_acc_Fnorm_Sigma_wij[k], 1e-5)
+    assert numpy.allclose(acc_Snorm_ref[it], trainer.m_acc_Snorm, 1e-5)
+    assert numpy.allclose(N_ref[it], trainer.m_N, 1e-5)
+
+    # M-Step
+    trainer.m_step(m, data)
+    assert numpy.allclose(t_ref[it], m.t, 1e-5)
+
+  # C++ implementation
+  # Machine
+  m = IVectorMachine(ubm, 2)
+
+  # Initialization
+  trainer = IVectorTrainer()
+  trainer.initialize(m)
+  m.t = t
+  m.sigma = sigma
+  for it in range(2):
+    # E-Step
+    trainer.e_step(m, data)
+    for k in acc_Nij_Sigma_wij2_ref[it]:
+      assert numpy.allclose(acc_Nij_Sigma_wij2_ref[it][k], trainer.acc_nij_wij2[k], 1e-5)
+    for k in acc_Fnorm_Sigma_wij_ref[it]:
+      assert numpy.allclose(acc_Fnorm_Sigma_wij_ref[it][k], trainer.acc_fnormij_wij[k], 1e-5)
+
+    # M-Step
+    trainer.m_step(m)
+    assert numpy.allclose(t_ref[it], m.t, 1e-5)
+
+def test_trainer_update_sigma():
+  # Ubm
+  dim_c = 2
+  dim_d = 3
+  ubm = GMMMachine(dim_c,dim_d)
+  ubm.weights = numpy.array([0.4,0.6])
+  ubm.means = numpy.array([[1.,7,4],[4,5,3]])
+  ubm.variances = numpy.array([[0.5,1.,1.5],[1.,1.5,2.]])
+
+  # Defines GMMStats
+  gs1 = GMMStats(dim_c,dim_d)
+  log_likelihood1 = -3.
+  T1 = 1
+  n1 = numpy.array([0.4, 0.6], numpy.float64)
+  sumpx1 = numpy.array([[1., 2., 3.], [2., 4., 3.]], numpy.float64)
+  sumpxx1 = numpy.array([[10., 20., 30.], [40., 50., 60.]], numpy.float64)
+  gs1.log_likelihood = log_likelihood1
+  gs1.t = T1
+  gs1.n = n1
+  gs1.sum_px = sumpx1
+  gs1.sum_pxx = sumpxx1
+
+  gs2 = GMMStats(dim_c,dim_d)
+  log_likelihood2 = -4.
+  T2 = 1
+  n2 = numpy.array([0.2, 0.8], numpy.float64)
+  sumpx2 = numpy.array([[2., 1., 3.], [3., 4.1, 3.2]], numpy.float64)
+  sumpxx2 = numpy.array([[12., 15., 25.], [39., 51., 62.]], numpy.float64)
+  gs2.log_likelihood = log_likelihood2
+  gs2.t = T2
+  gs2.n = n2
+  gs2.sum_px = sumpx2
+  gs2.sum_pxx = sumpxx2
+
+  data = [gs1, gs2]
+
+  # Reference values
+  acc_Nij_Sigma_wij2_ref1  = {0: numpy.array([[ 0.03202305, -0.02947769], [-0.02947769,  0.0561132 ]]),
+                              1: numpy.array([[ 0.07953279, -0.07829414], [-0.07829414,  0.13814242]])}
+  acc_Fnorm_Sigma_wij_ref1 = {0: numpy.array([[-0.29622691,  0.61411796], [ 0.09391764, -0.27955961], [-0.39014455,  0.89367757]]),
+                              1: numpy.array([[ 0.04695882, -0.13977981], [-0.05718673,  0.24159665], [-0.17098161,  0.47326585]])}
+  acc_Snorm_ref1           = numpy.array([16.6, 22.4, 16.6, 61.4, 55., 97.4])
+  N_ref1                   = numpy.array([0.6, 1.4])
+  t_ref1                   = numpy.array([[  1.59543739, 11.78239235], [ -3.20130371, -6.66379081], [  4.79674111, 18.44618316],
+                                          [ -0.91765407, -1.5319461 ], [  2.26805901,  3.03434944], [  2.76600031,  4.9935962 ]])
+  sigma_ref1               = numpy.array([ 16.39472121, 34.72955353,  3.3108037, 43.73496916, 38.85472445, 68.22116903])
+
+  acc_Nij_Sigma_wij2_ref2  = {0: numpy.array([[ 0.50807426, -0.11907756], [-0.11907756,  0.12336544]]),
+                              1: numpy.array([[ 1.18602399, -0.2835859 ], [-0.2835859 ,  0.39440498]])}
+  acc_Fnorm_Sigma_wij_ref2 = {0: numpy.array([[ 0.07221453,  1.1189786 ], [-0.08681275, -0.35396112], [ 0.15902728,  1.47293972]]),
+                              1: numpy.array([[-0.04340637, -0.17698056], [ 0.10662127,  0.21484933],[ 0.13116645,  0.64474271]])}
+  acc_Snorm_ref2           = numpy.array([16.6, 22.4, 16.6, 61.4, 55., 97.4])
+  N_ref2                   = numpy.array([0.6, 1.4])
+  t_ref2                   = numpy.array([[  2.93105054, 11.89961223], [ -1.08988119, -3.92120757], [  4.02093173, 15.82081981],
+                                          [ -0.17376634, -0.57366984], [  0.26585634,  0.73589952], [  0.60557877,   2.07014704]])
+  sigma_ref2               = numpy.array([5.12154025e+00, 3.48623823e+01, 1.00000000e-05, 4.37792350e+01, 3.91525332e+01, 6.85613258e+01])
+
+  acc_Nij_Sigma_wij2_ref = [acc_Nij_Sigma_wij2_ref1, acc_Nij_Sigma_wij2_ref2]
+  acc_Fnorm_Sigma_wij_ref = [acc_Fnorm_Sigma_wij_ref1, acc_Fnorm_Sigma_wij_ref2]
+  acc_Snorm_ref = [acc_Snorm_ref1, acc_Snorm_ref2]
+  N_ref = [N_ref1, N_ref2]
+  t_ref = [t_ref1, t_ref2]
+  sigma_ref = [sigma_ref1, sigma_ref2]
+
+
+  # Python implementation
+  # Machine
+  m = IVectorMachine(ubm, 2)
+  t = numpy.array([[1.,2],[4,1],[0,3],[5,8],[7,10],[11,1]])
+  sigma = numpy.array([1.,2.,1.,3.,2.,4.])
+
+  # Initialization
+  trainer = IVectorTrainerPy(sigma_update=True)
+  trainer.initialize(m, data)
+  m.t = t
+  m.sigma = sigma
+  for it in range(2):
+    # E-Step
+    trainer.e_step(m, data)
+    for k in acc_Nij_Sigma_wij2_ref[it]:
+      assert numpy.allclose(acc_Nij_Sigma_wij2_ref[it][k], trainer.m_acc_Nij_Sigma_wij2[k], 1e-5)
+    for k in acc_Fnorm_Sigma_wij_ref[it]:
+      assert numpy.allclose(acc_Fnorm_Sigma_wij_ref[it][k], trainer.m_acc_Fnorm_Sigma_wij[k], 1e-5)
+    assert numpy.allclose(acc_Snorm_ref[it], trainer.m_acc_Snorm, 1e-5)
+    assert numpy.allclose(N_ref[it], trainer.m_N, 1e-5)
+
+    # M-Step
+    trainer.m_step(m, data)
+    assert numpy.allclose(t_ref[it], m.t, 1e-5)
+    assert numpy.allclose(sigma_ref[it], m.sigma, 1e-5)
+
+
+  # C++ implementation
+  # Machine
+  m = IVectorMachine(ubm, 2)
+  m.variance_threshold = 1e-5
+
+  # Initialization
+  trainer = IVectorTrainer(update_sigma=True)
+  trainer.initialize(m)
+  m.t = t
+  m.sigma = sigma
+  for it in range(2):
+    # E-Step
+    trainer.e_step(m, data)
+    for k in acc_Nij_Sigma_wij2_ref[it]:
+      assert numpy.allclose(acc_Nij_Sigma_wij2_ref[it][k], trainer.acc_nij_wij2[k], 1e-5)
+    for k in acc_Fnorm_Sigma_wij_ref[it]:
+      assert numpy.allclose(acc_Fnorm_Sigma_wij_ref[it][k], trainer.acc_fnormij_wij[k], 1e-5)
+    assert numpy.allclose(acc_Snorm_ref[it].reshape(dim_c,dim_d), trainer.acc_snormij, 1e-5)
+    assert numpy.allclose(N_ref[it], trainer.acc_nij, 1e-5)
+
+    # M-Step
+    trainer.m_step(m)
+    assert numpy.allclose(t_ref[it], m.t, 1e-5)
+    assert numpy.allclose(sigma_ref[it], m.sigma, 1e-5)
+
diff --git a/bob/learn/em/test/test_jfa.py b/bob/learn/em/test/test_jfa.py
new file mode 100644
index 0000000..ebcd5d1
--- /dev/null
+++ b/bob/learn/em/test/test_jfa.py
@@ -0,0 +1,396 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Wed Feb 15 23:24:35 2012 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests on the JFA-based machines
+"""
+
+import os
+import numpy
+import numpy.linalg
+import tempfile
+
+import bob.io.base
+
+from bob.learn.em import GMMMachine, GMMStats, JFABase, ISVBase, ISVMachine, JFAMachine
+
+def estimate_x(dim_c, dim_d, mean, sigma, U, N, F):
+  # Compute helper values
+  UtSigmaInv = {}
+  UtSigmaInvU = {}
+  dim_ru = U.shape[1]
+  for c in range(dim_c):
+    start                       = c*dim_d
+    end                         = (c+1)*dim_d
+    Uc                          = U[start:end,:]
+    UtSigmaInv[c]  = Uc.transpose() / sigma[start:end]
+    UtSigmaInvU[c] = numpy.dot(UtSigmaInv[c], Uc);
+
+  # I + (U^{T} \Sigma^-1 N U)
+  I_UtSigmaInvNU = numpy.eye(dim_ru, dtype=numpy.float64)
+  for c in range(dim_c):
+    I_UtSigmaInvNU = I_UtSigmaInvNU + UtSigmaInvU[c] * N[c]
+
+  # U^{T} \Sigma^-1 F
+  UtSigmaInv_Fnorm = numpy.zeros((dim_ru,), numpy.float64)
+  for c in range(dim_c):
+    start             = c*dim_d
+    end               = (c+1)*dim_d
+    Fnorm             = F[c,:] - N[c] * mean[start:end]
+    UtSigmaInv_Fnorm  = UtSigmaInv_Fnorm + numpy.dot(UtSigmaInv[c], Fnorm)
+
+  return numpy.linalg.solve(I_UtSigmaInvNU, UtSigmaInv_Fnorm)
+
+def estimate_ux(dim_c, dim_d, mean, sigma, U, N, F):
+  return numpy.dot(U, estimate_x(dim_c, dim_d, mean, sigma, U, N, F))
+
+
+def test_JFABase():
+
+  # Creates a UBM
+  weights = numpy.array([0.4, 0.6], 'float64')
+  means = numpy.array([[1, 6, 2], [4, 3, 2]], 'float64')
+  variances = numpy.array([[1, 2, 1], [2, 1, 2]], 'float64')
+  ubm = GMMMachine(2,3)
+  ubm.weights = weights
+  ubm.means = means
+  ubm.variances = variances
+
+  # Creates a JFABase
+  U = numpy.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]], 'float64')
+  V = numpy.array([[6, 5], [4, 3], [2, 1], [1, 2], [3, 4], [5, 6]], 'float64')
+  d = numpy.array([0, 1, 0, 1, 0, 1], 'float64')
+  m = JFABase(ubm, ru=1, rv=1)
+  
+  _,_,ru,rv = m.shape 
+  assert ru == 1
+  assert rv == 1
+
+  # Checks for correctness
+  m.resize(2,2)
+  m.u = U
+  m.v = V
+  m.d = d  
+  n_gaussians,dim,ru,rv = m.shape
+  supervector_length    = m.supervector_length
+  
+  assert (m.u == U).all()
+  assert (m.v == V).all()
+  assert (m.d == d).all()  
+  assert n_gaussians        == 2
+  assert dim                == 3
+  assert supervector_length == 6
+  assert ru                 == 2
+  assert rv                 == 2
+
+  # Saves and loads
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  m.save(bob.io.base.HDF5File(filename, 'w'))
+  m_loaded = JFABase(bob.io.base.HDF5File(filename))
+  m_loaded.ubm = ubm
+  assert m == m_loaded
+  assert (m != m_loaded) is False
+  assert m.is_similar_to(m_loaded)
+
+  # Copy constructor
+  mc = JFABase(m)
+  assert m == mc
+
+  # Variant
+  #mv = JFABase()
+  # Checks for correctness
+  #mv.ubm = ubm
+  #mv.resize(2,2)
+  #mv.u = U
+  #mv.v = V
+  #mv.d = d
+  #assert (m.u == U).all()
+  #assert (m.v == V).all()
+  #assert (m.d == d).all()
+  #assert m.dim_c == 2
+  #assert m.dim_d == 3
+  #assert m.dim_cd == 6
+  #assert m.dim_ru == 2
+  #assert m.dim_rv == 2
+
+  # Clean-up
+  os.unlink(filename)
+
+def test_ISVBase():
+
+  # Creates a UBM
+  weights = numpy.array([0.4, 0.6], 'float64')
+  means = numpy.array([[1, 6, 2], [4, 3, 2]], 'float64')
+  variances = numpy.array([[1, 2, 1], [2, 1, 2]], 'float64')
+  ubm           = GMMMachine(2,3)
+  ubm.weights   = weights
+  ubm.means     = means
+  ubm.variances = variances
+
+  # Creates a ISVBase
+  U = numpy.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]], 'float64')
+  d = numpy.array([0, 1, 0, 1, 0, 1], 'float64')
+  m = ISVBase(ubm, ru=1)
+  _,_,ru = m.shape
+  assert ru == 1
+
+  # Checks for correctness
+  m.resize(2)
+  m.u = U
+  m.d = d
+  n_gaussians,dim,ru = m.shape
+  supervector_length = m.supervector_length
+  assert (m.u == U).all()
+  assert (m.d == d).all()  
+  assert n_gaussians        == 2
+  assert dim                == 3
+  assert supervector_length == 6
+  assert ru                 == 2
+
+  # Saves and loads
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  m.save(bob.io.base.HDF5File(filename, 'w'))
+  m_loaded = ISVBase(bob.io.base.HDF5File(filename))
+  m_loaded.ubm = ubm
+  assert m == m_loaded
+  assert (m != m_loaded) is False
+  assert m.is_similar_to(m_loaded)
+
+  # Copy constructor
+  mc = ISVBase(m)
+  assert m == mc
+
+  # Variant
+  #mv = ISVBase()
+  # Checks for correctness
+  #mv.ubm = ubm
+  #mv.resize(2)
+  #mv.u = U
+  #mv.d = d
+  #assert (m.u == U).all()
+  #assert (m.d == d).all()
+  #ssert m.dim_c == 2
+  #assert m.dim_d == 3
+  #assert m.dim_cd == 6
+  #assert m.dim_ru == 2
+
+  # Clean-up
+  os.unlink(filename)
+
+def test_JFAMachine():
+
+  # Creates a UBM
+  weights   = numpy.array([0.4, 0.6], 'float64')
+  means     = numpy.array([[1, 6, 2], [4, 3, 2]], 'float64')
+  variances = numpy.array([[1, 2, 1], [2, 1, 2]], 'float64')
+  ubm           = GMMMachine(2,3)
+  ubm.weights   = weights
+  ubm.means     = means
+  ubm.variances = variances
+
+  # Creates a JFABase
+  U = numpy.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]], 'float64')
+  V = numpy.array([[6, 5], [4, 3], [2, 1], [1, 2], [3, 4], [5, 6]], 'float64')
+  d = numpy.array([0, 1, 0, 1, 0, 1], 'float64')
+  base = JFABase(ubm,2,2)
+  base.u = U
+  base.v = V
+  base.d = d
+
+  # Creates a JFAMachine
+  y = numpy.array([1,2], 'float64')
+  z = numpy.array([3,4,1,2,0,1], 'float64')
+  m = JFAMachine(base)
+  m.y = y
+  m.z = z
+  n_gaussians,dim,ru,rv = m.shape
+  supervector_length    = m.supervector_length  
+  
+  assert n_gaussians        == 2
+  assert dim                == 3
+  assert supervector_length == 6
+  assert ru                 == 2
+  assert rv                 == 2
+  assert (m.y == y).all()
+  assert (m.z == z).all()
+
+  # Saves and loads
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  m.save(bob.io.base.HDF5File(filename, 'w'))
+  m_loaded = JFAMachine(bob.io.base.HDF5File(filename))
+  m_loaded.jfa_base = base
+  assert m == m_loaded
+  assert (m != m_loaded) is False
+  assert m.is_similar_to(m_loaded)
+
+  # Copy constructor
+  mc = JFAMachine(m)
+  assert m == mc
+
+  # Variant
+  #mv = JFAMachine()
+  # Checks for correctness
+  #mv.jfa_base = base
+  #m.y = y
+  #m.z = z
+  #assert m.dim_c == 2
+  #assert m.dim_d == 3
+  #assert m.dim_cd == 6
+  #assert m.dim_ru == 2
+  #assert m.dim_rv == 2
+  #assert (m.y == y).all()
+  #assert (m.z == z).all()
+
+  # Defines GMMStats
+  gs = GMMStats(2,3)
+  log_likelihood = -3.
+  T = 1
+  n = numpy.array([0.4, 0.6], 'float64')
+  sumpx = numpy.array([[1., 2., 3.], [4., 5., 6.]], 'float64')
+  sumpxx = numpy.array([[10., 20., 30.], [40., 50., 60.]], 'float64')
+  gs.log_likelihood = log_likelihood
+  gs.t = T
+  gs.n = n
+  gs.sum_px = sumpx
+  gs.sum_pxx = sumpxx
+
+  # Forward GMMStats and check estimated value of the x speaker factor
+  eps = 1e-10
+  x_ref = numpy.array([0.291042849767692, 0.310273618998444], 'float64')
+  score_ref = -2.111577181208289
+  score = m(gs)
+  assert numpy.allclose(m.x, x_ref, eps)
+  assert abs(score_ref-score) < eps
+
+  # x and Ux
+  x = numpy.ndarray((2,), numpy.float64)
+  m.estimate_x(gs, x)
+  n_gaussians, dim,_,_ = m.shape
+  x_py = estimate_x(n_gaussians, dim, ubm.mean_supervector, ubm.variance_supervector, U, n, sumpx)
+  assert numpy.allclose(x, x_py, eps)
+
+  ux = numpy.ndarray((6,), numpy.float64)
+  m.estimate_ux(gs, ux)
+  n_gaussians, dim,_,_ = m.shape  
+  ux_py = estimate_ux(n_gaussians, dim, ubm.mean_supervector, ubm.variance_supervector, U, n, sumpx)
+  assert numpy.allclose(ux, ux_py, eps)
+  assert numpy.allclose(m.x, x, eps)
+
+  score = m.forward_ux(gs, ux)
+
+  assert abs(score_ref-score) < eps
+
+  # Clean-up
+  os.unlink(filename)
+
+def test_ISVMachine():
+
+  # Creates a UBM
+  weights = numpy.array([0.4, 0.6], 'float64')
+  means = numpy.array([[1, 6, 2], [4, 3, 2]], 'float64')
+  variances = numpy.array([[1, 2, 1], [2, 1, 2]], 'float64')
+  ubm = GMMMachine(2,3)
+  ubm.weights = weights
+  ubm.means = means
+  ubm.variances = variances
+
+  # Creates a ISVBaseMachine
+  U = numpy.array([[1, 2], [3, 4], [5, 6], [7, 8], [9, 10], [11, 12]], 'float64')
+  #V = numpy.array([[0], [0], [0], [0], [0], [0]], 'float64')
+  d = numpy.array([0, 1, 0, 1, 0, 1], 'float64')
+  base = ISVBase(ubm,2)
+  base.u = U
+  #base.v = V
+  base.d = d
+
+  # Creates a JFAMachine
+  z = numpy.array([3,4,1,2,0,1], 'float64')
+  m = ISVMachine(base)
+  m.z = z
+  
+  n_gaussians,dim,ru    = m.shape
+  supervector_length    = m.supervector_length  
+  assert n_gaussians          == 2
+  assert dim                  == 3
+  assert supervector_length   == 6
+  assert ru                   == 2
+  assert (m.z == z).all()
+
+  # Saves and loads
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  m.save(bob.io.base.HDF5File(filename, 'w'))
+  m_loaded = ISVMachine(bob.io.base.HDF5File(filename))
+  m_loaded.isv_base = base
+  assert m == m_loaded
+  assert (m != m_loaded) is False
+  assert m.is_similar_to(m_loaded)
+
+  # Copy constructor
+  mc = ISVMachine(m)
+  assert m == mc
+
+  # Variant
+  mv = ISVMachine(base)
+  # Checks for correctness
+  #mv.isv_base = base
+  m.z = z
+
+  n_gaussians,dim,ru    = m.shape
+  supervector_length    = m.supervector_length  
+  assert n_gaussians        == 2
+  assert dim                == 3
+  assert supervector_length == 6
+  assert ru                 == 2
+  assert (m.z == z).all()
+
+  # Defines GMMStats
+  gs = GMMStats(2,3)
+  log_likelihood = -3.
+  T = 1
+  n = numpy.array([0.4, 0.6], 'float64')
+  sumpx = numpy.array([[1., 2., 3.], [4., 5., 6.]], 'float64')
+  sumpxx = numpy.array([[10., 20., 30.], [40., 50., 60.]], 'float64')
+  gs.log_likelihood = log_likelihood
+  gs.t = T
+  gs.n = n
+  gs.sum_px = sumpx
+  gs.sum_pxx = sumpxx
+
+  # Forward GMMStats and check estimated value of the x speaker factor
+  eps = 1e-10
+  x_ref = numpy.array([0.291042849767692, 0.310273618998444], 'float64')
+  score_ref = -3.280498193082100
+
+  score = m(gs)
+  assert numpy.allclose(m.x, x_ref, eps)  
+  assert abs(score_ref-score) < eps
+
+  # Check using alternate forward() method
+  supervector_length = m.supervector_length
+  Ux = numpy.ndarray(shape=(supervector_length,), dtype=numpy.float64)
+  m.estimate_ux(gs, Ux)
+  score = m.forward_ux(gs, Ux)
+  assert abs(score_ref-score) < eps
+
+  # x and Ux
+  x = numpy.ndarray((2,), numpy.float64)
+  m.estimate_x(gs, x)
+  n_gaussians,dim,_    = m.shape  
+  x_py = estimate_x(n_gaussians, dim, ubm.mean_supervector, ubm.variance_supervector, U, n, sumpx)
+  assert numpy.allclose(x, x_py, eps)
+
+  ux = numpy.ndarray((6,), numpy.float64)
+  m.estimate_ux(gs, ux)
+  n_gaussians,dim,_    = m.shape  
+  ux_py = estimate_ux(n_gaussians, dim, ubm.mean_supervector, ubm.variance_supervector, U, n, sumpx)
+  assert numpy.allclose(ux, ux_py, eps)
+  assert numpy.allclose(m.x, x, eps)
+
+  score = m.forward_ux(gs, ux)
+  assert abs(score_ref-score) < eps
+
+  # Clean-up
+  os.unlink(filename)
diff --git a/bob/learn/em/test/test_jfa_trainer.py b/bob/learn/em/test/test_jfa_trainer.py
new file mode 100644
index 0000000..044bbe5
--- /dev/null
+++ b/bob/learn/em/test/test_jfa_trainer.py
@@ -0,0 +1,316 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Tue Jul 19 12:16:17 2011 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Test JFA trainer package
+"""
+
+import numpy
+import numpy.linalg
+
+import bob.core.random
+
+from bob.learn.em import GMMStats, GMMMachine, JFABase, JFAMachine, ISVBase, ISVMachine, JFATrainer, ISVTrainer
+
+
+def equals(x, y, epsilon):
+  return (abs(x - y) < epsilon).all()
+
+# Define Training set and initial values for tests
+F1 = numpy.array( [0.3833, 0.4516, 0.6173, 0.2277, 0.5755, 0.8044, 0.5301,
+  0.9861, 0.2751, 0.0300, 0.2486, 0.5357]).reshape((6,2))
+F2 = numpy.array( [0.0871, 0.6838, 0.8021, 0.7837, 0.9891, 0.5341, 0.0669,
+  0.8854, 0.9394, 0.8990, 0.0182, 0.6259]).reshape((6,2))
+F=[F1, F2]
+
+N1 = numpy.array([0.1379, 0.1821, 0.2178, 0.0418]).reshape((2,2))
+N2 = numpy.array([0.1069, 0.9397, 0.6164, 0.3545]).reshape((2,2))
+N=[N1, N2]
+
+gs11 = GMMStats(2,3)
+gs11.n = N1[:,0]
+gs11.sum_px = F1[:,0].reshape(2,3)
+gs12 = GMMStats(2,3)
+gs12.n = N1[:,1]
+gs12.sum_px = F1[:,1].reshape(2,3)
+
+gs21 = GMMStats(2,3)
+gs21.n = N2[:,0]
+gs21.sum_px = F2[:,0].reshape(2,3)
+gs22 = GMMStats(2,3)
+gs22.n = N2[:,1]
+gs22.sum_px = F2[:,1].reshape(2,3)
+
+TRAINING_STATS = [[gs11, gs12], [gs21, gs22]]
+UBM_MEAN = numpy.array([0.1806, 0.0451, 0.7232, 0.3474, 0.6606, 0.3839])
+UBM_VAR = numpy.array([0.6273, 0.0216, 0.9106, 0.8006, 0.7458, 0.8131])
+M_d = numpy.array([0.4106, 0.9843, 0.9456, 0.6766, 0.9883, 0.7668])
+M_v = numpy.array( [0.3367, 0.4116, 0.6624, 0.6026, 0.2442, 0.7505, 0.2955,
+  0.5835, 0.6802, 0.5518, 0.5278,0.5836]).reshape((6,2))
+M_u = numpy.array( [0.5118, 0.3464, 0.0826, 0.8865, 0.7196, 0.4547, 0.9962,
+  0.4134, 0.3545, 0.2177, 0.9713, 0.1257]).reshape((6,2))
+
+z1 = numpy.array([0.3089, 0.7261, 0.7829, 0.6938, 0.0098, 0.8432])
+z2 = numpy.array([0.9223, 0.7710, 0.0427, 0.3782, 0.7043, 0.7295])
+y1 = numpy.array([0.2243, 0.2691])
+y2 = numpy.array([0.6730, 0.4775])
+x1 = numpy.array([0.9976, 0.8116, 0.1375, 0.3900]).reshape((2,2))
+x2 = numpy.array([0.4857, 0.8944, 0.9274, 0.9175]).reshape((2,2))
+M_z=[z1, z2]
+M_y=[y1, y2]
+M_x=[x1, x2]
+
+
+def test_JFATrainer_updateYandV():
+  # test the JFATrainer for updating Y and V
+
+  v_ref = numpy.array( [0.7228, 0.7892, 0.6475, 0.6080, 0.8631, 0.8416,
+    1.6512, 1.6068, 0.0500, 0.0101, 0.4325, 0.6719]).reshape((6,2))
+
+  y1 = numpy.array([0., 0.])
+  y2 = numpy.array([0., 0.])
+  y3 = numpy.array([0.9630, 1.3868])
+  y4 = numpy.array([0.0426, -0.3721])
+  y=[y1, y2]
+
+  # call the updateY function
+  ubm = GMMMachine(2,3)
+  ubm.mean_supervector = UBM_MEAN
+  ubm.variance_supervector = UBM_VAR
+  m = JFABase(ubm,2,2)
+  t = JFATrainer(10)
+  t.initialize(m, TRAINING_STATS)
+  m.u = M_u
+  m.v = M_v
+  m.d = M_d
+  t.__X__ = M_x
+  t.__Y__ = y
+  t.__Z__ = M_z
+  t.e_step1(m, TRAINING_STATS)
+  t.m_step1(m, TRAINING_STATS)
+
+  # Expected results(JFA cookbook, matlab)
+  assert equals(t.__Y__[0], y3, 2e-4)
+  assert equals(t.__Y__[1], y4, 2e-4)
+  assert equals(m.v, v_ref, 2e-4)
+
+
+def test_JFATrainer_updateXandU():
+  # test the JFATrainer for updating X and U
+
+  u_ref = numpy.array( [0.6729, 0.3408, 0.0544, 1.0653, 0.5399, 1.3035,
+    2.4995, 0.4385, 0.1292, -0.0576, 1.1962, 0.0117]).reshape((6,2))
+
+  x1 = numpy.array([0., 0., 0., 0.]).reshape((2,2))
+  x2 = numpy.array([0., 0., 0., 0.]).reshape((2,2))
+  x3 = numpy.array([0.2143, 1.8275, 3.1979, 0.1227]).reshape((2,2))
+  x4 = numpy.array([-1.3861, 0.2359, 5.3326, -0.7914]).reshape((2,2))
+  x  = [x1, x2]
+
+  # call the updateX function
+  ubm = GMMMachine(2,3)
+  ubm.mean_supervector = UBM_MEAN
+  ubm.variance_supervector = UBM_VAR
+  m = JFABase(ubm,2,2)
+  t = JFATrainer(10)
+  t.initialize(m, TRAINING_STATS)
+  m.u = M_u
+  m.v = M_v
+  m.d = M_d
+  t.__X__ = x
+  t.__Y__ = M_y
+  t.__Z__ = M_z
+  t.e_step2(m, TRAINING_STATS)
+  t.m_step2(m, TRAINING_STATS)
+
+  # Expected results(JFA cookbook, matlab)
+  assert equals(t.__X__[0], x3, 2e-4)
+  assert equals(t.__X__[1], x4, 2e-4)
+  assert equals(m.u, u_ref, 2e-4)
+
+
+def test_JFATrainer_updateZandD():
+  # test the JFATrainer for updating Z and D
+
+  d_ref = numpy.array([0.3110, 1.0138, 0.8297, 1.0382, 0.0095, 0.6320])
+
+  z1 = numpy.array([0., 0., 0., 0., 0., 0.])
+  z2 = numpy.array([0., 0., 0., 0., 0., 0.])
+  z3_ref = numpy.array([0.3256, 1.8633, 0.6480, 0.8085, -0.0432, 0.2885])
+  z4_ref = numpy.array([-0.3324, -0.1474, -0.4404, -0.4529, 0.0484, -0.5848])
+  z=[z1, z2]
+
+  # call the updateZ function
+  ubm = GMMMachine(2,3)
+  ubm.mean_supervector = UBM_MEAN
+  ubm.variance_supervector = UBM_VAR
+  m = JFABase(ubm,2,2)
+  t = JFATrainer(10)
+  t.initialize(m, TRAINING_STATS)
+  m.u = M_u
+  m.v = M_v
+  m.d = M_d
+  t.__X__ = M_x
+  t.__Y__ = M_y
+  t.__Z__ = z
+  t.e_step3(m, TRAINING_STATS)
+  t.m_step3(m, TRAINING_STATS)
+
+  # Expected results(JFA cookbook, matlab)
+  assert equals(t.__Z__[0], z3_ref, 2e-4)
+  assert equals(t.__Z__[1], z4_ref, 2e-4)
+  assert equals(m.d, d_ref, 2e-4)
+
+
+def test_JFATrainAndEnrol():
+  # Train and enrol a JFAMachine
+
+  # Calls the train function
+  ubm = GMMMachine(2,3)
+  ubm.mean_supervector = UBM_MEAN
+  ubm.variance_supervector = UBM_VAR
+  mb = JFABase(ubm, 2, 2)
+  t = JFATrainer(10)
+  t.initialize(mb, TRAINING_STATS)
+  mb.u = M_u
+  mb.v = M_v
+  mb.d = M_d
+  t.train_loop(mb, TRAINING_STATS)
+
+  v_ref = numpy.array([[0.245364911936476, 0.978133261775424], [0.769646805052223, 0.940070736856596], [0.310779202800089, 1.456332053893072],
+        [0.184760934399551, 2.265139705602147], [0.701987784039800, 0.081632150899400], [0.074344030229297, 1.090248340917255]], 'float64')
+  u_ref = numpy.array([[0.049424652628448, 0.060480486336896], [0.178104127464007, 1.884873813495153], [1.204011484266777, 2.281351307871720],
+        [7.278512126426286, -0.390966087173334], [-0.084424326581145, -0.081725474934414], [4.042143689831097, -0.262576386580701]], 'float64')
+  d_ref = numpy.array([9.648467e-18, 2.63720683155e-12, 2.11822157653706e-10, 9.1047243e-17, 1.41163442535567e-10, 3.30581e-19], 'float64')
+
+  eps = 1e-10
+  assert numpy.allclose(mb.v, v_ref, eps)
+  assert numpy.allclose(mb.u, u_ref, eps)
+  assert numpy.allclose(mb.d, d_ref, eps)
+
+  # Calls the enrol function
+  m = JFAMachine(mb)
+
+  Ne = numpy.array([0.1579, 0.9245, 0.1323, 0.2458]).reshape((2,2))
+  Fe = numpy.array([0.1579, 0.1925, 0.3242, 0.1234, 0.2354, 0.2734, 0.2514, 0.5874, 0.3345, 0.2463, 0.4789, 0.5236]).reshape((6,2))
+  gse1 = GMMStats(2,3)
+  gse1.n = Ne[:,0]
+  gse1.sum_px = Fe[:,0].reshape(2,3)
+  gse2 = GMMStats(2,3)
+  gse2.n = Ne[:,1]
+  gse2.sum_px = Fe[:,1].reshape(2,3)
+
+  gse = [gse1, gse2]
+  t.enrol(m, gse, 5)
+
+  y_ref = numpy.array([0.555991469319657, 0.002773650670010], 'float64')
+  z_ref = numpy.array([8.2228e-20, 3.15216909492e-13, -1.48616735364395e-10, 1.0625905e-17, 3.7150503117895e-11, 1.71104e-19], 'float64')
+  assert numpy.allclose(m.y, y_ref, eps)
+  assert numpy.allclose(m.z, z_ref, eps)
+
+
+def test_ISVTrainAndEnrol():
+  # Train and enrol an 'ISVMachine'
+
+  eps = 1e-10
+  d_ref = numpy.array([0.39601136, 0.07348469, 0.47712682, 0.44738127, 0.43179856, 0.45086029], 'float64')
+  u_ref = numpy.array([[0.855125642430777, 0.563104284748032], [-0.325497865404680, 1.923598985291687], [0.511575659503837, 1.964288663083095], [9.330165761678115, 1.073623827995043], [0.511099245664012, 0.278551249248978], [5.065578541930268, 0.509565618051587]], 'float64')
+  z_ref = numpy.array([-0.079315777443826, 0.092702428248543, -0.342488761656616, -0.059922635809136 , 0.133539981073604, 0.213118695516570], 'float64')
+
+  # Calls the train function
+  ubm = GMMMachine(2,3)
+  ubm.mean_supervector = UBM_MEAN
+  ubm.variance_supervector = UBM_VAR
+  mb = ISVBase(ubm,2)
+  t = ISVTrainer(10, 4.)
+  #t.train(mb, TRAINING_STATS)
+  t.initialize(mb, TRAINING_STATS)
+  mb.u = M_u
+  for i in range(10):
+    t.e_step(mb, TRAINING_STATS)
+    t.m_step(mb)
+
+  assert numpy.allclose(mb.d, d_ref, eps)
+  assert numpy.allclose(mb.u, u_ref, eps)
+
+  # Calls the enrol function
+  m = ISVMachine(mb)
+
+  Ne = numpy.array([0.1579, 0.9245, 0.1323, 0.2458]).reshape((2,2))
+  Fe = numpy.array([0.1579, 0.1925, 0.3242, 0.1234, 0.2354, 0.2734, 0.2514, 0.5874, 0.3345, 0.2463, 0.4789, 0.5236]).reshape((6,2))
+  gse1 = GMMStats(2,3)
+  gse1.n = Ne[:,0]
+  gse1.sum_px = Fe[:,0].reshape(2,3)
+  gse2 = GMMStats(2,3)
+  gse2.n = Ne[:,1]
+  gse2.sum_px = Fe[:,1].reshape(2,3)
+
+  gse = [gse1, gse2]
+  t.enrol(m, gse, 5)
+  assert numpy.allclose(m.z, z_ref, eps)
+
+def test_JFATrainInitialize():
+  # Check that the initialization is consistent and using the rng (cf. issue #118)
+
+  eps = 1e-10
+
+  # UBM GMM
+  ubm = GMMMachine(2,3)
+  ubm.mean_supervector = UBM_MEAN
+  ubm.variance_supervector = UBM_VAR
+
+  ## JFA
+  jb = JFABase(ubm, 2, 2)
+  # first round
+  rng = bob.core.random.mt19937(0)
+  jt = JFATrainer(10)
+  jt.rng = rng
+  jt.initialize(jb, TRAINING_STATS)
+  u1 = jb.u
+  v1 = jb.v
+  d1 = jb.d
+
+  # second round
+  rng = bob.core.random.mt19937(0)
+  jt.rng = rng
+  jt.initialize(jb, TRAINING_STATS)
+  u2 = jb.u
+  v2 = jb.v
+  d2 = jb.d
+
+  assert numpy.allclose(u1, u2, eps)
+  assert numpy.allclose(v1, v2, eps)
+  assert numpy.allclose(d1, d2, eps)
+
+def test_ISVTrainInitialize():
+
+  # Check that the initialization is consistent and using the rng (cf. issue #118)
+  eps = 1e-10
+
+  # UBM GMM
+  ubm = GMMMachine(2,3)
+  ubm.mean_supervector = UBM_MEAN
+  ubm.variance_supervector = UBM_VAR
+
+  ## ISV
+  ib = ISVBase(ubm, 2)
+  # first round
+  rng = bob.core.random.mt19937(0)
+  it = ISVTrainer(10)
+  it.rng = rng
+  it.initialize(ib, TRAINING_STATS)
+  u1 = ib.u
+  d1 = ib.d
+
+  # second round
+  rng = bob.core.random.mt19937(0)
+  it.rng = rng
+  it.initialize(ib, TRAINING_STATS)
+  u2 = ib.u
+  d2 = ib.d
+
+  assert numpy.allclose(u1, u2, eps)
+  assert numpy.allclose(d1, d2, eps)
diff --git a/bob/learn/em/test/test_kmeans.py b/bob/learn/em/test/test_kmeans.py
new file mode 100644
index 0000000..be80ba2
--- /dev/null
+++ b/bob/learn/em/test/test_kmeans.py
@@ -0,0 +1,96 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Thu Feb 16 17:57:10 2012 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests the KMeans machine
+"""
+
+import os
+import numpy
+import tempfile
+
+import bob.io.base
+from bob.learn.em import KMeansMachine
+
+def equals(x, y, epsilon):
+  return (abs(x - y) < epsilon)
+
+def test_KMeansMachine():
+  # Test a KMeansMachine
+
+  means = numpy.array([[3, 70, 0], [4, 72, 0]], 'float64')
+  mean  = numpy.array([3,70,1], 'float64')
+
+  # Initializes a KMeansMachine
+  km = KMeansMachine(2,3)
+  km.means = means
+  assert km.shape == (2,3)
+
+  # Sets and gets
+  assert (km.means == means).all()
+  assert (km.get_mean(0) == means[0,:]).all()  
+  assert (km.get_mean(1) == means[1,:]).all()
+  km.set_mean(0, mean)
+  assert (km.get_mean(0) == mean).all()
+
+  # Distance and closest mean
+  eps = 1e-10
+
+  assert equals( km.get_distance_from_mean(mean, 0), 0, eps)
+  assert equals( km.get_distance_from_mean(mean, 1), 6, eps)  
+  
+  (index, dist) = km.get_closest_mean(mean)
+  
+  assert index == 0
+  assert equals( dist, 0, eps)
+  assert equals( km.get_min_distance(mean), 0, eps)
+
+  # Loads and saves
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  km.save(bob.io.base.HDF5File(filename, 'w'))
+  km_loaded = KMeansMachine(bob.io.base.HDF5File(filename))
+  assert km == km_loaded
+
+  # Resize
+  km.resize(4,5)
+  assert km.shape == (4,5)
+
+  # Copy constructor and comparison operators
+  km.resize(2,3)
+  km2 = KMeansMachine(km)
+  assert km2 == km
+  assert (km2 != km) is False
+  assert km2.is_similar_to(km)
+  means2 = numpy.array([[3, 70, 0], [4, 72, 2]], 'float64')
+  km2.means = means2
+  assert (km2 == km) is False
+  assert km2 != km
+  assert (km2.is_similar_to(km)) is False
+
+  # Clean-up
+  os.unlink(filename)
+  
+  
+def test_KMeansMachine2():
+  kmeans             = bob.learn.em.KMeansMachine(2,2)
+  kmeans.means       = numpy.array([[1.2,1.3],[0.2,-0.3]])
+
+  data               = numpy.array([
+                                  [1.,1],
+                                  [1.2, 3],
+                                  [0,0],
+                                  [0.3,0.2],
+                                  [0.2,0]
+                                 ])
+  variances, weights = kmeans.get_variances_and_weights_for_each_cluster(data)
+
+  variances_result = numpy.array([[ 0.01,1.],
+                                  [ 0.01555556, 0.00888889]])
+  weights_result = numpy.array([ 0.4, 0.6])
+  
+  assert equals(weights_result,weights, 1e-3).all()
+  assert equals(variances_result,variances,1e-3).all()
+ 
diff --git a/bob/learn/em/test/test_kmeans_trainer.py b/bob/learn/em/test/test_kmeans_trainer.py
new file mode 100644
index 0000000..b62e992
--- /dev/null
+++ b/bob/learn/em/test/test_kmeans_trainer.py
@@ -0,0 +1,181 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Fri Jan 18 12:46:00 2013 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Test K-Means algorithm
+"""
+import numpy
+
+import bob.core
+import bob.io
+from bob.io.base.test_utils import datafile
+
+from bob.learn.em import KMeansMachine, KMeansTrainer
+
+def equals(x, y, epsilon):
+  return (abs(x - y) < epsilon).all()
+
+def kmeans_plus_plus(machine, data, seed):
+  """Python implementation of K-Means++ (initialization)"""
+  n_data = data.shape[0]
+  rng = bob.core.random.mt19937(seed)
+  u = bob.core.random.uniform('int32', 0, n_data-1)
+  index = u(rng)
+  machine.set_mean(0, data[index,:])
+  weights = numpy.zeros(shape=(n_data,), dtype=numpy.float64)
+
+  for m in range(1,machine.dim_c):
+    for s in range(n_data):
+      s_cur = data[s,:]
+      w_cur = machine.get_distance_from_mean(s_cur, 0)
+      for i in range(m):
+        w_cur = min(machine.get_distance_from_mean(s_cur, i), w_cur)
+      weights[s] = w_cur
+    weights *= weights
+    weights /= numpy.sum(weights)
+    d = bob.core.random.discrete('int32', weights)
+    index = d(rng)
+    machine.set_mean(m, data[index,:])
+
+
+def NormalizeStdArray(path):
+  array = bob.io.base.load(path).astype('float64')
+  std = array.std(axis=0)
+  return (array/std, std)
+
+def multiplyVectorsByFactors(matrix, vector):
+  for i in range(0, matrix.shape[0]):
+    for j in range(0, matrix.shape[1]):
+      matrix[i, j] *= vector[j]
+
+def flipRows(array):
+  if len(array.shape) == 2:
+    return numpy.array([numpy.array(array[1, :]), numpy.array(array[0, :])], 'float64')
+  elif len(array.shape) == 1:
+    return numpy.array([array[1], array[0]], 'float64')
+  else:
+    raise Exception('Input type not supportd by flipRows')
+
+if hasattr(KMeansTrainer, 'KMEANS_PLUS_PLUS'):
+  def test_kmeans_plus_plus():
+
+    # Tests the K-Means++ initialization
+    dim_c = 5
+    dim_d = 7
+    n_samples = 150
+    data = numpy.random.randn(n_samples,dim_d)
+    seed = 0
+
+    # C++ implementation
+    machine = KMeansMachine(dim_c, dim_d)
+    trainer = KMeansTrainer()
+    trainer.rng = bob.core.random.mt19937(seed)
+    trainer.initialization_method = 'KMEANS_PLUS_PLUS'
+    trainer.initialize(machine, data)
+
+    # Python implementation
+    py_machine = KMeansMachine(dim_c, dim_d)
+    kmeans_plus_plus(py_machine, data, seed)
+    assert equals(machine.means, py_machine.means, 1e-8)
+
+def test_kmeans_noduplicate():
+  # Data/dimensions
+  dim_c = 2
+  dim_d = 3
+  seed = 0
+  data = numpy.array([[1,2,3],[1,2,3],[1,2,3],[4,5,6.]])
+  # Defines machine and trainer
+  machine = KMeansMachine(dim_c, dim_d)
+  trainer = KMeansTrainer()
+  trainer.rng = bob.core.random.mt19937(seed)
+  trainer.initialization_method = 'RANDOM_NO_DUPLICATE'
+  trainer.initialize(machine, data)
+  # Makes sure that the two initial mean vectors selected are different
+  assert equals(machine.get_mean(0), machine.get_mean(1), 1e-8) == False
+
+
+def test_kmeans_a():
+
+  # Trains a KMeansMachine
+  # This files contains draws from two 1D Gaussian distributions:
+  #   * 100 samples from N(-10,1)
+  #   * 100 samples from N(10,1)
+  data = bob.io.base.load(datafile("samplesFrom2G_f64.hdf5", __name__, path="../data/"))
+
+  machine = KMeansMachine(2, 1)
+
+  trainer = KMeansTrainer()
+  trainer.train(machine, data)
+
+  [variances, weights] = machine.get_variances_and_weights_for_each_cluster(data)
+  variances_b = numpy.ndarray(shape=(2,1), dtype=numpy.float64)
+  weights_b = numpy.ndarray(shape=(2,), dtype=numpy.float64)
+  machine.__get_variances_and_weights_for_each_cluster_init__(variances_b, weights_b)
+  machine.__get_variances_and_weights_for_each_cluster_acc__(data, variances_b, weights_b)
+  machine.__get_variances_and_weights_for_each_cluster_fin__(variances_b, weights_b)
+  m1 = machine.get_mean(0)
+  m2 = machine.get_mean(1)
+
+  ## Check means [-10,10] / variances [1,1] / weights [0.5,0.5]
+  if(m1<m2): means=numpy.array(([m1[0],m2[0]]), 'float64')
+  else: means=numpy.array(([m2[0],m1[0]]), 'float64')
+  assert equals(means, numpy.array([-10.,10.]), 2e-1)
+  assert equals(variances, numpy.array([1.,1.]), 2e-1)
+  assert equals(weights, numpy.array([0.5,0.5]), 1e-3)
+
+  assert equals(variances, variances_b, 1e-8)
+  assert equals(weights, weights_b, 1e-8)
+
+
+
+def test_kmeans_b():
+
+  # Trains a KMeansMachine
+  (arStd,std) = NormalizeStdArray(datafile("faithful.torch3.hdf5", __name__, path="../data/"))
+
+  machine = KMeansMachine(2, 2)
+
+  trainer = KMeansTrainer()
+  #trainer.seed = 1337
+  trainer.train(machine, arStd)
+
+  [variances, weights] = machine.get_variances_and_weights_for_each_cluster(arStd)
+  means = machine.means
+
+  multiplyVectorsByFactors(means, std)
+  multiplyVectorsByFactors(variances, std ** 2)
+
+  gmmWeights = bob.io.base.load(datafile('gmm.init_weights.hdf5', __name__, path="../data/"))
+  gmmMeans = bob.io.base.load(datafile('gmm.init_means.hdf5', __name__, path="../data/"))
+  gmmVariances = bob.io.base.load(datafile('gmm.init_variances.hdf5', __name__, path="../data/"))
+
+  if (means[0, 0] < means[1, 0]):
+    means = flipRows(means)
+    variances = flipRows(variances)
+    weights = flipRows(weights)
+
+  assert equals(means, gmmMeans, 1e-3)
+  assert equals(weights, gmmWeights, 1e-3)
+  assert equals(variances, gmmVariances, 1e-3)
+  
+  # Check comparison operators
+  trainer1 = KMeansTrainer()
+  trainer2 = KMeansTrainer()
+  #trainer1.rng = trainer2.rng
+
+  #assert trainer1 == trainer2
+  #assert (trainer1 != trainer2) is False
+  trainer1.max_iterations = 1337
+  #assert (trainer1 == trainer2) is False
+  #assert trainer1 != trainer2
+
+  # Check that there is no duplicate means during initialization
+  machine = KMeansMachine(2, 1)
+  trainer = KMeansTrainer()
+  trainer.initialization_method = 'RANDOM_NO_DUPLICATE'
+  data = numpy.array([[1.], [1.], [1.], [1.], [1.], [1.], [2.], [3.]])
+  trainer.train(machine, data)
+  assert (numpy.isnan(machine.means).any()) == False
\ No newline at end of file
diff --git a/bob/learn/em/test/test_linearscoring.py b/bob/learn/em/test/test_linearscoring.py
new file mode 100644
index 0000000..9958e20
--- /dev/null
+++ b/bob/learn/em/test/test_linearscoring.py
@@ -0,0 +1,128 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Francois Moulin <Francois.Moulin@idiap.ch>
+# Wed Jul 13 16:00:04 2011 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests on the LinearScoring function
+"""
+
+import numpy
+
+from bob.learn.em import GMMMachine, GMMStats, linear_scoring
+
+def test_LinearScoring():
+
+  ubm = GMMMachine(2, 2)
+  ubm.weights   = numpy.array([0.5, 0.5], 'float64')
+  ubm.means     = numpy.array([[3, 70], [4, 72]], 'float64')
+  ubm.variances = numpy.array([[1, 10], [2, 5]], 'float64')
+  ubm.variance_thresholds = numpy.array([[0, 0], [0, 0]], 'float64')
+
+  model1 = GMMMachine(2, 2)
+  model1.weights   = numpy.array([0.5, 0.5], 'float64')
+  model1.means     = numpy.array([[1, 2], [3, 4]], 'float64')
+  model1.variances = numpy.array([[9, 10], [11, 12]], 'float64')
+  model1.variance_thresholds = numpy.array([[0, 0], [0, 0]], 'float64')
+
+  model2 = GMMMachine(2, 2)
+  model2.weights   = numpy.array([0.5, 0.5], 'float64')
+  model2.means     = numpy.array([[5, 6], [7, 8]], 'float64')
+  model2.variances = numpy.array([[13, 14], [15, 16]], 'float64')
+  model2.variance_thresholds = numpy.array([[0, 0], [0, 0]], 'float64')
+
+  stats1 = GMMStats(2, 2)
+  stats1.sum_px = numpy.array([[1, 2], [3, 4]], 'float64')
+  stats1.n = numpy.array([1, 2], 'float64')
+  stats1.t = 1+2
+
+  stats2 = GMMStats(2, 2)
+  stats2.sum_px = numpy.array([[5, 6], [7, 8]], 'float64')
+  stats2.n = numpy.array([3, 4], 'float64')
+  stats2.t = 3+4
+
+  stats3 = GMMStats(2, 2)
+  stats3.sum_px = numpy.array([[5, 6], [7, 3]], 'float64')
+  stats3.n = numpy.array([3, 4], 'float64')
+  stats3.t = 3+4
+
+  test_channeloffset = [numpy.array([9, 8, 7, 6], 'float64'), numpy.array([5, 4, 3, 2], 'float64'), numpy.array([1, 0, 1, 2], 'float64')]
+
+  # Reference scores (from Idiap internal matlab implementation)
+  ref_scores_00 = numpy.array([[2372.9, 5207.7, 5275.7], [2215.7, 4868.1, 4932.1]], 'float64')
+  ref_scores_01 = numpy.array( [[790.9666666666667, 743.9571428571428, 753.6714285714285], [738.5666666666667, 695.4428571428572, 704.5857142857144]], 'float64')
+  ref_scores_10 = numpy.array([[2615.5, 5434.1, 5392.5], [2381.5, 4999.3, 5022.5]], 'float64')
+  ref_scores_11 = numpy.array([[871.8333333333332, 776.3000000000001, 770.3571428571427], [793.8333333333333, 714.1857142857143, 717.5000000000000]], 'float64')
+
+
+  # 1/ Use GMMMachines
+  # 1/a/ Without test_channelOffset, without frame-length normalisation
+  scores = linear_scoring([model1, model2], ubm, [stats1, stats2, stats3])
+  assert (abs(scores - ref_scores_00) < 1e-7).all()
+
+  # 1/b/ Without test_channelOffset, with frame-length normalisation
+  scores = linear_scoring([model1, model2], ubm, [stats1, stats2, stats3], [], True)
+  assert (abs(scores - ref_scores_01) < 1e-7).all()
+  #scores = linear_scoring([model1, model2], ubm, [stats1, stats2, stats3], (), True)
+  #assert (abs(scores - ref_scores_01) < 1e-7).all()
+  #scores = linear_scoring([model1, model2], ubm, [stats1, stats2, stats3], None, True)
+  #assert (abs(scores - ref_scores_01) < 1e-7).all()
+
+  # 1/c/ With test_channelOffset, without frame-length normalisation
+  scores = linear_scoring([model1, model2], ubm, [stats1, stats2, stats3], test_channeloffset)
+  assert (abs(scores - ref_scores_10) < 1e-7).all()
+
+  # 1/d/ With test_channelOffset, with frame-length normalisation
+  scores = linear_scoring([model1, model2], ubm, [stats1, stats2, stats3], test_channeloffset, True)
+  assert (abs(scores - ref_scores_11) < 1e-7).all()
+
+
+  # 2/ Use mean/variance supervectors
+  # 2/a/ Without test_channelOffset, without frame-length normalisation
+  scores = linear_scoring([model1.mean_supervector, model2.mean_supervector], ubm.mean_supervector, ubm.variance_supervector, [stats1, stats2, stats3])
+  assert (abs(scores - ref_scores_00) < 1e-7).all()
+
+  # 2/b/ Without test_channelOffset, with frame-length normalisation
+  scores = linear_scoring([model1.mean_supervector, model2.mean_supervector], ubm.mean_supervector, ubm.variance_supervector, [stats1, stats2, stats3], [], True)
+  assert (abs(scores - ref_scores_01) < 1e-7).all()
+
+  # 2/c/ With test_channelOffset, without frame-length normalisation
+  scores = linear_scoring([model1.mean_supervector, model2.mean_supervector], ubm.mean_supervector, ubm.variance_supervector, [stats1, stats2, stats3], test_channeloffset)
+  assert (abs(scores - ref_scores_10) < 1e-7).all()
+
+  # 2/d/ With test_channelOffset, with frame-length normalisation
+  scores = linear_scoring([model1.mean_supervector, model2.mean_supervector], ubm.mean_supervector, ubm.variance_supervector, [stats1, stats2, stats3], test_channeloffset, True)
+  assert (abs(scores - ref_scores_11) < 1e-7).all()
+
+
+  # 3/ Using single model/sample
+  # 3/a/ without frame-length normalisation
+  score = linear_scoring(model1.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats1, test_channeloffset[0])
+  assert abs(score - ref_scores_10[0,0]) < 1e-7
+  score = linear_scoring(model1.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats2, test_channeloffset[1])
+  assert abs(score - ref_scores_10[0,1]) < 1e-7
+  score = linear_scoring(model1.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats3, test_channeloffset[2])
+  assert abs(score - ref_scores_10[0,2]) < 1e-7
+  score = linear_scoring(model2.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats1, test_channeloffset[0])
+  assert abs(score - ref_scores_10[1,0]) < 1e-7
+  score = linear_scoring(model2.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats2, test_channeloffset[1])
+  assert abs(score - ref_scores_10[1,1]) < 1e-7
+  score = linear_scoring(model2.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats3, test_channeloffset[2])
+  assert abs(score - ref_scores_10[1,2]) < 1e-7
+
+
+  # 3/b/ without frame-length normalisation
+  score = linear_scoring(model1.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats1, test_channeloffset[0], True)
+  assert abs(score - ref_scores_11[0,0]) < 1e-7
+  score = linear_scoring(model1.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats2, test_channeloffset[1], True)
+  assert abs(score - ref_scores_11[0,1]) < 1e-7
+  score = linear_scoring(model1.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats3, test_channeloffset[2], True)
+  assert abs(score - ref_scores_11[0,2]) < 1e-7
+  score = linear_scoring(model2.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats1, test_channeloffset[0], True)
+  assert abs(score - ref_scores_11[1,0]) < 1e-7
+  score = linear_scoring(model2.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats2, test_channeloffset[1], True)
+  assert abs(score - ref_scores_11[1,1]) < 1e-7
+  score = linear_scoring(model2.mean_supervector, ubm.mean_supervector, ubm.variance_supervector, stats3, test_channeloffset[2], True)
+  assert abs(score - ref_scores_11[1,2]) < 1e-7
+
diff --git a/bob/learn/em/test/test_plda.py b/bob/learn/em/test/test_plda.py
new file mode 100644
index 0000000..062857e
--- /dev/null
+++ b/bob/learn/em/test/test_plda.py
@@ -0,0 +1,565 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Sat Oct 22 23:01:09 2011 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests PLDA machine
+"""
+
+import numpy
+import os
+import tempfile
+import nose.tools
+import math
+
+import bob.io.base
+
+from bob.learn.em import PLDABase, PLDAMachine
+
+# Defines common variables globally
+# Dimensionalities
+C_dim_d = 7
+C_dim_f = 2
+C_dim_g = 3
+# Values for F and G
+C_G=numpy.array([-1.1424, -0.5044, -0.1917,
+      -0.6249,  0.1021, -0.8658,
+      -1.1687,  1.1963,  0.1807,
+      0.3926,  0.1203,  1.2665,
+      1.3018, -1.0368, -0.2512,
+      -0.5936, -0.8571, -0.2046,
+      0.4364, -0.1699, -2.2015], 'float64').reshape(C_dim_d, C_dim_g)
+# F <-> PCA on G
+C_F=numpy.array([-0.054222647972093, -0.000000000783146,
+      0.596449127693018,  0.000000006265167,
+      0.298224563846509,  0.000000003132583,
+      0.447336845769764,  0.000000009397750,
+      -0.108445295944185, -0.000000001566292,
+      -0.501559493741856, -0.000000006265167,
+      -0.298224563846509, -0.000000003132583], 'float64').reshape(C_dim_d, C_dim_f)
+
+def equals(x, y, epsilon):
+  return (abs(x - y) < epsilon).all()
+
+def compute_i_sigma(sigma):
+  # Inverse of a diagonal matrix (represented by a 1D numpy array)
+  return (1. / sigma)
+
+def compute_alpha(G, sigma):
+  # alpha = (Id + G^T.sigma^-1.G)^-1 = \mathcal{G}
+  dim_g = G.shape[1]
+  isigma = numpy.diag(compute_i_sigma(sigma))
+  return numpy.linalg.inv(numpy.eye(dim_g) + numpy.dot(numpy.dot(G.transpose(), isigma), G))
+
+def compute_beta(G, sigma):
+  # beta = (sigma + G.G^T)^-1 = sigma^-1 - sigma^-1.G.alpha.G^T.sigma^-1 = \mathcal{S}
+  isigma = numpy.diag(compute_i_sigma(sigma))
+  gt_isigma = numpy.dot(G.transpose(), isigma)
+  alpha = compute_alpha(G, sigma)
+  return (isigma - numpy.dot(numpy.dot(gt_isigma.transpose(), alpha), gt_isigma))
+
+def compute_gamma(F, G, sigma, a):
+  # gamma_a = (Id + a.F^T.beta.F)^-1 = \mathcal{F}_{a}
+  dim_f = F.shape[1]
+  beta = compute_beta(G, sigma)
+  return numpy.linalg.inv(numpy.eye(dim_f) + a * numpy.dot(numpy.dot(F.transpose(), beta), F))
+
+def compute_ft_beta(F, G, sigma):
+  # F^T.beta = F^T.\mathcal{S}
+  beta = compute_beta(G, sigma)
+  return numpy.dot(numpy.transpose(F), beta)
+
+def compute_gt_i_sigma(G, sigma):
+  # G^T.sigma^-1
+  isigma = compute_i_sigma(sigma)
+  return numpy.transpose(G) * isigma
+
+def compute_logdet_alpha(G, sigma):
+  # \log(\det(\alpha)) = \log(\det(\mathcal{G}))
+  alpha = compute_alpha(G, sigma)
+  return math.log(numpy.linalg.det(alpha))
+
+def compute_logdet_sigma(sigma):
+  # \log(\det(\sigma)) = \log(\det(\sigma)) = \log(\prod(\sigma_{i}))
+  return math.log(numpy.prod(sigma))
+
+def compute_loglike_constterm(F, G, sigma, a):
+  # loglike_constterm[a] = a/2 * ( -D*\log(2*pi) -\log|\sigma| +\log|\alpha| +\log|\gamma_a|)
+  gamma_a = compute_gamma(F, G, sigma, a)
+  logdet_gamma_a = math.log(abs(numpy.linalg.det(gamma_a)))
+  ah = a/2.
+  dim_d =  F.shape[0]
+  logdet_sigma = compute_logdet_sigma(sigma)
+  logdet_alpha = compute_logdet_alpha(G, sigma)
+  res = -ah*dim_d*math.log(2*math.pi) - ah*logdet_sigma + ah*logdet_alpha + logdet_gamma_a/2.
+  return res;
+
+def compute_log_likelihood_point_estimate(observation, mu, F, G, sigma, hi, wij):
+  """
+  This function computes p(x_{ij} | h_{i}, w_{ij}, \Theta), which is given by
+  N_{x}[\mu + Fh_{i} + Gw_{ij} + epsilon_{ij}, \Sigma], N_{x} being a
+  Gaussian distribution. As it returns the corresponding log likelihood,
+  this is given by the sum of the following three terms:
+  C1 = -dim_d/2 log(2pi)
+  C2 = -1/2 log(det(\Sigma))
+  C3 = -1/2 (x_{ij}-\mu-Fh_{i}-Gw_{ij})^{T}\Sigma^{-1}(x_{ij}-\mu-Fh_{i}-Gw_{ij})
+  """
+
+  ### Pre-computes some of the constants
+  dim_d          = observation.shape[0]             # A scalar
+  log_2pi        = numpy.log(2. * numpy.pi)        # A scalar
+  C1             = -(dim_d / 2.) * log_2pi         # A scalar
+  C2             = -(1. / 2.) * numpy.sum( numpy.log(sigma) ) # (dim_d, 1)
+
+  ### Subtract the identity and session components from the observed vector.
+  session_plus_identity  = numpy.dot(F, hi) + numpy.dot(G, wij)
+  normalised_observation = numpy.reshape(observation - mu - session_plus_identity, (dim_d,1))
+  ### Now calculate C3
+  sigma_inverse  = numpy.reshape(1. / sigma, (dim_d,1))                      # (dim_d, 1)
+  C3             = -(1. / 2.) * numpy.sum(normalised_observation * sigma_inverse * normalised_observation)
+
+  ### Returns the log likelihood
+  log_likelihood     = C1 + C2 + C3
+  return (log_likelihood)
+
+
+def compute_log_likelihood(observations, mu, F, G, sigma):
+  """
+  This function computes the log-likelihood of the observations given the parameters
+  of the PLDA model. This is done by fulling integrating out the latent variables.
+  """
+  # Work out the number of samples that we have and normalise the data.
+  J_i                = observations.shape[0];                  # An integer > 0
+  norm_observations  = observations - numpy.tile(mu, [J_i,1]);        # (J_i, D_x)
+
+  # There are three terms that need to be computed: C1, C2 and C3
+
+  # 1. Computes C1
+  # C1 = - J_{i} * dim_d/2 log(2*pi)
+  dim_d          = observations.shape[1]             # A scalar
+  dim_f          = F.shape[1]
+  log_2pi        = numpy.log(2. * numpy.pi);        # A scalar
+  C1             = - J_i * (dim_d / 2.) * log_2pi;         # A scalar
+
+  # 2. Computes C2
+  # C2 = - J_i/2 * [log(det(sigma)) - log(det(alpha^-1))] + log(det(gamma_{J_i}))/2
+  ld_sigma = compute_logdet_sigma(sigma)
+  ld_alpha = compute_logdet_alpha(G, sigma)
+  gamma = compute_gamma(F, G, sigma, J_i)
+  ld_gamma = math.log(numpy.linalg.det(gamma))
+  C2 = - J_i/2.*(ld_sigma - ld_alpha)  + ld_gamma/2.
+
+  # 3. Computes C3
+  # This is a quadratic part and consists of
+  # C3   = -0.5 * sum x^T beta x + 0.5 * Quadratic term in x
+  # C3   = -0.5 * (C3a - C3b)
+  C3a                  = 0.0;
+  C3b_sum_part         = numpy.zeros((dim_f,1));
+  isigma               = numpy.diag(compute_i_sigma(sigma))
+  beta                 = compute_beta(G, sigma)
+  ft_beta              = numpy.dot(numpy.transpose(F), beta)
+  for j in range(0, J_i):
+    ### Calculations for C3a
+    current_vector           = numpy.reshape(norm_observations[j,:], (dim_d,1));  # (D_x, 1)
+    vector_E                 = numpy.dot(beta, current_vector);                   # (D_x, 1)
+    current_result           = numpy.dot(current_vector.transpose(), vector_E);   # A floating point value
+    C3a                      = C3a + current_result[0][0];                        # A floating point value
+    ### Calculations for C3b
+    C3b_sum_part             = C3b_sum_part + numpy.dot(ft_beta, current_vector);  # (nf, 1)
+
+  ### Final calculations for C3b, using the matrix gamma_{J_i}
+  C3b                        = numpy.dot(numpy.dot(C3b_sum_part.transpose(), gamma), C3b_sum_part);
+  C3                         = -0.5 * (C3a - C3b[0][0]);
+
+  return C1 + C2 + C3
+
+
+def test_plda_basemachine():
+  # Data used for performing the tests
+  sigma = numpy.ndarray(C_dim_d, 'float64')
+  sigma.fill(0.01)
+  mu = numpy.ndarray(C_dim_d, 'float64')
+  mu.fill(0)
+
+  # Defines reference results based on matlab
+  alpha_ref = numpy.array([ 0.002189051545735,  0.001127099941432,
+    -0.000145483208153, 0.001127099941432,  0.003549267943741,
+    -0.000552001405453, -0.000145483208153, -0.000552001405453,
+    0.001440505362615], 'float64').reshape(C_dim_g, C_dim_g)
+  beta_ref  = numpy.array([ 50.587191765140361, -14.512478352504877,
+    -0.294799164567830,  13.382002504394316,  9.202063877660278,
+    -43.182264846086497,  11.932345916716455, -14.512478352504878,
+    82.320149045633045, -12.605578822979698,  19.618675892079366,
+    13.033691341150439,  -8.004874490989799, -21.547363307109187,
+    -0.294799164567832, -12.605578822979696,  52.123885798398241,
+    4.363739008635009, 44.847177605628545,  16.438137537463710,
+    5.137421840557050, 13.382002504394316,  19.618675892079366,
+    4.363739008635011,  75.070401560513488, -4.515472972526140,
+    9.752862741017488,  34.196127678931106, 9.202063877660285,
+    13.033691341150439,  44.847177605628552,  -4.515472972526142,
+    56.189416227691098,  -7.536676357632515, -10.555735414707383,
+    -43.182264846086497,  -8.004874490989799,  16.438137537463703,
+    9.752862741017490, -7.536676357632518,  56.430571485722126,
+    9.471758169835317, 11.932345916716461, -21.547363307109187,
+    5.137421840557051,  34.196127678931099, -10.555735414707385,
+    9.471758169835320,  27.996266602110637], 'float64').reshape(C_dim_d, C_dim_d)
+  gamma3_ref = numpy.array([ 0.005318799462241, -0.000000012993151,
+    -0.000000012993151,  0.999999999999996], 'float64').reshape(C_dim_f, C_dim_f)
+
+  # Constructor tests
+  #m = PLDABase()
+  #assert m.dim_d == 0
+  #assert m.dim_f == 0
+  #assert m.dim_g == 0
+  #del m
+  m = PLDABase(C_dim_d, C_dim_f, C_dim_g)
+  assert m.shape[0] == C_dim_d
+  assert m.shape[1] == C_dim_f
+  assert m.shape[2] == C_dim_g
+  assert abs(m.variance_threshold - 0.) < 1e-10
+  del m
+  m = PLDABase(C_dim_d, C_dim_f, C_dim_g, 1e-2)
+  assert m.shape[0] == C_dim_d
+  assert m.shape[1] == C_dim_f
+  assert m.shape[2] == C_dim_g
+  assert abs(m.variance_threshold - 1e-2) < 1e-10
+  del m
+
+  # Defines base machine
+  m = PLDABase(C_dim_d, C_dim_f, C_dim_g)
+  #m.resize(C_dim_d, C_dim_f, C_dim_g)
+  # Sets the current mu, F, G and sigma
+  m.mu = mu
+  m.f = C_F
+  m.g = C_G
+  m.sigma = sigma
+  gamma3 = m.get_add_gamma(3).copy()
+  constTerm3 = m.get_add_log_like_const_term(3)
+
+  # Compares precomputed values to matlab reference
+  for ii in range(m.__alpha__.shape[0]):
+    for jj in range(m.__alpha__.shape[1]):
+      absdiff = abs(m.__alpha__[ii,jj]- alpha_ref[ii,jj])
+      assert absdiff < 1e-10, 'PLDABase alpha matrix does not match reference at (%d,%d) to 10^-10: |%g-%g| = %g' % (ii, jj, m.__alpha__[ii,jj], alpha_ref[ii,jj], absdiff)
+  assert equals(m.__alpha__, alpha_ref, 1e-10)
+  assert equals(m.__beta__, beta_ref, 1e-10)
+  assert equals(gamma3, gamma3_ref, 1e-10)
+
+  # Compares precomputed values to the ones returned by python implementation
+  assert equals(m.__isigma__, compute_i_sigma(sigma), 1e-10)
+  assert equals(m.__alpha__, compute_alpha(C_G,sigma), 1e-10)
+  assert equals(m.__beta__, compute_beta(C_G,sigma), 1e-10)
+  assert equals(m.get_add_gamma(3), compute_gamma(C_F,C_G,sigma,3), 1e-10)
+  assert m.has_gamma(3)
+  assert equals(m.get_gamma(3), compute_gamma(C_F,C_G,sigma,3), 1e-10)
+  assert equals(m.__ft_beta__, compute_ft_beta(C_F,C_G,sigma), 1e-10)
+  assert equals(m.__gt_i_sigma__, compute_gt_i_sigma(C_G,sigma), 1e-10)
+  assert math.fabs(m.__logdet_alpha__ - compute_logdet_alpha(C_G,sigma)) < 1e-10
+  assert math.fabs(m.__logdet_sigma__ - compute_logdet_sigma(sigma)) < 1e-10
+  assert abs(m.get_add_log_like_const_term(3) - compute_loglike_constterm(C_F,C_G,sigma,3)) < 1e-10
+  assert m.has_log_like_const_term(3)
+  assert abs(m.get_log_like_const_term(3) - compute_loglike_constterm(C_F,C_G,sigma,3)) < 1e-10
+
+  # Defines base machine
+  del m
+  m = PLDABase(C_dim_d, C_dim_f, C_dim_g)
+  # Sets the current mu, F, G and sigma
+  m.mu = mu
+  m.f = C_F
+  m.g = C_G
+  m.sigma = sigma
+  gamma3 = m.get_add_gamma(3).copy()
+  constTerm3 = m.get_add_log_like_const_term(3)
+
+  # Compares precomputed values to matlab reference
+  assert equals(m.__alpha__, alpha_ref, 1e-10)
+  assert equals(m.__beta__, beta_ref, 1e-10)
+  assert equals(gamma3, gamma3_ref, 1e-10)
+
+  # values before being saved
+  isigma = m.__isigma__.copy()
+  alpha = m.__alpha__.copy()
+  beta = m.__beta__.copy()
+  FtBeta = m.__ft_beta__.copy()
+  GtISigma = m.__gt_i_sigma__.copy()
+  logdetAlpha = m.__logdet_alpha__
+  logdetSigma = m.__logdet_sigma__
+
+  # Saves to file, loads and compares to original
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  m.save(bob.io.base.HDF5File(filename, 'w'))
+  m_loaded = PLDABase(bob.io.base.HDF5File(filename))
+
+  # Compares the values loaded with the former ones
+  assert m_loaded == m
+  assert (m_loaded != m) is False
+  assert equals(m_loaded.mu, mu, 1e-10)
+  assert equals(m_loaded.f, C_F, 1e-10)
+  assert equals(m_loaded.g, C_G, 1e-10)
+  assert equals(m_loaded.sigma, sigma, 1e-10)
+  assert equals(m_loaded.__isigma__, isigma, 1e-10)
+  assert equals(m_loaded.__alpha__, alpha, 1e-10)
+  assert equals(m_loaded.__beta__, beta, 1e-10)
+  assert equals(m_loaded.__ft_beta__, FtBeta, 1e-10)
+  assert equals(m_loaded.__gt_i_sigma__, GtISigma, 1e-10)
+  assert abs(m_loaded.__logdet_alpha__ - logdetAlpha) < 1e-10
+  assert abs(m_loaded.__logdet_sigma__ - logdetSigma) < 1e-10
+  assert m_loaded.has_gamma(3)
+  assert equals(m_loaded.get_gamma(3), gamma3_ref, 1e-10)
+  assert equals(m_loaded.get_add_gamma(3), gamma3_ref, 1e-10)
+  assert m_loaded.has_log_like_const_term(3)
+  assert abs(m_loaded.get_add_log_like_const_term(3) - constTerm3) < 1e-10
+
+  # Compares the values loaded with the former ones when copying
+  m_copy = PLDABase(m_loaded)
+  assert m_loaded == m_copy
+  assert (m_loaded != m_copy) is False
+  # Test clear_maps method
+  assert m_copy.has_gamma(3)
+  assert m_copy.has_log_like_const_term(3)
+  m_copy.clear_maps()
+  assert (m_copy.has_gamma(3)) is False
+  assert (m_copy.has_log_like_const_term(3)) is False
+
+  # Check variance flooring thresholds-related methods
+  v_zo = numpy.array([0.01, 0.01, 0.01, 0.01, 0.01, 0.01, 0.01])
+  v_zo_ = 0.01
+  v_zzo = numpy.array([0.001, 0.001, 0.001, 0.001, 0.001, 0.001, 0.001])
+  v_zzo_ = 0.001
+  m_copy.variance_threshold = v_zo_
+  assert (m_loaded == m_copy) is False
+  assert m_loaded != m_copy
+  m_copy.variance_threshold = v_zzo_
+  m_copy.sigma = v_zo
+  assert equals(m_copy.sigma, v_zo, 1e-10)
+  m_copy.variance_threshold = v_zo_
+  m_copy.sigma = v_zzo
+  assert equals(m_copy.sigma, v_zo, 1e-10)
+  m_copy.variance_threshold = v_zzo_
+  m_copy.sigma = v_zzo
+  assert equals(m_copy.sigma, v_zzo, 1e-10)
+  m_copy.variance_threshold = v_zo_
+  assert equals(m_copy.sigma, v_zo, 1e-10)
+
+  # Clean-up
+  os.unlink(filename)
+
+
+def test_plda_basemachine_loglikelihood_pointestimate():
+
+  # Data used for performing the tests
+  # Features and subspaces dimensionality
+  sigma = numpy.ndarray(C_dim_d, 'float64')
+  sigma.fill(0.01)
+  mu = numpy.ndarray(C_dim_d, 'float64')
+  mu.fill(0)
+  xij = numpy.array([0.7, 1.3, 2.5, 0.3, 1.3, 2.7, 0.9])
+  hi = numpy.array([-0.5, 0.5])
+  wij = numpy.array([-0.1, 0.2, 0.3])
+
+  m = PLDABase(C_dim_d, C_dim_f, C_dim_g)
+  # Sets the current mu, F, G and sigma
+  m.mu = mu
+  m.f = C_F
+  m.g = C_G
+  m.sigma = sigma
+
+  #assert equals(m.compute_log_likelihood_point_estimate(xij, hi, wij), compute_log_likelihood_point_estimate(xij, mu, C_F, C_G, sigma, hi, wij), 1e-6)
+  log_likelihood_point_estimate        = m.compute_log_likelihood_point_estimate(xij, hi, wij)
+  log_likelihood_point_estimate_python = compute_log_likelihood_point_estimate(xij,         mu, C_F, C_G, sigma, hi, wij)
+  assert equals(log_likelihood_point_estimate, log_likelihood_point_estimate_python, 1e-6)
+
+
+def test_plda_machine():
+
+  # Data used for performing the tests
+  # Features and subspaces dimensionality
+  sigma = numpy.ndarray(C_dim_d, 'float64')
+  sigma.fill(0.01)
+  mu = numpy.ndarray(C_dim_d, 'float64')
+  mu.fill(0)
+
+  # Defines base machine
+  mb = PLDABase(C_dim_d, C_dim_f, C_dim_g)
+  # Sets the current mu, F, G and sigma
+  mb.mu = mu
+  mb.f = C_F
+  mb.g = C_G
+  mb.sigma = sigma
+
+  # Test constructors and dim getters
+  m = PLDAMachine(mb)
+  assert m.shape[0] == C_dim_d
+  assert m.shape[1]== C_dim_f
+  assert m.shape[2] == C_dim_g
+
+  m0 = PLDAMachine(mb)
+  #m0.plda_base = mb
+  assert m0.shape[0]  == C_dim_d
+  assert m0.shape[1]  == C_dim_f
+  assert m0.shape[2]  == C_dim_g
+
+  # Defines machine
+  n_samples = 2
+  WSumXitBetaXi = 0.37
+  weightedSum = numpy.array([1.39,0.54], 'float64')
+  log_likelihood = -0.22
+
+  m.n_samples = n_samples
+  m.w_sum_xit_beta_xi = WSumXitBetaXi
+  m.weighted_sum = weightedSum
+  m.log_likelihood = log_likelihood
+
+  gamma3 = m.get_add_gamma(3).copy()
+  constTerm3 = m.get_add_log_like_const_term(3)
+
+  # Saves to file, loads and compares to original
+  filename = str(tempfile.mkstemp(".hdf5")[1])
+  m.save(bob.io.base.HDF5File(filename, 'w'))
+  m_loaded = PLDAMachine(bob.io.base.HDF5File(filename), mb)
+
+  # Compares the values loaded with the former ones
+  assert m_loaded == m
+  assert (m_loaded != m) is False
+  assert abs(m_loaded.n_samples - n_samples) < 1e-10
+  assert abs(m_loaded.w_sum_xit_beta_xi - WSumXitBetaXi) < 1e-10
+  assert equals(m_loaded.weighted_sum, weightedSum, 1e-10)
+  assert abs(m_loaded.log_likelihood - log_likelihood) < 1e-10
+  assert m_loaded.has_gamma(3)
+  assert equals(m_loaded.get_add_gamma(3), gamma3, 1e-10)
+  assert equals(m_loaded.get_gamma(3), gamma3, 1e-10)
+  assert m_loaded.has_log_like_const_term(3)
+  assert abs(m_loaded.get_add_log_like_const_term(3) - constTerm3) < 1e-10
+  assert abs(m_loaded.get_log_like_const_term(3) - constTerm3) < 1e-10
+
+  # Test clear_maps method
+  assert m_loaded.has_gamma(3)
+  assert m_loaded.has_log_like_const_term(3)
+  m_loaded.clear_maps()
+  assert (m_loaded.has_gamma(3)) is False
+  assert (m_loaded.has_log_like_const_term(3)) is False
+
+  # Check exceptions
+  #m_loaded2 = PLDAMachine(bob.io.base.HDF5File(filename))
+  #m_loaded2.load(bob.io.base.HDF5File(filename))
+  #nose.tools.assert_raises(RuntimeError, getattr, m_loaded2, 'shape')
+  #nose.tools.assert_raises(RuntimeError, getattr, m_loaded2, 'dim_f')
+  #nose.tools.assert_raises(RuntimeError, getattr, m_loaded2, 'dim_g')
+  #nose.tools.assert_raises(RuntimeError, m_loaded2.forward, [1.])
+  #nose.tools.assert_raises(RuntimeError, m_loaded2.compute_log_likelihood, [1.])
+
+  # Clean-up
+  os.unlink(filename)
+
+
+def test_plda_machine_log_likelihood_Python():
+
+  # Data used for performing the tests
+  # Features and subspaces dimensionality
+  sigma = numpy.ndarray(C_dim_d, 'float64')
+  sigma.fill(0.01)
+  mu = numpy.ndarray(C_dim_d, 'float64')
+  mu.fill(0)
+
+  # Defines base machine
+  mb = PLDABase(C_dim_d, C_dim_f, C_dim_g)
+  # Sets the current mu, F, G and sigma
+  mb.mu = mu
+  mb.f = C_F
+  mb.g = C_G
+  mb.sigma = sigma
+
+  # Defines machine
+  m = PLDAMachine(mb)
+
+  # Defines (random) samples and check compute_log_likelihood method
+  ar_e = numpy.random.randn(2,C_dim_d)
+  ar_p = numpy.random.randn(C_dim_d)
+  ar_s = numpy.vstack([ar_e, ar_p])
+  assert abs(m.compute_log_likelihood(ar_s, False) - compute_log_likelihood(ar_s, mu, C_F, C_G, sigma)) < 1e-10
+  ar_p2d = numpy.reshape(ar_p, (1,C_dim_d))
+  assert abs(m.compute_log_likelihood(ar_p, False) - compute_log_likelihood(ar_p2d, mu, C_F, C_G, sigma)) < 1e-10
+
+  # Defines (random) samples and check forward method
+  ar2_e = numpy.random.randn(4,C_dim_d)
+  ar2_p = numpy.random.randn(C_dim_d)
+  ar2_s = numpy.vstack([ar2_e, ar2_p])
+  m.log_likelihood = m.compute_log_likelihood(ar2_e, False)
+  llr = m.compute_log_likelihood(ar2_s, True) - (m.compute_log_likelihood(ar2_s, False) + m.log_likelihood)
+  assert abs(m(ar2_s) - llr) < 1e-10
+  ar2_p2d = numpy.random.randn(3,C_dim_d)
+  ar2_s2d = numpy.vstack([ar2_e, ar2_p2d])
+  llr2d = m.compute_log_likelihood(ar2_s2d, True) - (m.compute_log_likelihood(ar2_s2d, False) + m.log_likelihood)
+  assert abs(m(ar2_s2d) - llr2d) < 1e-10
+
+def test_plda_machine_log_likelihood_Prince():
+
+  # Data used for performing the tests
+  # Features and subspaces dimensionality
+  D = 7
+  nf = 2
+  ng = 3
+
+  # initial values for F, G and sigma
+  G_init=numpy.array([-1.1424, -0.5044, -0.1917,
+    -0.6249,  0.1021, -0.8658,
+    -1.1687,  1.1963,  0.1807,
+    0.3926,  0.1203,  1.2665,
+    1.3018, -1.0368, -0.2512,
+    -0.5936, -0.8571, -0.2046,
+    0.4364, -0.1699, -2.2015]).reshape(D,ng)
+  # F <-> PCA on G
+  F_init=numpy.array([-0.054222647972093, -0.000000000783146,
+    0.596449127693018,  0.000000006265167,
+    0.298224563846509,  0.000000003132583,
+    0.447336845769764,  0.000000009397750,
+    -0.108445295944185, -0.000000001566292,
+    -0.501559493741856, -0.000000006265167,
+    -0.298224563846509, -0.000000003132583]).reshape(D,nf)
+  sigma_init = 0.01 * numpy.ones((D,), 'float64')
+  mean_zero = numpy.zeros((D,), 'float64')
+
+  # base machine
+  mb = PLDABase(D,nf,ng)
+  mb.sigma = sigma_init
+  mb.g = G_init
+  mb.f = F_init
+  mb.mu = mean_zero
+
+  # Data for likelihood computation
+  x1 = numpy.array([0.8032, 0.3503, 0.4587, 0.9511, 0.1330, 0.0703, 0.7061])
+  x2 = numpy.array([0.9317, 0.1089, 0.6517, 0.1461, 0.6940, 0.6256, 0.0437])
+  x3 = numpy.array([0.7979, 0.9862, 0.4367, 0.3447, 0.0488, 0.2252, 0.5810])
+  X = numpy.ndarray((3,D), 'float64')
+  X[0,:] = x1
+  X[1,:] = x2
+  X[2,:] = x3
+  a = []
+  a.append(x1)
+  a.append(x2)
+  a.append(x3)
+  a = numpy.array(a)
+
+  # reference likelihood from Prince implementation
+  ll_ref = -182.8880743535197
+
+  # machine
+  m = PLDAMachine(mb)
+  ll = m.compute_log_likelihood(X)
+  assert abs(ll - ll_ref) < 1e-10
+
+  # log likelihood ratio
+  Y = numpy.ndarray((2,D), 'float64')
+  Y[0,:] = x1
+  Y[1,:] = x2
+  Z = numpy.ndarray((1,D), 'float64')
+  Z[0,:] = x3
+  llX = m.compute_log_likelihood(X)
+  llY = m.compute_log_likelihood(Y)
+  llZ = m.compute_log_likelihood(Z)
+  # reference obtained by computing the likelihood of [x1,x2,x3], [x1,x2]
+  # and [x3] separately
+  llr_ref = -4.43695386675
+  assert abs((llX - (llY + llZ)) - llr_ref) < 1e-10
diff --git a/bob/learn/em/test/test_plda_trainer.py b/bob/learn/em/test/test_plda_trainer.py
new file mode 100644
index 0000000..f72ab6f
--- /dev/null
+++ b/bob/learn/em/test/test_plda_trainer.py
@@ -0,0 +1,741 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Fri Oct 14 18:07:56 2011 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests PLDA trainer
+"""
+
+import sys
+import numpy
+import numpy.linalg
+
+from bob.learn.em import PLDATrainer, PLDABase, PLDAMachine
+
+class PythonPLDATrainer():
+  """A simplified (and slower) version of the PLDATrainer"""
+
+  def __init__(self, convergence_threshold=0.001, max_iterations=10,
+      compute_likelihood=False, use_sum_second_order=True):
+    # Our state
+    self.m_convergence_threshold = convergence_threshold
+    self.m_max_iterations = max_iterations
+    self.m_compute_likelihood = compute_likelihood
+    self.m_dim_f = 0
+    self.m_dim_g = 0
+    self.m_B = numpy.ndarray(shape=(0,0), dtype=numpy.float64)
+    self.m_n_samples_per_id = numpy.ndarray(shape=(0,), dtype=numpy.float64)
+    self.m_z_first_order = []
+    self.m_z_second_order = []
+    self.m_sum_z_second_order = numpy.ndarray(shape=(0,0), dtype=numpy.float64)
+
+  def reset():
+    """Resets our internal state"""
+    self.m_convergence_threshold = 0.001
+    self.m_max_iterations = 10
+    self.m_compute_likelihood = False
+    self.m_dim_f = 0
+    self.m_dim_g = 0
+    self.m_n_samples_per_id = numpy.ndarray(shape=(0,), dtype=numpy.float64)
+    self.m_z_first_order = []
+    self.m_z_second_order = []
+    self.m_sum_z_second_order = numpy.ndarray(shape=(0,0), dtype=numpy.float64)
+
+  def __check_training_data__(self, data):
+    if len(data) == 0:
+      raise RuntimeError("Training data set is empty")
+    n_features = data[0].shape[1]
+    for v in data:
+      if(v.shape[1] != n_features):
+        raise RuntimeError("Inconsistent feature dimensionality in training data set")
+
+  def __init_members__(self, data):
+    n_features = data[0].shape[1]
+    self.m_z_first_order = []
+    df_dg = self.m_dim_f+self.m_dim_g
+    self.m_sum_z_second_order.resize(df_dg, df_dg)
+    self.m_n_samples_per_id.resize(len(data))
+    self.m_B.resize(n_features, df_dg)
+    for i in range(len(data)):
+      ns_i = data[i].shape[0]
+      self.m_n_samples_per_id[i] = ns_i
+      self.m_z_first_order.append(numpy.ndarray(shape=(ns_i, df_dg), dtype=numpy.float64))
+      self.m_z_second_order.append(numpy.ndarray(shape=(ns_i, df_dg, df_dg), dtype=numpy.float64))
+
+  def __init_mu__(self, machine, data):
+    mu = numpy.zeros(shape=machine.mu.shape[0], dtype=numpy.float64)
+    c = 0
+    # Computes the mean of the data
+    for v in data:
+      for i in range(v.shape[0]):
+        mu += v[i,:]
+        c +=1
+    mu /= c
+    machine.mu = mu
+
+  def __init_f__(self, machine, data):
+    n_ids = len(data)
+    S = numpy.zeros(shape=(machine.shape[0], n_ids), dtype=numpy.float64)
+    Si_sum = numpy.zeros(shape=(machine.shape[0],), dtype=numpy.float64)
+    for i in range(n_ids):
+      Si = S[:,i]
+      data_i = data[i]
+      for j in range(data_i.shape[0]):
+        Si += data_i[j,:]
+      Si /= data_i.shape[0]
+      Si_sum += Si
+    Si_sum /= n_ids
+
+    S = S - numpy.tile(Si_sum.reshape([machine.shape[0],1]), [1,n_ids])
+    U, sigma, S_ = numpy.linalg.svd(S, full_matrices=False)
+    U_slice = U[:,0:self.m_dim_f]
+    sigma_slice = sigma[0:self.m_dim_f]
+    sigma_slice_sqrt = numpy.sqrt(sigma_slice)
+    machine.f = U_slice / sigma_slice_sqrt
+
+  def __init_g__(self, machine, data):
+    n_samples = 0
+    for v in data:
+      n_samples += v.shape[0]
+    S = numpy.zeros(shape=(machine.shape[0], n_samples), dtype=numpy.float64)
+    Si_sum = numpy.zeros(shape=(machine.shape[0],), dtype=numpy.float64)
+    cache = numpy.zeros(shape=(machine.shape[0],), dtype=numpy.float64)
+    c = 0
+    for i in range(len(data)):
+      cache = 0
+      data_i = data[i]
+      for j in range(data_i.shape[0]):
+        cache += data_i[j,:]
+      cache /= data_i.shape[0]
+      for j in range(data_i.shape[0]):
+        S[:,c] = data_i[j,:] - cache
+        Si_sum += S[:,c]
+        c += 1
+    Si_sum /= n_samples
+
+    S = S - numpy.tile(Si_sum.reshape([machine.shape[0],1]), [1,n_samples])
+    U, sigma, S_ = numpy.linalg.svd(S, full_matrices=False)
+    U_slice = U[:,0:self.m_dim_g]
+    sigma_slice_sqrt = numpy.sqrt(sigma[0:self.m_dim_g])
+    machine.g = U_slice / sigma_slice_sqrt
+
+  def __init_sigma__(self, machine, data, factor = 1.):
+    """As a variance of the data"""
+    cache1 = numpy.zeros(shape=(machine.shape[0],), dtype=numpy.float64)
+    cache2 = numpy.zeros(shape=(machine.shape[0],), dtype=numpy.float64)
+    n_samples = 0
+    for v in data:
+      for j in range(v.shape[0]):
+        cache1 += v[j,:]
+      n_samples += v.shape[0]
+    cache1 /= n_samples
+    for v in data:
+      for j in range(v.shape[0]):
+        cache2 += numpy.square(v[j,:] - cache1)
+    machine.sigma = factor * cache2 / (n_samples - 1)
+
+  def __init_mu_f_g_sigma__(self, machine, data):
+    self.__init_mu__(machine, data)
+    self.__init_f__(machine, data)
+    self.__init_g__(machine, data)
+    self.__init_sigma__(machine, data)
+
+  def initialize(self, machine, data):
+    self.__check_training_data__(data)
+    n_features = data[0].shape[1]
+    if(machine.shape[0] != n_features):
+      raise RuntimeError("Inconsistent feature dimensionality between the machine and the training data set")
+    self.m_dim_f = machine.shape[1]
+    self.m_dim_g = machine.shape[2]
+    self.__init_members__(data)
+    # Warning: Default initialization of mu, F, G, sigma using scatters
+    self.__init_mu_f_g_sigma__(machine, data)
+    # Make sure that the precomputation has been performed
+    machine.__precompute__()
+
+  def __compute_sufficient_statistics_given_observations__(self, machine, observations):
+    """
+    We compute the expected values of the latent variables given the observations
+    and parameters of the model.
+
+    First order or the expected value of the latent variables.:
+      F = (I+A^{T}\Sigma'^{-1}A)^{-1} * A^{T}\Sigma^{-1} (\tilde{x}_{s}-\mu').
+    Second order stats:
+      S = (I+A^{T}\Sigma'^{-1}A)^{-1} + (F*F^{T}).
+    """
+
+    # Get the number of observations
+    J_i                       = observations.shape[0]            # An integer > 0
+    dim_d                     = observations.shape[1]            # A scalar
+    # Useful values
+    mu                        = machine.mu
+    F                         = machine.f
+    G                         = machine.g
+    sigma                     = machine.sigma
+    isigma                    = machine.__isigma__
+    alpha                     = machine.__alpha__
+    ft_beta                   = machine.__ft_beta__
+    gamma                     = machine.get_add_gamma(J_i)
+    # Normalise the observations
+    normalised_observations   = observations - numpy.tile(mu, [J_i,1]) # (dim_d, J_i)
+
+    ### Expected value of the latent variables using the scalable solution
+    # Identity part first
+    sum_ft_beta_part          = numpy.zeros(self.m_dim_f)     # (dim_f)
+    for j in range(0, J_i):
+      current_observation     = normalised_observations[j,:]  # (dim_d)
+      sum_ft_beta_part        = sum_ft_beta_part + numpy.dot(ft_beta, current_observation)  # (dim_f)
+    h_i                       = numpy.dot(gamma, sum_ft_beta_part)                          # (dim_f)
+    # Reproject the identity part to work out the session parts
+    Fh_i                      = numpy.dot(F, h_i)                                           # (dim_d)
+    z_first_order = numpy.zeros((J_i, self.m_dim_f+self.m_dim_g))
+    for j in range(0, J_i):
+      current_observation       = normalised_observations[j,:]                  # (dim_d)
+      w_ij                      = numpy.dot(alpha, G.transpose())               # (dim_g, dim_d)
+      w_ij                      = numpy.multiply(w_ij, isigma)                  # (dim_g, dim_d)
+      w_ij                      = numpy.dot(w_ij, (current_observation - Fh_i)) # (dim_g)
+      z_first_order[j,:]        = numpy.hstack([h_i,w_ij])                      # (dim_f+dim_g)
+
+    ### Calculate the expected value of the squared of the latent variables
+    # The constant matrix we use has the following parts: [top_left, top_right; bottom_left, bottom_right]
+    # P             = Inverse_I_plus_GTEG * G^T * Sigma^{-1} * F  (dim_g, dim_f)
+    # top_left      = gamma                                       (dim_f, dim_f)
+    # bottom_left   = top_right^T = P * gamma                     (dim_g, dim_f)
+    # bottom_right  = Inverse_I_plus_GTEG - bottom_left * P^T     (dim_g, dim_g)
+    top_left                 = gamma
+    P                        = numpy.dot(alpha, G.transpose())
+    P                        = numpy.dot(numpy.dot(P,numpy.diag(isigma)), F)
+    bottom_left              = -1 * numpy.dot(P, top_left)
+    top_right                = bottom_left.transpose()
+    bottom_right             = alpha -1 * numpy.dot(bottom_left, P.transpose())
+    constant_matrix          = numpy.bmat([[top_left,top_right],[bottom_left, bottom_right]])
+
+    # Now get the actual expected value
+    z_second_order = numpy.zeros((J_i, self.m_dim_f+self.m_dim_g, self.m_dim_f+self.m_dim_g))
+    for j in range(0, J_i):
+      z_second_order[j,:,:] = constant_matrix + numpy.outer(z_first_order[j,:],z_first_order[j,:])  # (dim_f+dim_g,dim_f+dim_g)
+
+    ### Return the first and second order statistics
+    return(z_first_order, z_second_order)
+
+  def e_step(self, machine, data):
+    self.m_sum_z_second_order.fill(0.)
+    for i in range(len(data)):
+      ### Get the observations for this label and the number of observations for this label.
+      observations_for_h_i      = data[i]
+      J_i                       = observations_for_h_i.shape[0]                           # An integer > 0
+
+      ### Gather the statistics for this identity and then separate them for each observation.
+      [z_first_order, z_second_order] = self.__compute_sufficient_statistics_given_observations__(machine, observations_for_h_i)
+      self.m_z_first_order[i]  = z_first_order
+      self.m_z_second_order[i] = z_second_order
+      J_i = len(z_second_order)
+      for j in range(0, J_i):
+        self.m_sum_z_second_order += z_second_order[j]
+
+  def __update_f_and_g__(self, machine, data):
+    ### Initialise the numerator and the denominator.
+    dim_d                          = machine.shape[0]
+    accumulated_B_numerator        = numpy.zeros((dim_d,self.m_dim_f+self.m_dim_g))
+    accumulated_B_denominator      = numpy.linalg.inv(self.m_sum_z_second_order)
+    mu                             = machine.mu
+
+    ### Go through and process on a per subjectid basis
+    for i in range(len(data)):
+      # Normalise the observations
+      J_i                       = data[i].shape[0]
+      normalised_observations   = data[i] - numpy.tile(mu, [J_i,1]) # (J_i, dim_d)
+
+      ### Gather the statistics for this label
+      z_first_order_i                    = self.m_z_first_order[i]  # List of (dim_f+dim_g) vectors
+
+      ### Accumulate for the B matrix for this identity (current_label).
+      for j in range(0, J_i):
+        current_observation_for_h_i   = normalised_observations[j,:]   # (dim_d)
+        accumulated_B_numerator       = accumulated_B_numerator + numpy.outer(current_observation_for_h_i, z_first_order_i[j,:])  # (dim_d, dim_f+dim_g);
+
+    ### Update the B matrix which we can then use this to update the F and G matrices.
+    B                                  = numpy.dot(accumulated_B_numerator,accumulated_B_denominator)
+    machine.f                          = B[:,0:self.m_dim_f].copy()
+    machine.g                          = B[:,self.m_dim_f:self.m_dim_f+self.m_dim_g].copy()
+
+  def __update_sigma__(self, machine, data):
+    ### Initialise the accumulated Sigma
+    dim_d                          = machine.shape[0]
+    mu                             = machine.mu
+    accumulated_sigma              = numpy.zeros(dim_d)   # An array (dim_d)
+    number_of_observations         = 0
+    B = numpy.hstack([machine.f, machine.g])
+
+    ### Go through and process on a per subjectid basis (based on the labels we were given.
+    for i in range(len(data)):
+      # Normalise the observations
+      J_i                       = data[i].shape[0]
+      normalised_observations   = data[i] - numpy.tile(mu, [J_i,1]) # (J_i, dim_d)
+
+      ### Gather the statistics for this identity and then separate them for each
+      ### observation.
+      z_first_order_i                    = self.m_z_first_order[i]  # List of (dim_f+dim_g) vectors
+
+      ### Accumulate for the sigma matrix, which will be diagonalised
+      for j in range(0, J_i):
+        current_observation_for_h_i   = normalised_observations[j,:]  # (dim_d)
+        left                          = current_observation_for_h_i * current_observation_for_h_i # (dim_d)
+        projected_direction           = numpy.dot(B, z_first_order_i[j,:])                        # (dim_d)
+        right                         = projected_direction * current_observation_for_h_i         # (dim_d)
+        accumulated_sigma             = accumulated_sigma + (left - right)                        # (dim_d)
+        number_of_observations        = number_of_observations + 1
+
+    ### Normalise by the number of observations (1/IJ)
+    machine.sigma                     = accumulated_sigma / number_of_observations;
+
+  def m_step(self, machine, data):
+    self.__update_f_and_g__(machine, data)
+    self.__update_sigma__(machine, data)
+    machine.__precompute__()
+
+  def finalize(self, machine, data):
+    machine.__precompute_log_like__()
+
+  def train(self, machine, data):
+    self.initialize(machine, data)
+    average_output_previous = -sys.maxsize
+    average_output = -sys.maxsize
+    self.e_step(machine, data)
+
+    i = 0
+    while True:
+      average_output_previous = average_output
+      self.m_step(machine, data)
+      self.e_step(machine, data)
+      if(self.m_max_iterations > 0 and i+1 >= self.m_max_iterations):
+        break
+      i += 1
+
+
+def test_plda_EM_vs_Python():
+
+  # Data used for performing the tests
+  # Features and subspaces dimensionality
+  D = 7
+  nf = 2
+  ng = 3
+
+  # first identity (4 samples)
+  a = numpy.array([
+    [1,2,3,4,5,6,7],
+    [7,8,3,3,1,8,2],
+    [3,2,1,4,5,1,7],
+    [9,0,3,2,1,4,6],
+    ], dtype='float64')
+
+  # second identity (3 samples)
+  b = numpy.array([
+    [5,6,3,4,2,0,2],
+    [1,7,8,9,4,4,8],
+    [8,7,2,5,1,1,1],
+    ], dtype='float64')
+
+  # list of arrays (training data)
+  l = [a,b]
+
+  # initial values for F, G and sigma
+  G_init=numpy.array([-1.1424, -0.5044, -0.1917,
+    -0.6249,  0.1021, -0.8658,
+    -1.1687,  1.1963,  0.1807,
+    0.3926,  0.1203,  1.2665,
+    1.3018, -1.0368, -0.2512,
+    -0.5936, -0.8571, -0.2046,
+    0.4364, -0.1699, -2.2015]).reshape(D,ng)
+
+  # F <-> PCA on G
+  F_init=numpy.array([-0.054222647972093, -0.000000000783146,
+    0.596449127693018,  0.000000006265167,
+    0.298224563846509,  0.000000003132583,
+    0.447336845769764,  0.000000009397750,
+    -0.108445295944185, -0.000000001566292,
+    -0.501559493741856, -0.000000006265167,
+    -0.298224563846509, -0.000000003132583]).reshape(D,nf)
+  sigma_init = 0.01 * numpy.ones(D, 'float64')
+
+  # Runs the PLDA trainer EM-steps (2 steps)
+  # Defines base trainer and machine
+  t = PLDATrainer(10)
+  t_py = PythonPLDATrainer(max_iterations=10)
+  m = PLDABase(D,nf,ng)
+  m_py = PLDABase(D,nf,ng)
+
+  # Sets the same initialization methods
+  t.init_f_method = 'BETWEEN_SCATTER'
+  t.init_g_method = 'WITHIN_SCATTER'
+  t.init_sigma_method = 'VARIANCE_DATA'
+
+  t.train(m, l)
+  t_py.train(m_py, l)
+  assert numpy.allclose(m.mu, m_py.mu)
+  assert numpy.allclose(m.f, m_py.f)
+  assert numpy.allclose(m.g, m_py.g)
+  assert numpy.allclose(m.sigma, m_py.sigma)
+
+
+def test_plda_EM_vs_Prince():
+  # Data used for performing the tests
+  # Features and subspaces dimensionality
+  dim_d = 7
+  dim_f = 2
+  dim_g = 3
+
+  # first identity (4 samples)
+  a = numpy.array([
+    [1,2,3,4,5,6,7],
+    [7,8,3,3,1,8,2],
+    [3,2,1,4,5,1,7],
+    [9,0,3,2,1,4,6],
+    ], dtype='float64')
+
+  # second identity (3 samples)
+  b = numpy.array([
+    [5,6,3,4,2,0,2],
+    [1,7,8,9,4,4,8],
+    [8,7,2,5,1,1,1],
+    ], dtype='float64')
+
+  # list of arrays (training data)
+  l = [a,b]
+
+  # initial values for F, G and sigma
+  G_init=numpy.array([-1.1424, -0.5044, -0.1917,
+    -0.6249,  0.1021, -0.8658,
+    -1.1687,  1.1963,  0.1807,
+    0.3926,  0.1203,  1.2665,
+    1.3018, -1.0368, -0.2512,
+    -0.5936, -0.8571, -0.2046,
+    0.4364, -0.1699, -2.2015]).reshape(dim_d,dim_g)
+
+  # F <-> PCA on G
+  F_init=numpy.array([-0.054222647972093, -0.000000000783146,
+    0.596449127693018,  0.000000006265167,
+    0.298224563846509,  0.000000003132583,
+    0.447336845769764,  0.000000009397750,
+    -0.108445295944185, -0.000000001566292,
+    -0.501559493741856, -0.000000006265167,
+    -0.298224563846509, -0.000000003132583]).reshape(dim_d,dim_f)
+  sigma_init = 0.01 * numpy.ones(dim_d, 'float64')
+
+  # Defines reference results based on Princes'matlab implementation
+  # After 1 iteration
+  z_first_order_a_1 = numpy.array(
+    [-2.624115900658397, -0.000000034277848,  1.554823055585319,  0.627476234024656, -0.264705934182394,
+     -2.624115900658397, -0.000000034277848, -2.703482671599357, -1.533283607433197,  0.553725774828231,
+     -2.624115900658397, -0.000000034277848,  2.311647528461115,  1.266362142140170, -0.317378177105131,
+     -2.624115900658397, -0.000000034277848, -1.163402640008200, -0.372604542926019,  0.025152800097991
+    ]).reshape(4, dim_f+dim_g)
+  z_first_order_b_1 = numpy.array(
+    [ 3.494168818797438,  0.000000045643026,  0.111295550530958, -0.029241422535725,  0.257045446451067,
+      3.494168818797438,  0.000000045643026,  1.102110715965762,  1.481232954001794, -0.970661225144399,
+      3.494168818797438,  0.000000045643026, -1.212854031699468, -1.435946529317718,  0.717884143973377
+    ]).reshape(3, dim_f+dim_g)
+
+  z_second_order_sum_1 = numpy.array(
+    [64.203518285366087,  0.000000747228248,  0.002703277337642,  0.078542842475345,  0.020894328259862,
+      0.000000747228248,  6.999999999999980, -0.000000003955962,  0.000000002017232, -0.000000003741593,
+      0.002703277337642, -0.000000003955962, 19.136889380923918, 11.860493771107487, -4.584339465366988,
+      0.078542842475345,  0.000000002017232, 11.860493771107487,  8.771502339750128, -3.905706024997424,
+      0.020894328259862, -0.000000003741593, -4.584339465366988, -3.905706024997424,  2.011924970338584
+    ]).reshape(dim_f+dim_g, dim_f+dim_g)
+
+  sigma_1 = numpy.array(
+      [2.193659969999207, 3.748361365521041, 0.237835235737085,
+        0.558546035892629, 0.209272700958400, 1.717782807724451,
+        0.248414618308223])
+
+  F_1 = numpy.array(
+      [-0.059083416465692,  0.000000000751007,
+        0.600133217253169,  0.000000006957266,
+        0.302789123922871,  0.000000000218947,
+        0.454540641429714,  0.000000003342540,
+        -0.106608957780613, -0.000000001641389,
+        -0.494267694269430, -0.000000011059552,
+        -0.295956102084270, -0.000000006718366]).reshape(dim_d,dim_f)
+
+  G_1 = numpy.array(
+      [-1.836166150865047,  2.491475145758734,  5.095958946372235,
+        -0.608732205531767, -0.618128420353493, -1.085423135463635,
+        -0.697390472635929, -1.047900122276840, -6.080211153116984,
+        0.769509301515319, -2.763610156675313, -5.972172587527176,
+        1.332474692714491, -1.368103875407414, -2.096382536513033,
+        0.304135903830416, -5.168096082564016, -9.604769461465978,
+        0.597445549865284, -1.347101803379971, -5.900246013340080]).reshape(dim_d,dim_g)
+
+  # After 2 iterations
+  z_first_order_a_2 = numpy.array(
+      [-2.144344161196005, -0.000000027851878,  1.217776189037369,  0.232492571855061, -0.212892893868819,
+        -2.144344161196005, -0.000000027851878, -2.382647766948079, -1.759951013670071,  0.587213207926731,
+        -2.144344161196005, -0.000000027851878,  2.143294830538722,  0.909307594408923, -0.183752098508072,
+        -2.144344161196005, -0.000000027851878, -0.662558006326892,  0.717992497547010, -0.202897892977004
+    ]).reshape(4, dim_f+dim_g)
+  z_first_order_b_2 = numpy.array(
+      [ 2.695117129662246,  0.000000035005543, -0.156173294945791, -0.123083763746364,  0.271123341933619,
+        2.695117129662246,  0.000000035005543,  0.690321563509753,  0.944473716646212, -0.850835940962492,
+        2.695117129662246,  0.000000035005543, -0.930970138998433, -0.949736472690315,  0.594216348861889
+    ]).reshape(3, dim_f+dim_g)
+
+  z_second_order_sum_2 = numpy.array(
+      [41.602421167226410,  0.000000449434708, -1.513391506933811, -0.477818674270533,  0.059260102368316,
+        0.000000449434708,  7.000000000000005, -0.000000023255959, -0.000000005157439, -0.000000003230262,
+        -1.513391506933810, -0.000000023255959, 14.399631061987494,  8.068678077509025, -3.227586434905497,
+        -0.477818674270533, -0.000000005157439,  8.068678077509025,  7.263248678863863, -3.060665688064639,
+        0.059260102368316, -0.000000003230262, -3.227586434905497, -3.060665688064639,  1.705174220723198
+    ]).reshape(dim_f+dim_g, dim_f+dim_g)
+
+  sigma_2 = numpy.array(
+    [1.120493935052524, 1.777598857891599, 0.197579528599150,
+      0.407657093211478, 0.166216300651473, 1.044336960403809,
+      0.287856936559308])
+
+  F_2 = numpy.array(
+    [-0.111956311978966,  0.000000000781025,
+      0.702502767389263,  0.000000007683917,
+      0.337823622542517,  0.000000000637302,
+      0.551363737526339,  0.000000004854293,
+     -0.096561040511417, -0.000000001716011,
+     -0.661587484803602, -0.000000012394362,
+     -0.346593051621620, -0.000000007134046]).reshape(dim_d,dim_f)
+
+  G_2 = numpy.array(
+    [-2.266404374274820,  4.089199685832099,  7.023039382876370,
+      0.094887459097613, -3.226829318470136, -3.452279917194724,
+     -0.498398131733141, -1.651712333649899, -6.548008210704172,
+      0.574932298590327, -2.198978667003715, -5.131253543126156,
+      1.415857426810629, -1.627795701160212, -2.509013676007012,
+     -0.543552834305580, -3.215063993186718, -7.006305082499653,
+      0.562108137758111, -0.785296641855087, -5.318335345720314]).reshape(dim_d,dim_g)
+
+  # Runs the PLDA trainer EM-steps (2 steps)
+
+  # Defines base trainer and machine
+  t = PLDATrainer()
+  t0 = PLDATrainer(t)
+  m = PLDABase(dim_d,dim_f,dim_g)
+  t.initialize(m,l)
+  m.sigma = sigma_init
+  m.g = G_init
+  m.f = F_init
+
+  # Defines base trainer and machine (for Python implementation
+  t_py = PythonPLDATrainer()
+  m_py = PLDABase(dim_d,dim_f,dim_g)
+  t_py.initialize(m_py,l)
+  m_py.sigma = sigma_init
+  m_py.g = G_init
+  m_py.f = F_init
+
+  # E-step 1
+  t.e_step(m,l)
+  t_py.e_step(m_py,l)
+  # Compares statistics to Prince matlab reference
+  assert numpy.allclose(t.z_first_order[0], z_first_order_a_1, 1e-10)
+  assert numpy.allclose(t.z_first_order[1], z_first_order_b_1, 1e-10)
+  assert numpy.allclose(t.z_second_order_sum, z_second_order_sum_1, 1e-10)
+  # Compares statistics against the ones of the python implementation
+  assert numpy.allclose(t.z_first_order[0], t_py.m_z_first_order[0], 1e-10)
+  assert numpy.allclose(t.z_first_order[1], t_py.m_z_first_order[1], 1e-10)
+  assert numpy.allclose(t.z_second_order_sum, t_py.m_sum_z_second_order, 1e-10)
+
+  # M-step 1
+  t.m_step(m,l)
+  t_py.m_step(m_py,l)
+  # Compares F, G and sigma to Prince matlab reference
+  assert numpy.allclose(m.f, F_1, 1e-10)
+  assert numpy.allclose(m.g, G_1, 1e-10)
+  assert numpy.allclose(m.sigma, sigma_1, 1e-10)
+  # Compares F, G and sigma to the ones of the python implementation
+  assert numpy.allclose(m.f, m_py.f, 1e-10)
+  assert numpy.allclose(m.g, m_py.g, 1e-10)
+  assert numpy.allclose(m.sigma, m_py.sigma, 1e-10)
+
+  # E-step 2
+  t.e_step(m,l)
+  t_py.e_step(m_py,l)
+  # Compares statistics to Prince matlab reference
+  assert numpy.allclose(t.z_first_order[0], z_first_order_a_2, 1e-10)
+  assert numpy.allclose(t.z_first_order[1], z_first_order_b_2, 1e-10)
+  assert numpy.allclose(t.z_second_order_sum, z_second_order_sum_2, 1e-10)
+  # Compares statistics against the ones of the python implementation
+  assert numpy.allclose(t.z_first_order[0], t_py.m_z_first_order[0], 1e-10)
+  assert numpy.allclose(t.z_first_order[1], t_py.m_z_first_order[1], 1e-10)
+  assert numpy.allclose(t.z_second_order_sum, t_py.m_sum_z_second_order, 1e-10)
+
+  # M-step 2
+  t.m_step(m,l)
+  t_py.m_step(m_py,l)
+  # Compares F, G and sigma to Prince matlab reference
+  assert numpy.allclose(m.f, F_2, 1e-10)
+  assert numpy.allclose(m.g, G_2, 1e-10)
+  assert numpy.allclose(m.sigma, sigma_2, 1e-10)
+  # Compares F, G and sigma to the ones of the python implementation
+  assert numpy.allclose(m.f, m_py.f, 1e-10)
+  assert numpy.allclose(m.g, m_py.g, 1e-10)
+  assert numpy.allclose(m.sigma, m_py.sigma, 1e-10)
+
+
+  # Test the second order statistics computation
+  # Calls the initialization methods and resets randomly initialized values
+  # to new reference ones (to make the tests deterministic)
+  t.use_sum_second_order = False
+  t.initialize(m,l)
+  m.sigma = sigma_init
+  m.g = G_init
+  m.f = F_init
+  t_py.initialize(m_py,l)
+  m_py.sigma = sigma_init
+  m_py.g = G_init
+  m_py.f = F_init
+
+  # E-step 1
+  t.e_step(m,l)
+  t_py.e_step(m_py,l)
+  # Compares statistics to Prince matlab reference
+  assert numpy.allclose(t.z_first_order[0], z_first_order_a_1, 1e-10)
+  assert numpy.allclose(t.z_first_order[1], z_first_order_b_1, 1e-10)
+  # Compares statistics against the ones of the python implementation
+  assert numpy.allclose(t.z_first_order[0], t_py.m_z_first_order[0], 1e-10)
+  assert numpy.allclose(t.z_first_order[1], t_py.m_z_first_order[1], 1e-10)
+  assert numpy.allclose(t.z_second_order[0], t_py.m_z_second_order[0], 1e-10)
+  assert numpy.allclose(t.z_second_order[1], t_py.m_z_second_order[1], 1e-10)
+  assert numpy.allclose(t.z_second_order_sum, t_py.m_sum_z_second_order, 1e-10)
+
+  # M-step 1
+  t.m_step(m,l)
+  t_py.m_step(m_py,l)
+  # Compares F, G and sigma to the ones of the python implementation
+  assert numpy.allclose(m.f, m_py.f, 1e-10)
+  assert numpy.allclose(m.g, m_py.g, 1e-10)
+  assert numpy.allclose(m.sigma, m_py.sigma, 1e-10)
+
+  # E-step 2
+  t.e_step(m,l)
+  t_py.e_step(m_py,l)
+  # Compares statistics to Prince matlab reference
+  assert numpy.allclose(t.z_first_order[0], z_first_order_a_2, 1e-10)
+  assert numpy.allclose(t.z_first_order[1], z_first_order_b_2, 1e-10)
+  # Compares statistics against the ones of the python implementation
+  assert numpy.allclose(t.z_first_order[0], t_py.m_z_first_order[0], 1e-10)
+  assert numpy.allclose(t.z_first_order[1], t_py.m_z_first_order[1], 1e-10)
+  assert numpy.allclose(t.z_second_order[0], t_py.m_z_second_order[0], 1e-10)
+  assert numpy.allclose(t.z_second_order[1], t_py.m_z_second_order[1], 1e-10)
+  assert numpy.allclose(t.z_second_order_sum, t_py.m_sum_z_second_order, 1e-10)
+
+  # M-step 2
+  t.m_step(m,l)
+  t_py.m_step(m_py,l)
+  # Compares F, G and sigma to the ones of the python implementation
+  assert numpy.allclose(m.f, m_py.f, 1e-10)
+  assert numpy.allclose(m.g, m_py.g, 1e-10)
+  assert numpy.allclose(m.sigma, m_py.sigma, 1e-10)
+
+
+def test_plda_enrollment():
+  # Data used for performing the tests
+  # Features and subspaces dimensionality
+  dim_d = 7
+  dim_f = 2
+  dim_g = 3
+
+  # initial values for F, G and sigma
+  G_init=numpy.array([-1.1424, -0.5044, -0.1917,
+    -0.6249,  0.1021, -0.8658,
+    -1.1687,  1.1963,  0.1807,
+    0.3926,  0.1203,  1.2665,
+    1.3018, -1.0368, -0.2512,
+    -0.5936, -0.8571, -0.2046,
+    0.4364, -0.1699, -2.2015]).reshape(dim_d,dim_g)
+  # F <-> PCA on G
+  F_init=numpy.array([-0.054222647972093, -0.000000000783146,
+    0.596449127693018,  0.000000006265167,
+    0.298224563846509,  0.000000003132583,
+    0.447336845769764,  0.000000009397750,
+    -0.108445295944185, -0.000000001566292,
+    -0.501559493741856, -0.000000006265167,
+    -0.298224563846509, -0.000000003132583]).reshape(dim_d,dim_f)
+  sigma_init = 0.01 * numpy.ones((dim_d,), 'float64')
+  mean_zero = numpy.zeros((dim_d,), 'float64')
+
+  # base machine
+  mb = PLDABase(dim_d,dim_f,dim_g)
+  mb.sigma = sigma_init
+  mb.g = G_init
+  mb.f = F_init
+  mb.mu = mean_zero
+
+  # Data for likelihood computation
+  x1 = numpy.array([0.8032, 0.3503, 0.4587, 0.9511, 0.1330, 0.0703, 0.7061])
+  x2 = numpy.array([0.9317, 0.1089, 0.6517, 0.1461, 0.6940, 0.6256, 0.0437])
+  x3 = numpy.array([0.7979, 0.9862, 0.4367, 0.3447, 0.0488, 0.2252, 0.5810])
+  a_enrol = []
+  a_enrol.append(x1)
+  a_enrol.append(x2)
+  a_enrol = numpy.array(a_enrol)
+
+  # reference likelihood from Prince implementation
+  ll_ref = -182.8880743535197
+
+  # Computes the likelihood using x1 and x2 as enrollment samples
+  # and x3 as a probe sample
+  m = PLDAMachine(mb)
+  t = PLDATrainer()
+  t.enrol(m, a_enrol)
+  ll = m.compute_log_likelihood(x3)
+  
+  assert abs(ll - ll_ref) < 1e-10
+
+  # reference obtained by computing the likelihood of [x1,x2,x3], [x1,x2]
+  # and [x3] separately
+  llr_ref = -4.43695386675
+  llr = m(x3)
+  assert abs(llr - llr_ref) < 1e-10
+  #
+  llr_separate = m.compute_log_likelihood(numpy.array([x1,x2,x3]), False) - \
+    (m.compute_log_likelihood(numpy.array([x1,x2]), False) + m.compute_log_likelihood(numpy.array([x3]), False))
+  assert abs(llr - llr_separate) < 1e-10
+
+
+
+def test_plda_comparisons():
+
+  t1 = PLDATrainer()
+  t2 = PLDATrainer()
+
+  #t2.rng = t1.rng
+
+  assert t1 == t2
+  assert (t1 != t2 ) is False
+  assert t1.is_similar_to(t2)
+
+  training_set = [numpy.array([[1,2,3,4]], numpy.float64), numpy.array([[3,4,3,4]], numpy.float64)]
+  m = PLDABase(4,1,1,1e-8)
+  t1.rng.seed(37)
+  t1.initialize(m, training_set)
+  t1.e_step(m, training_set)
+  t1.m_step(m, training_set)
+  assert (t1 == t2 ) is False
+  assert t1 != t2
+  assert (t1.is_similar_to(t2) ) is False
+  t2.rng.seed(37)
+  t2.initialize(m, training_set)
+  t2.e_step(m, training_set)
+  t2.m_step(m, training_set)
+  assert t1 == t2
+  assert (t1 != t2 ) is False
+  assert t1.is_similar_to(t2)
+  t2.rng.seed(77)
+  t2.initialize(m, training_set)
+  t2.e_step(m, training_set)
+  t2.m_step(m, training_set)
+  assert (t1 == t2 ) is False
+  assert t1 != t2
+  assert (t1.is_similar_to(t2) ) is False
+
+  
diff --git a/bob/learn/em/test/test_ztnorm.py b/bob/learn/em/test/test_ztnorm.py
new file mode 100644
index 0000000..7eaf31a
--- /dev/null
+++ b/bob/learn/em/test/test_ztnorm.py
@@ -0,0 +1,122 @@
+#!/usr/bin/env python
+# vim: set fileencoding=utf-8 :
+# Francois Moulin <Francois.Moulin@idiap.ch>
+# Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+# Tue Jul 19 15:33:20 2011 +0200
+#
+# Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+
+"""Tests on the ZTNorm function
+"""
+
+import numpy
+
+from bob.io.base.test_utils import datafile
+import bob.io.base
+
+#from . import znorm, tnorm, ztnorm
+import bob.learn.em
+
+def sameValue(vect_A, vect_B):
+  sameMatrix = numpy.zeros((vect_A.shape[0], vect_B.shape[0]), 'bool')
+
+  for j in range(vect_A.shape[0]):
+    for i in range(vect_B.shape[0]):
+      sameMatrix[j, i] = (vect_A[j] == vect_B[i])
+
+  return sameMatrix
+
+def tnorm(A, C):
+  Cmean = numpy.mean(C, axis=0)
+  if C.shape[1] > 1:
+    Cstd = numpy.sqrt(numpy.sum((C - numpy.tile(Cmean.reshape(1,C.shape[1]), (C.shape[0],1))) ** 2, axis=0) / (C.shape[0]-1))
+  else:
+    Cstd = numpy.ones(shape=(C.shape[1],), dtype=numpy.float64)
+  return (A - numpy.tile(Cmean.reshape(1,C.shape[1]), (A.shape[0],1))) / numpy.tile(Cstd.reshape(1,C.shape[1]), (A.shape[0],1))
+
+def znorm(A, B):
+  Bmean = numpy.mean(B, axis=1)
+  if B.shape[1] > 1:
+    Bstd = numpy.sqrt(numpy.sum((B - numpy.tile(Bmean.reshape(B.shape[0],1), (1,B.shape[1]))) ** 2, axis=1) / (B.shape[1]-1))
+  else:
+    Bstd = numpy.ones(shape=(B.shape[0],), dtype=numpy.float64)
+
+  return (A - numpy.tile(Bmean.reshape(B.shape[0],1), (1,A.shape[1]))) / numpy.tile(Bstd.reshape(B.shape[0],1), (1,A.shape[1]))
+
+
+def test_ztnorm_simple():
+  # 3x5
+  my_A = numpy.array([[1, 2, 3, 4, 5],
+                      [6, 7, 8, 9, 8],
+                      [7, 6, 5, 4, 3]],'float64')
+  # 3x4
+  my_B = numpy.array([[5, 4, 7, 8],[9, 8, 7, 4],[5, 6, 3, 2]],'float64')
+  # 2x5
+  my_C = numpy.array([[5, 4, 3, 2, 1],[2, 1, 2, 3, 4]],'float64')
+  # 2x4
+  my_D = numpy.array([[8, 6, 4, 2],[0, 2, 4, 6]],'float64')
+
+  # 4x1
+  znorm_id = numpy.array([1, 2, 3, 4],'uint32')
+  # 2x1
+  tnorm_id = numpy.array([1, 5],'uint32')
+  
+  scores = bob.learn.em.ztnorm(my_A, my_B, my_C, my_D,
+      sameValue(tnorm_id, znorm_id))
+
+  ref_scores = numpy.array([[-4.45473107e+00, -3.29289322e+00, -1.50519101e+01, -8.42086557e-01, 6.46544511e-03], [-8.27619927e-01,  7.07106781e-01,  1.13757710e+01,  2.01641412e+00, 7.63765080e-01], [ 2.52913570e+00,  2.70710678e+00,  1.24400233e+01,  7.07106781e-01, 6.46544511e-03]], 'float64')
+
+  assert (abs(scores - ref_scores) < 1e-7).all()
+
+def test_ztnorm_big():
+  my_A = bob.io.base.load(datafile("ztnorm_eval_eval.hdf5", __name__, path="../data/"))
+  my_B = bob.io.base.load(datafile("ztnorm_znorm_eval.hdf5", __name__, path="../data/"))
+  my_C = bob.io.base.load(datafile("ztnorm_eval_tnorm.hdf5", __name__, path="../data/"))
+  my_D = bob.io.base.load(datafile("ztnorm_znorm_tnorm.hdf5", __name__, path="../data/"))
+
+  # ZT-Norm
+  ref_scores = bob.io.base.load(datafile("ztnorm_result.hdf5", __name__, path="../data/"))
+  scores = bob.learn.em.ztnorm(my_A, my_B, my_C, my_D)
+  assert (abs(scores - ref_scores) < 1e-7).all()
+
+  # T-Norm
+  scores = tnorm(my_A, my_C)
+  scores_py = tnorm(my_A, my_C)
+  assert (abs(scores - scores_py) < 1e-7).all()
+
+  # Z-Norm
+  scores = znorm(my_A, my_B)
+  scores_py = znorm(my_A, my_B)
+  assert (abs(scores - scores_py) < 1e-7).all()
+
+def test_tnorm_simple():
+  # 3x5
+  my_A = numpy.array([[1, 2, 3, 4, 5],
+                      [6, 7, 8, 9, 8],
+                      [7, 6, 5, 4, 3]],'float64')
+  # 2x5
+  my_C = numpy.array([[5, 4, 3, 2, 1],[2, 1, 2, 3, 4]],'float64')
+
+  zC = tnorm(my_A, my_C)
+  zC_py = tnorm(my_A, my_C)
+  assert (abs(zC - zC_py) < 1e-7).all()
+
+  empty = numpy.zeros(shape=(0,0), dtype=numpy.float64)
+  zC = bob.learn.em.ztnorm(my_A, empty, my_C, empty)
+  assert (abs(zC - zC_py) < 1e-7).all()
+
+def test_znorm_simple():
+  # 3x5
+  my_A = numpy.array([[1, 2, 3, 4, 5],
+                      [6, 7, 8, 9, 8],
+                      [7, 6, 5, 4, 3]], numpy.float64)
+  # 3x4
+  my_B = numpy.array([[5, 4, 7, 8],[9, 8, 7, 4],[5, 6, 3, 2]], numpy.float64)
+
+  zA = znorm(my_A, my_B)
+  zA_py = znorm(my_A, my_B)
+  assert (abs(zA - zA_py) < 1e-7).all()
+
+  empty = numpy.zeros(shape=(0,0), dtype=numpy.float64)
+  zA = bob.learn.em.ztnorm(my_A, my_B, empty, empty)
+  assert (abs(zA - zA_py) < 1e-7).all()
diff --git a/bob/learn/em/version.cpp b/bob/learn/em/version.cpp
new file mode 100644
index 0000000..d3c36a9
--- /dev/null
+++ b/bob/learn/em/version.cpp
@@ -0,0 +1,224 @@
+/**
+ * @author Laurent El Shafey <Laurent.El-Shafey@idiap.ch>
+ * @date Mon Apr 14 20:43:48 CEST 2014
+ *
+ * @brief Binds configuration information available from bob
+ */
+
+#ifdef NO_IMPORT_ARRAY
+#undef NO_IMPORT_ARRAY
+#endif
+#include <bob.blitz/capi.h>
+#include <bob.blitz/cleanup.h>
+
+#include <bob.core/config.h>
+#include <bob.io.base/config.h>
+#include <bob.sp/config.h>
+#include <bob.math/config.h>
+#include <bob.learn.activation/config.h>
+#include <bob.learn.linear/config.h>
+// TODO: add other dependencies
+
+#include <string>
+#include <cstdlib>
+#include <blitz/blitz.h>
+#include <boost/preprocessor/stringize.hpp>
+#include <boost/version.hpp>
+#include <boost/format.hpp>
+
+
+static int dict_set(PyObject* d, const char* key, const char* value) {
+  PyObject* v = Py_BuildValue("s", value);
+  if (!v) return 0;
+  int retval = PyDict_SetItemString(d, key, v);
+  Py_DECREF(v);
+  if (retval == 0) return 1; //all good
+  return 0; //a problem occurred
+}
+
+static int dict_steal(PyObject* d, const char* key, PyObject* value) {
+  if (!value) return 0;
+  int retval = PyDict_SetItemString(d, key, value);
+  Py_DECREF(value);
+  if (retval == 0) return 1; //all good
+  return 0; //a problem occurred
+}
+
+/**
+ * Describes the version of Boost libraries installed
+ */
+static PyObject* boost_version() {
+  boost::format f("%d.%d.%d");
+  f % (BOOST_VERSION / 100000);
+  f % (BOOST_VERSION / 100 % 1000);
+  f % (BOOST_VERSION % 100);
+  return Py_BuildValue("s", f.str().c_str());
+}
+
+/**
+ * Describes the compiler version
+ */
+static PyObject* compiler_version() {
+# if defined(__GNUC__) && !defined(__llvm__)
+  boost::format f("%s.%s.%s");
+  f % BOOST_PP_STRINGIZE(__GNUC__);
+  f % BOOST_PP_STRINGIZE(__GNUC_MINOR__);
+  f % BOOST_PP_STRINGIZE(__GNUC_PATCHLEVEL__);
+  return Py_BuildValue("ss", "gcc", f.str().c_str());
+# elif defined(__llvm__) && !defined(__clang__)
+  return Py_BuildValue("ss", "llvm-gcc", __VERSION__);
+# elif defined(__clang__)
+  return Py_BuildValue("ss", "clang", __clang_version__);
+# else
+  return Py_BuildValue("s", "unsupported");
+# endif
+}
+
+/**
+ * Python version with which we compiled the extensions
+ */
+static PyObject* python_version() {
+  boost::format f("%s.%s.%s");
+  f % BOOST_PP_STRINGIZE(PY_MAJOR_VERSION);
+  f % BOOST_PP_STRINGIZE(PY_MINOR_VERSION);
+  f % BOOST_PP_STRINGIZE(PY_MICRO_VERSION);
+  return Py_BuildValue("s", f.str().c_str());
+}
+
+/**
+ * Numpy version
+ */
+static PyObject* numpy_version() {
+  return Py_BuildValue("{ssss}", "abi", BOOST_PP_STRINGIZE(NPY_VERSION),
+      "api", BOOST_PP_STRINGIZE(NPY_API_VERSION));
+}
+
+/**
+ * bob.blitz c/c++ api version
+ */
+static PyObject* bob_blitz_version() {
+  return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_BLITZ_API_VERSION));
+}
+
+/**
+ * bob.core c/c++ api version
+ */
+static PyObject* bob_core_version() {
+  return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_CORE_API_VERSION));
+}
+
+/**
+ * bob.io.base c/c++ api version
+ */
+static PyObject* bob_io_base_version() {
+  return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_IO_BASE_API_VERSION));
+}
+
+/**
+ * bob.sp c/c++ api version
+ */
+static PyObject* bob_sp_version() {
+  return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_SP_API_VERSION));
+}
+
+/**
+ * bob.math c/c++ api version
+ */
+static PyObject* bob_math_version() {
+  return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_MATH_API_VERSION));
+}
+
+/**
+ * bob.learn.activation c/c++ api version
+ */
+static PyObject* bob_learn_activation_version() {
+  return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_LEARN_ACTIVATION_API_VERSION));
+}
+
+/**
+ * bob.learn.linear c/c++ api version
+ */
+static PyObject* bob_learn_linear_version() {
+  return Py_BuildValue("{ss}", "api", BOOST_PP_STRINGIZE(BOB_LEARN_LINEAR_API_VERSION));
+}
+
+
+static PyObject* build_version_dictionary() {
+
+  PyObject* retval = PyDict_New();
+  if (!retval) return 0;
+  auto retval_ = make_safe(retval);
+
+  if (!dict_set(retval, "Blitz++", BZ_VERSION)) return 0;
+  if (!dict_steal(retval, "Boost", boost_version())) return 0;
+  if (!dict_steal(retval, "Compiler", compiler_version())) return 0;
+  if (!dict_steal(retval, "Python", python_version())) return 0;
+  if (!dict_steal(retval, "NumPy", numpy_version())) return 0;
+  if (!dict_steal(retval, "bob.blitz", bob_blitz_version())) return 0;
+  if (!dict_steal(retval, "bob.core", bob_core_version())) return 0;
+  if (!dict_steal(retval, "bob.io.base", bob_io_base_version())) return 0;
+  if (!dict_steal(retval, "bob.sp", bob_sp_version())) return 0;
+  if (!dict_steal(retval, "bob.math", bob_math_version())) return 0;
+  if (!dict_steal(retval, "bob.learn.activation", bob_learn_activation_version())) return 0;
+  if (!dict_steal(retval, "bob.learn.linear", bob_learn_linear_version())) return 0;
+  if (!dict_steal(retval, "Bob", bob_core_version())) return 0;
+
+  Py_INCREF(retval);
+  return retval;
+}
+
+static PyMethodDef module_methods[] = {
+    {0}  /* Sentinel */
+};
+
+PyDoc_STRVAR(module_docstr,
+"Information about software used to compile the C++ Bob API"
+);
+
+#if PY_VERSION_HEX >= 0x03000000
+static PyModuleDef module_definition = {
+  PyModuleDef_HEAD_INIT,
+  BOB_EXT_MODULE_NAME,
+  module_docstr,
+  -1,
+  module_methods,
+  0, 0, 0, 0
+};
+#endif
+
+static PyObject* create_module (void) {
+
+# if PY_VERSION_HEX >= 0x03000000
+  PyObject* m = PyModule_Create(&module_definition);
+# else
+  PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr);
+# endif
+  if (!m) return 0;
+  auto m_ = make_safe(m); ///< protects against early returns
+
+  /* register version numbers and constants */
+  if (PyModule_AddStringConstant(m, "module", BOB_EXT_MODULE_VERSION) < 0)
+    return 0;
+
+  PyObject* externals = build_version_dictionary();
+  if (!externals) return 0;
+  if (PyModule_AddObject(m, "externals", externals) < 0) return 0;
+
+  /* imports dependencies */
+  if (import_bob_blitz() < 0) {
+    PyErr_Print();
+    PyErr_Format(PyExc_ImportError, "cannot import `%s'", BOB_EXT_MODULE_NAME);
+    return 0;
+  }
+
+  Py_INCREF(m);
+  return m;
+
+}
+
+PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) {
+# if PY_VERSION_HEX >= 0x03000000
+  return
+# endif
+    create_module();
+}
diff --git a/bob/learn/em/ztnorm.cpp b/bob/learn/em/ztnorm.cpp
new file mode 100644
index 0000000..2164aed
--- /dev/null
+++ b/bob/learn/em/ztnorm.cpp
@@ -0,0 +1,146 @@
+/**
+ * @author Tiago de Freitas Pereira <tiago.pereira@idiap.ch>
+ * @date Sat 31 Jan 02:46:48 2015
+ *
+ * @brief Python API for bob::learn::em
+ *
+ * Copyright (C) 2011-2014 Idiap Research Institute, Martigny, Switzerland
+ */
+
+#include "main.h"
+
+/*** zt_norm ***/
+static auto zt_norm = bob::extension::FunctionDoc(
+  "ztnorm",
+  "",
+  0,
+  true
+)
+.add_prototype("rawscores_probes_vs_models,rawscores_zprobes_vs_models,rawscores_probes_vs_tmodels,rawscores_zprobes_vs_tmodels,mask_zprobes_vs_tmodels_istruetrial", "output")
+.add_parameter("rawscores_probes_vs_models", "array_like <float, 2D>", "")
+.add_parameter("rawscores_zprobes_vs_models", "array_like <float, 2D>", "")
+.add_parameter("rawscores_probes_vs_tmodels", "array_like <float, 2D>", "")
+.add_parameter("rawscores_zprobes_vs_tmodels", "array_like <float, 2D>", "")
+.add_parameter("mask_zprobes_vs_tmodels_istruetrial", "array_like <float, 2D>", "")
+.add_return("output","array_like <float, 2D>","");
+static PyObject* PyBobLearnEM_ztNorm(PyObject*, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = zt_norm.kwlist(0);
+  
+  PyBlitzArrayObject *rawscores_probes_vs_models_o, *rawscores_zprobes_vs_models_o, *rawscores_probes_vs_tmodels_o, 
+  *rawscores_zprobes_vs_tmodels_o, *mask_zprobes_vs_tmodels_istruetrial_o;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&O&O&|O&", kwlist, &PyBlitzArray_Converter, &rawscores_probes_vs_models_o,
+                                                                       &PyBlitzArray_Converter, &rawscores_zprobes_vs_models_o,
+                                                                       &PyBlitzArray_Converter, &rawscores_probes_vs_tmodels_o,
+                                                                       &PyBlitzArray_Converter, &rawscores_zprobes_vs_tmodels_o,
+                                                                       &PyBlitzArray_Converter, &mask_zprobes_vs_tmodels_istruetrial_o)){
+    zt_norm.print_usage();
+    Py_RETURN_NONE;
+  }
+
+  // get the number of command line arguments
+  auto rawscores_probes_vs_models_          = make_safe(rawscores_probes_vs_models_o);
+  auto rawscores_zprobes_vs_models_         = make_safe(rawscores_zprobes_vs_models_o);
+  auto rawscores_probes_vs_tmodels_         = make_safe(rawscores_probes_vs_tmodels_o);
+  auto rawscores_zprobes_vs_tmodels_        = make_safe(rawscores_zprobes_vs_tmodels_o);
+  //auto mask_zprobes_vs_tmodels_istruetrial_ = make_safe(mask_zprobes_vs_tmodels_istruetrial_o);
+
+  blitz::Array<double,2>  rawscores_probes_vs_models = *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_models_o);
+  blitz::Array<double,2> normalized_scores = blitz::Array<double,2>(rawscores_probes_vs_models.extent(0), rawscores_probes_vs_models.extent(1));
+
+  int nargs = (args?PyTuple_Size(args):0) + (kwargs?PyDict_Size(kwargs):0);
+
+  if(nargs==4)
+    bob::learn::em::ztNorm(*PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_models_o),
+                             *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_zprobes_vs_models_o),
+                             *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_tmodels_o),
+                             *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_zprobes_vs_tmodels_o),
+                             normalized_scores);
+  else
+    bob::learn::em::ztNorm(*PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_models_o), 
+                             *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_zprobes_vs_models_o), 
+                             *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_tmodels_o), 
+                             *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_zprobes_vs_tmodels_o), 
+                             *PyBlitzArrayCxx_AsBlitz<bool,2>(mask_zprobes_vs_tmodels_istruetrial_o),
+                             normalized_scores);
+
+  return PyBlitzArrayCxx_AsConstNumpy(normalized_scores);
+}
+
+
+
+/*** t_norm ***/
+static auto t_norm = bob::extension::FunctionDoc(
+  "tnorm",
+  "",
+  0,
+  true
+)
+.add_prototype("rawscores_probes_vs_models,rawscores_probes_vs_tmodels", "output")
+.add_parameter("rawscores_probes_vs_models", "array_like <float, 2D>", "")
+.add_parameter("rawscores_probes_vs_tmodels", "array_like <float, 2D>", "")
+.add_return("output","array_like <float, 2D>","");
+static PyObject* PyBobLearnEM_tNorm(PyObject*, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = zt_norm.kwlist(0);
+  
+  PyBlitzArrayObject *rawscores_probes_vs_models_o, *rawscores_probes_vs_tmodels_o;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&", kwlist, &PyBlitzArray_Converter, &rawscores_probes_vs_models_o,
+                                                                       &PyBlitzArray_Converter, &rawscores_probes_vs_tmodels_o)){
+    zt_norm.print_usage();
+    Py_RETURN_NONE;
+  }
+  
+  auto rawscores_probes_vs_models_          = make_safe(rawscores_probes_vs_models_o);
+  auto rawscores_probes_vs_tmodels_         = make_safe(rawscores_probes_vs_tmodels_o);
+
+  blitz::Array<double,2>  rawscores_probes_vs_models = *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_models_o);
+  blitz::Array<double,2> normalized_scores = blitz::Array<double,2>(rawscores_probes_vs_models.extent(0), rawscores_probes_vs_models.extent(1));
+
+  bob::learn::em::tNorm(*PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_models_o), 
+                           *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_tmodels_o),
+                           normalized_scores);
+
+  return PyBlitzArrayCxx_AsConstNumpy(normalized_scores);
+}
+
+
+/*** z_norm ***/
+static auto z_norm = bob::extension::FunctionDoc(
+  "znorm",
+  "",
+  0,
+  true
+)
+.add_prototype("rawscores_probes_vs_models,rawscores_zprobes_vs_models", "output")
+.add_parameter("rawscores_probes_vs_models", "array_like <float, 2D>", "")
+.add_parameter("rawscores_zprobes_vs_models", "array_like <float, 2D>", "")
+.add_return("output","array_like <float, 2D>","");
+static PyObject* PyBobLearnEM_zNorm(PyObject*, PyObject* args, PyObject* kwargs) {
+
+  char** kwlist = zt_norm.kwlist(0);
+  
+  PyBlitzArrayObject *rawscores_probes_vs_models_o, *rawscores_zprobes_vs_models_o;
+
+  if (!PyArg_ParseTupleAndKeywords(args, kwargs, "O&O&", kwlist, &PyBlitzArray_Converter, &rawscores_probes_vs_models_o,
+                                                                       &PyBlitzArray_Converter, &rawscores_zprobes_vs_models_o)){
+    zt_norm.print_usage();
+    Py_RETURN_NONE;
+  }
+  
+  auto rawscores_probes_vs_models_          = make_safe(rawscores_probes_vs_models_o);
+  auto rawscores_zprobes_vs_models_         = make_safe(rawscores_zprobes_vs_models_o);
+
+  blitz::Array<double,2> rawscores_probes_vs_models = *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_models_o);
+  blitz::Array<double,2> normalized_scores          = blitz::Array<double,2>(rawscores_probes_vs_models.extent(0), rawscores_probes_vs_models.extent(1));
+
+
+  bob::learn::em::zNorm(*PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_probes_vs_models_o), 
+                           *PyBlitzArrayCxx_AsBlitz<double,2>(rawscores_zprobes_vs_models_o),
+                           normalized_scores);
+
+  return PyBlitzArrayCxx_AsConstNumpy(normalized_scores);
+}
+
-- 
GitLab