ENH: Add the hungarian algorithm
TEST: Increase testing of hungarian
MISC: cosmit in hungarian
ENH: Speed up in hungarian
ENH: More speedups in hungarian
ENH: More speedups in hungarian
ENH: Still more speed ups in Hungarian
ENH: More speedups on Hungarian
This should make the hungarian algorithm accept rectangular cost matrices. Also enabled the tests.
NOTE: Only tested on rectangular matrices of shape nxm such that m > n.  Tests need to be expanded to test m < n.
An additional check needed in case where there are fewer columns than rows.
All assignments are made, but the algorithm wants to keep going because there are some rows left.
Added support for hungarian assignment problems where one dimension of the cost function is zero-length.
The result in such a situation should be an empty array.
Created an alternative hungarian solver for rectangular matrices that does not involve matrix padding.
Also modified the test to test the transpose of the cost matrix as well.
hungarian() now returns a 2-D array of indices instead of a 1-D array. Also modified the find_permutations test to accomodate.
Some minor changes to docs, and small simplification in code.
Still need to update docs for hungarian() and find_permutation().
API: scikits.learn -> sklearn
Updating namespace usage from scikits.learn to sklearn
ENH added Restricted Boltzmann machines
30% speed-up thanks to in-place binomial

From https://gist.github.com/359323.
ENH 12% RBM speedup with ingenious ordering of operations

+ inplace gradients for components_, 2% speed-up
rename h_samples to h_samples_