Implement VariationalPCD for BoltzmannMachine
Add Space-related methods
Make irange an optional parameter
Change naming convention from 'ndim' to 'n_units'
Add mathematical derivation for 'sample' method in docstring