Boltzmann Partition Function Python Example Main Ideas