  The number partition problem is a well-known problem, which is one of 21
Karp's NP-complete problems \cite{karp}. The partition function is a boolean
function that is equivalent to the number partition problem with number range
restricted. To fully understand the computational complexity of the number
partition problem and the partition function is quite important and hard.
People speculate that we need new tools and methods \cite{aaronson} for such
problem. In our recent research on the universal learning machine \cite{paper5,
paper8}, we developed some tools, namely, fitting extremum, proper sampling
set, boolean function with parameters (used in trial-and-error fashion). We
found that these tools could be applied to the partition function. In this
article, we discuss the set up of the partition function, properties of the
partition function, and the tools to be used. This approach leads us to prove
that the lower bound of the computational complexity of partition function, as
well as the lower bound of the computational complexity of the number partition
problem, is exponential to the size of problem. This implies: P $\ne$ NP
\cite{cook}.
