Out of curiosity: I didn’t compare your SMC with the one inside PyMC3. In the PyMC3, looks like an implementation of Cascading Adaptive Metropolis in Parallel (CATMIP), if I understood it right. Your implementation in TFP follows the one in PyMC3 or it’s another method? Since you commented about the mutation (there is a similar mechanism in CATMIP, if I remember well), is it different when compared to PyMC3?
Thanks!