partition function in statistical mechanics