In newer versions of Windows, on multicore systems, the system will by default prevent any single process from using all cores at the same time as a precaution against single (faulty) tasks freezing the entire system. A second process however is free to use any remaining processing power, so that is why running multiple processes will run at 100% CPU whereas a single process will not.
On a sidenote, I work a lot with matrices, but never really have a need for inversion. Any time I have a system of linear equations, I use a linear equation solver which is much faster (and more numerically stable!) than matrix inversion. I really can't think of any application that has a real need to invert lots of matrices to the point where this becomes a performance issue. Have you considered the question on whether you can avoid some or all of these inversions by just using linear solvers considering the fact that a linear solver takes at most O(n^2) whereas the typical inversion algorithm requires O(n^3)? (I say typical because more complex inversion algorithms can be better in O complexity even though they may be hard to implement and come with a big constant factor; see
http://mathforum.org/library/drmath/view/51908.html[
^] for some numbers and background info)