[mlpack] branch svn-trunk created (now 5071776)

Barak A. Pearlmutter barak+git at cs.nuim.ie
Sun Apr 13 21:38:31 UTC 2014


This is an automated email from the git hooks/post-receive script.

bap pushed a change to branch svn-trunk
in repository mlpack.

        at  5071776   Modify test for new RangeSearch API.

This branch includes the following new commits:

       new  1e06285   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9450 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  745f70a   Restructure MLPACK directories to the format suggested in #2.
       new  895d502   Move some things out of fastlib/ and put them in src/core.  I will destroy the FASTLIB name forever!
       new  3736684   Finish moving out the last of the fastlib/ directories.
       new  2faef60   I have waited so long to do this.  I really have, I mean it.
       new  68dd90b   I have waited so long to do this.  I really have, I mean it.
       new  7af9c9a   Clean up root CMakeLists configuration a little bit, and remove FASTLIB.
       new  6f4bf61   Move all the MLPACK methods into src/methods.
       new  e71f479   Clear up CMake configuration.
       new  f226414   sparse_censorship was removed so we should take it out of the CMake configuration too.
       new  b9e896d   Update all CMakeLists.txt files to reflect new directory structure.  Remove any references to FASTLIB present in those files.
       new  de2b16e   Move everything to src/mlpack and src/contrib.  This makes the setup a little more complex, but it makes the build system work properly (although that has not entirely happened yet).
       new  592db51   Update all includes so that things work and compile again.  A couple MLPACK methods needed to be commented out entirely.
       new  ceb5079   Add that core.h file which we were using in place of fastlib/fastlib.h.
       new  f41096a   Move header files properly to <builddir>/include/mlpack/ and then install them correctly to $prefix/include/mlpack.
       new  990b86e   fixed a comment, added paper citation
       new  be382ab   Refactoring math dir : getting rid of unused functions and constants (#116: Investigate what is present and used in fastlib/math/)
       new  858959a   Remove PI; it is included in math.h, although with less precision.
       new  63b6706   range.h and kernel.h are no longer included in math_lib.h.
       new  259d2c3   Stop using math::PI; use PI contained in <math.h> instead.
       new  cc52622   Stop using math::PI
       new  6090638   Stop using Sqr(); use pow(x, 2) -- it is faster.
       new  6d8ad37   Don't use Sqr(); use pow(x, 2) -- it is faster.
       new  c808a94   So it's actually M_PI not PI.  What am I smoking today?
       new  3fb6405   It's actually M_PI not PI.
       new  9529042   Include the correct files since math_lib.h no longer does that.
       new  fad5294   Make sure we include M_PI, and if the system does not define it for us, we'll give it our best shot.
       new  c67508a   Be a bit smarter about what we glob.  We don't want .h.swp and we don't want .h.svn-base or anything like that.
       new  e775429   Make MOG compile.  I am certain it doesn't work because I know I broke it in a couple places, but it compiles.  In the future, we can do a little bit of cleanup work and it will be good to go.
       new  0f9a5b1   Orthogonal range search will be too difficult to preserve and we should start over with it.
       new  043f2ac   Finish the unit test for HRectBound, completely.  Took a couple of methods out and fixed a previously unknown-of error in RangeDistance(arma::vec&).  See, this is why unit tests are good!
       new  0a51116   Create a simple linear regression class
       new  b569778   error: ‘struct arma::subview_col<double>’ has no member named ‘ones’ fix
       new  6644211   added task sparse coding directory (matlab version) with basic blocks in place (lpsvm and pegasos)
       new  d4a6edc   added first version of TaskCoding optimizer
       new  51b8015   updated n_point for reorganized mlpack, also removed link against fastlib in contrib/CMakeLists.txt
       new  fed0b96   Rename DHrectPeriodicBound to PeriodicHRectBound.  Remove the test for now. Also remove a bunch of methods so the API matches HRectBound.
       new  0ee4448   trivial change to TaskCoding.m
       new  bdbf9c7   Change the name of a few methods in PeriodicHRectBound to match.  Implement several of the necessary unit tests as a guideline for Vlad, with the most important of those being the MinDistance(point) test.
       new  feb0786   changed minibatch size for pegasos
       new  d573052   now passing delta parameter to lpsvm, as it fails miserably otherwise
       new  eb64650   fixed way of sparsifying codes in generative model
       new  a0866d4   enabled projection step, although I still do not know if this is necessary
       new  a5af9c1   added error computation
       new  59afe08   various changes to TaskCoding.m
       new  1eb197b   LinearRegression -> mlpack::linear_regression namespace
       new  40571ec   formatting changes
       new  a5967ef   fastica -> mlpack::fastica, lin regr style
       new  4855331   hmm methods -> mlpack::hmm
       new  4c41860   Fix two warnings relating to unsigned/signed comparisons.
       new  9ce3790   Don't compile the main executable and test executable into the library itself.
       new  deebce7   adding (nonworking) single bandwidth test, removed fastlib from contrib's CMakeLists.txt
       new  c169a89   Update CMake configuration to not comment out everyone's code (only most of it). Remove some artifacts relating to FASTLIB and clean up the file just a bit.
       new  727e46c   infomax_ica -> mlpack::infomax_ica namespace
       new  e607db9   naive_bayes -> mlpack::naive_bayes namespace
       new  130516d   regression -> mlpack::regression namespace
       new  aae5fec   added sparse perturbation versions of Gaussian Sparse Coding
       new  7fe1e9e   added some run scripts
       new  2dda691   Make main usable, --help explains options now
       new  24abba4   added code (needs to be debugged) for convex MTFL
       new  160cf1b   added argyrious convex mtfl
       new  aac7ee1   Oops, we wanted the name of the file, not the vector.
       new  57b62da   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9587 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  c86dd3f   fixed
       new  ca5c81d   Idiot Ryan is idiot idiot idiot idiot
       new  7a1d29e   mlpack/trunk: modify the clamp function
       new  056c823   mlpack/trunk: modify the clamp function
       new  6558f3e   mlpack/trunk: fix the ClampRange mistake; the previous functions need more intuitive names
       new  c26d0cb   Resolve #142 by removing the problem entirely.
       new  b1b8210   switched to LP formulation of one-norm SVM, in search of stability
       new  4cfc565   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9605 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  099d6ce   added pegasos minibatch without replacement (bouttou style)
       new  ad0f36b   mlpack/trunk: delete an extra space
       new  60bd486   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9610 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  7dcec1f   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9611 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  38b0149   nnsvm -> mlpack::nnsvm namespace SVMLinearKernel, SVMRBFKernel -> kernels/linear_kernel, kernels/gaussian_rbf_kernel
       new  62ff1ab   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9618 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  dacba39   helps to add the files
       new  32fc6e1   mlpack/trunk: per bug 131, add a SaveRestoreModel (and abstract Model) class(es)
       new  62044f0   mlpack/trunk: eliminate the newer call to clear breaking the build
       new  c80a67a   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9623 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  ea3ad30   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9624 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  a989213   fixed bug in Learn.m where we accidentally have the same variable name, n_iterations, to represent both n_iterations to run convex multi-task feature learning and pegasos
       new  0b2921b   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9626 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  c233542   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9627 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  07db151   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9628 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  83ef9a1   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9629 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  2cf9c69   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9630 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  939e440   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9631 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  763fcde   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9632 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  251c8be   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9633 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  5a924d4   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9634 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  7c3f740   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9635 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  dec3dad   changed GenerateSyntheticData so that all atoms are unit norm
       new  6cd5522   temporarily changed TaskCodingWStep to use svm_lower_bounded_margin
       new  eb510d9   added svm with lower bounded margin
       new  4ca7243   added pegasos with lower bounded margin
       new  5fd0bb5   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9681 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  27f5aa0   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9682 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  7001d3b   changed some display stuff, and now normalize initial W so that each col has unit norm
       new  c368e7a   faster, via precomputation of X * diag(y)
       new  af6e994   display aesthetics changes
       new  e64d75b   added angle resampling tests, squished some bugs, still a few to go.
       new  4a57058   Performance improvements to kd_tree_test, added peer bounds checking.
       new  036eb86   Removed some output's that will break the automated unit tests.
       new  dbdb273   sorry, broke the build; I'm now completely in favor of Ryan's idea to move contrib out of the mlpack directory.
       new  c61a736   Reduced the size of the kd_tree_test again, that way it will *hopefully* finish in less than 5 min.
       new  d6e0a2f   Clean up code; make helper functions more generalized; grammar Nazi.  Use L2 distances because I think we have that implemented just a little bit faster.
       new  f4314c6   Clean up the code.  I think we can make it a little faster by how we do the comparisons.  Also there was an invalid memory access issue which is now fixed, in GenerateVectorOfTree().
       new  e8c6d2e   Make lin_reg adhere to the proposed interface for mlpack methods.
       new  5a3dcd6   Simple Doxyfile changes.  Let's see if we generate the right API.
       new  4e04f05   Update Doxygen configuration.
       new  359e796   Split IO into IO & Log.  Fixed everything up, all tests work. Will proceed to rename IO to CLI.
       new  1d29675   For some reason it seems Sed missed gmm and it was already up to date so make didn't touch it.
       new  2ba17a7   Shooping the whoop on our Doxygen configuration.
       new  363c6a0   Write the main page of Doxygen documentation.
       new  7c36047   Doxygenate?  Doxygenize?  Doxitize?  Doxify?  Doxenation?  DOXY NATION!
       new  15308f6   Clean up some more Doxygen.
       new  23d4fc3   mlpack/trunk/src/contrib: create my directory
       new  b86feb3   mlpack/trunk/src/contrib/nslagle: copy the kde code base from D Lee
       new  7b4796d   added display of sparsity and nnz for Q
       new  1ffd8c2   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9907 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  7b695f6   added preliminary version of censorship experiment
       new  9c128ee   mlpack/trunk/src/contrib/nslagle: continue updating kde
       new  0c05252   mlpack/trunk/src/contrib: revert changes to the CMakeLists.txt
       new  a3b31aa   mlpack/trunk/src/core/tree: revert the statistic.h for now
       new  6d38f9e   MaxIP search ported to new MLPACK and ComputeBaseCase is modified to use memmove instead of vector and push_back
       new  3d5190a   mlpack/trunk/src/contrib/nslagle: commit fledgling kde kcde
       new  95515f0   mlpack/trunk/src/contrib: hide PRam directory until the missing file reappears
       new  3dcf943   Make a custom stylesheet for our Doxygen output so it matches Trac.
       new  8379889   Some changes so it works with Trac.  I'm sure I didn't get it all right.
       new  5ad3b15   Rank-Approx MaxIP partially completed and not compiled yet
       new  24ad621   A couple changes to make it work right with Trac.
       new  a61a780   Just a couple CSS changes.
       new  8e6709d   A few more changes because monospace fonts are not being used in the right places.
       new  52dac0b   Oops, I broke the local documentation style.  This should fix it.
       new  ee0c6dc   Add an example kernel for documentation purposes.
       new  7c4dc3c   Document GaussianRBFKernel just a little bit better and clean up the code.
       new  bd9d3d3   Apparent inability to perform simple math
       new  f61e396   Oct 20 arma error
       new  03249bf   Check .hpp and .cpp files for documentation also.
       new  db4605a   Refactor and comment GaussianRBFKernel.  Rename it GaussianKernel.
       new  15bdfd1   Comment CosineDistance.  Fix a problem I introduced in GaussianKernel.  Rename a few files.
       new  6aa9777   Document the linear kernel.  Rename some files.
       new  fec7303   Add a few contributors I'd forgotten about and don't include kernel.h -- it doesn't exist.
       new  55bc1a0   Update NNSVM.  Don't count on those special functions that were in LinearKernel. I probably broke the save/load functionality, but Neil will solve that for us all with LibXML.  The future is coming!
       new  043f500   Oops, that single warning apparently makes the build unstable...
       new  7a926c5   Move files to .hpp and .cpp.  Comment LMetric and MahalanobisDistance well.
       new  d3e2f03   Fix a couple loose ends I didn't before.
       new  35a61a7   Fix includes and const.
       new  c07a630   Update name of lmetric.h to lmetric.hpp.
       new  d7bef9c   Update name of lmetric.h to lmetric.hpp.
       new  69ea0fd   lots of changes, including loading of bush half censored dataset
       new  07b8301   added lars, mostly due to Karl Skoglund and Jingu Kim
       new  e393f2b   added Gaussian Sparse Coding using lars (with simpler code that does not generalize to expfam case, as well as perturbed version, and MTL version with perturbations
       new  90f35d0   alt traversal implemented and checked, approx-max-ip still to be checked
       new  1bfb327   added negativity constraint to dictionary perturbation
       new  01f5f4c   added active set algorithms for nonnegative least squares with l1 penalty, as well as nonpositive least squares with l1 penalty (both algorithms are nearly identical)
       new  5136a1a   added same as last update but using cvx (probably a lot slower
       new  b0f626c   added function for censoring based on some proportion of occurrences of top 10 words in a given topic
       new  3eae8cb   forgot to add this objective function
       new  6262099   added another censorship script
       new  64f6cdd   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@9993 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  ee9c9d4   mlpack/trunk/src/contrib/nslagle: remove my directory from compilation and testing (damn you Jenkins)
       new  17c5e4b   Document NeighborSearch class.
       new  d1d0fa9   Put these things inside the gmm namespace.
       new  c53919b   Document the SortPolicy classes; we will use the NearestNeighborSort class as the example class.  Also change things so they are .hpp and not .h (#152).
       new  e6cd2fd   Hide parameters inside of a namespace to help avoid collisions (#74).
       new  d2ce07c   Hide PARAM declarations inside a namespace to help avoid collisions (#74).
       new  76df992   Approx max ip running, approx tester running as well (but both not thoroughly checked
       new  53f5930   Approx max ip running, approx tester running as well (but both not thoroughly checked
       new  d4ee266   Insane commenting of everything.  I think the PARAM_* macros should be split into another file because they are big now.  Also, rename some files (#152).
       new  dc39e76   Implications of renaming io.h to cli.hpp.
       new  55272d4   Make sure we include cli.hpp, not io.h.
       new  2bbe6f4   Put dballbound into namespace mlpack::bound
       new  c6f4795   Move log.h to log.hpp, log.cc to log.cpp, and comment those files.
       new  153adcd   Implications of log.h -> log.hpp change.
       new  0e35265   mlpack::math namespace mess
       new  ea47d3e   Hah.  That last important file need to change.  Yeah, that one...
       new  2d2d496   Move some more files to .hpp or .cpp.  Place Option and ProgramDoc classes inside the io namespace.  Oh, and document them all, because doing that is a Good Thing.
       new  3c4a933   Move files and then make sure documentation is created correctly.
       new  5ad7972   Uh, I forgot a few things.  Stupid Ryan.
       new  64c9716   Remove using namespace mlpack::math in favor of math::Range
       new  849f636   Comment the rest of the things in the io directory and move the files to .hpp and .cpp.
       new  c8eef15   Change core/tree, core/math to *.hpp, *.cpp
       new  52a8ec4   Use BOOST_REQUIRE_SMALL instead.
       new  5707377   change optimizers/* to use hpp and cpp file extensions
       new  5b1f44f   Change core/model to use *hpp, *cpp Reformat core/model namespaces Add namespace info to nnsmo*.h.
       new  e38a41b   Change linear_regression file names to hpp, cpp Change #ifndef, #define
       new  85259de   Move nnsvm to *hpp, *cpp files. Fix #ifndef, #defines
       new  0ba1b95   Move emst to hpp, cpp extensions Change #ifndef, #defines
       new  c35eceb   Move fastica -> hpp, cpp file extensions Update #ifndef, #defines
       new  63fb5c6   Removed Dataset. Converted all data::Load and data::Save to armadillo's .load and .save.
       new  2e8c83f   mlpack/trunk/src/mlpack: rearrange and restructure the save/restore mechanism; clean up some code
       new  6cd2b57   mlpack/src/mlpack/core: remove files I accidentally re-added
       new  0813b31   Move spacetree.hpp to binary_space_tree.hpp (better name) and comment it all.
       new  f6a3758   Update includes of binary_search_tree.hpp.
       new  b579ba3   Reformat files in the math directory; comment them, and adhere to some new coding standards (#153).
       new  a350393   mlpack/src/contrib/nslagle: continue modifying the KDE code
       new  739e29a   Oct 25th, Rank-approximate fixed for very high k-values
       new  d5931ae   Changed a filename
       new  38e5831   Changed filenames
       new  c15d1ea   Using math_misc.hpp not math_lib.hpp.
       new  60f30ed   appropriate changes made to work with new mlpack + alt-angle-pruning added
       new  5bffe53   Update names which were missed due to svn merges and my own failure to check the build.
       new  10ac3be   Waiting for arma::load() transpose -- quick fix now
       new  0e346db   Bank error in your favor.  Collect $100.
       new  6e3ee2a   Seriously, I didn't check this in?
       new  9b875c7   Add extra Mat code to load a transposed matrix.  The patch has not yet been submitted to Conrad.
       new  89e3e33   Don't include Armadillo directly; just include core.h.
       new  142a546   Use CSVs not ARFFs.  Transpose the dataset upon loading.
       new  9055981   Transpose matrices upon load
       new  59ab672   Why was it named .arff when it was a .csv?
       new  85bc1ef   That's odd, I didn't properly convert that one to CSV.
       new  da1fe16   Use overloaded mat.save() and mat.load() functions.
       new  960b1b4   Different ordering for includes.  Include armadillo in arma_extend.h.
       new  b74c427   Corner case: last_coordinates_ may happen to be initialized to what the user passes in as the coordinates; and in that case, the Precalculate() doesn't actually do its job.  So, make sure a precalculation is done if one has never been done before.
       new  82d221c   Cone-tree code named appropriately
       new  69d515a   Cosine tree -- co-axial cone tree added and tested
       new  98ad632   Require Armadillo 2.0.0 minimum, so we have CSV support.
       new  01daf3d   contrib/nslagle: newest, not yet working KDE code; multi-bandwidth, dual-tree
       new  bd29de3   Stupid idiot Ryan should not have checked that in
       new  7d20497   Rename files to .hpp, .cpp
       new  95c90dd   Add load and save and a constructor that loads model from file
       new  d6660a1   Fix #ifndef, #define, #endif
       new  b410933   Fix braces, #153
       new  3e39bc1   mog/* to hpp & cpp filenames, fix #defines, etc
       new  26a6a23   core/file to hpp & cpp
       new  fe649e4   refactored random generation stuff, wrote a simple timing case
       new  5156c67   Stop using TextWriter.  This breaks already broken code.  Waiting on resolution of #131.  Also, this introduces forty ten bajillion warnings.
       new  b0e02ca   Remove col/ and file/ since they are no longer used.
       new  aa40492   Don't include textfile.h because it doesn't exist.
       new  a9185aa   fixed small bug in angle results, made random generation stuff backwards compatible with boost (hopefully)
       new  2c8905c   Split timer functionality from CLI to Timers.
       new  e697c31   Reformatted #includes according to new specifications.
       new  150ea32   Fighting with SVN over actually committing changes for timers.
       new  063a391   Formatted according to new brace styles.
       new  c20910f   wrote emst_tests, fixed a few problems created by blindly replacing index_t with size_t
       new  c78b411   Add data::Load() and data::Save() methods to wrap Armadillo functionality. Sadly we can't seem to get away from that.
       new  cb22fef   Re-add data directory.
       new  8c0a0b7   Add load.hpp and save.hpp to default includes.
       new  4df383c   Use data::Load and data::Save.  This should fix our tests being slow.
       new  af8e09b   Fixed regression w/ timers.
       new  264f400   mlpack/contrib/nslagle: add the multi-tree base function
       new  0530e61   mlpack/contrib/nslagle: add the multi-dualtree function
       new  629dce9   No need for duplication
       new  f1d4d70   The all encompasing test, it should be just names mlpack_test in the bit directory. All required dataset files are in a folder as well.
       new  ef4a472   cleaned up a bit
       new  79d59f0   mlpack/contrib/nslagle: commit more changes
       new  8281556   mlpack/contrib/nslagle: commit a possibly working version
       new  ecf550f   mlpack/contrib/nslagle: correct for bounds; track the success level for each bandwidth
       new  e23371c   mlpack/contrib/nslagle: commit more tweaks
       new  535b4fb   mlpack/contrib/nslagle: commit the latest changes; the binary tree apparently is not full
       new  1175338   mlpack/contrib/nslagle: I wonder if the algorithm ever really worked...
       new  66ef6e3   Use BOOST_REQUIRE_CLOSE instead of just plain assert().
       new  9d37d2e   Fix compiler warnings so build is stable.  This whole output file business still needs to be fixed.
       new  a1cdd18   mlpack/contrib/nslagle: the algorithm almost works...
       new  2ab0f84   Update mog functions, eventually to be renamed GMMs.  Work in progress -- not yet complete.
       new  ecb1578   Add test for MoGEM.
       new  944a5ea   MaxIP search commit after submission, need to clean up code and add approxMaxIP and fix the dual tree
       new  3dc9e8c   New pairwise distance computer
       new  f06f750   Cleaned up and moved all stray tests and test data that is included in the general mlpack_test.
       new  ae8f64b   Someone owes me some food for this... well... if it's the bug.
       new  df7ae59   mlpack/contrib/nslagle: KDE almost works, again...
       new  d1218f9   comments
       new  f78debd   vec = double resized the vector to size 1.
       new  e3b5632   A better test, but it's not quite working for some reason.
       new  31c5234   Set intercept to 0 for test debugging.
       new  0268c78   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10206 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  71aac2d   Remove the extra load() stuff that was not the right choice in the end.
       new  f872e33   No more contrib/.
       new  258eefc   Fix documentation a little bit.  We want the bug list; we don't want .svn.
       new  d2f1799   Use new load().
       new  94d4d34   Linear regression changes & fixes
       new  03af748   Better comments, coding style improvements
       new  560314b   Ticket #126 : PCA code
       new  6887b37   Ticket #126 : added entry for pca
       new  06cea80   Update all tests to new formatting standards and make them all .cpp not .cc.
       new  45c2f20   added comments and made some formatting changes
       new  0ffe721   Add HMM test.  A bunch of stuff does work.
       new  d40b1be   Modify HMM code.  We'll make a new class, HMM<Distribution>, which will serve the purpose of all three of the previous classes.
       new  00f9de4   Change the names of a few methods, and implement supervised training/estimation.
       new  1b952ee   Add test for supervised transition and emission matrix estimation.
       new  61fed12   Loosen bounds on test because the variance in the test is a little more than I had thought.  I think these bounds are still good enough to know the test works.
       new  d7ee57f   Now there's a tricky corner case.  If the random value is 1, then that inequality is never satisfied.
       new  862fd6e   Implement Generate() functionality.
       new  744f484   Widen error tolerance to more reasonable levels (determined empirically).
       new  3dd6245   Add function to calculate log-likelihood.
       new  f57c3c5   It's tired and I'm late, so I make stupid simple errors like this.
       new  c6e7a9d   Add one more test for Generate().  The tolerance is a bit higher than I would like, but that's okay.
       new  d4ae82e   Test HMM::LogLikelihood() for the discrete case.
       new  e3c8c21   Comment Estimate() a little better and provide a convenience overload.
       new  46887e7   Use exact tolerance for probabilities, because it's harder to estimate smaller numbers.
       new  9aa8932   Begin construction of Distribution classes so that we can generalize the HMM class.
       new  2725303   Oops, I named a file wrong.
       new  927199a   Update CMakeLists to include new files.
       new  fb3f5cc   Flesh out DiscreteDistribution class entirely.  Inline functions in class definition.
       new  64e51b8   Add tests for DiscreteDistribution.  These all work.
       new  dbbd866   Fix compiler warning.
       new  33bead1   Make normalization safer; avoid division by 0.
       new  9e5ce55   Add simple constructor and then make sure that every constructor normalizes the distribution.
       new  3469f96   Make sure the distribution is normalized.
       new  03de9df   Test that the distribution is normalized after construction.
       new  706421d   Abstract away from the discrete case.  Now, everything depends on Distribution (I think).
       new  7e32ab4   Use new HMM syntax, with DiscreteDistribution instead of int.
       new  5f3fdf6   Document the HMM class more effectively.
       new  3e5c098   Use a default template parameter for HMMs.
       new  9907152   changed the pca api. not using Armadillo's pca anymore. Still making a few changes ..need to check-in the comments to the api.
       new  eaa5269   Code refactoring. Added comments to the methods.
       new  0bb7a8b   Move mog to gmm and update CMake configuration.
       new  8a45eaa   Remove MoGL2E.  That can be implemented some other day.
       new  fef9123   Move GMM test to where all the other tests are.
       new  916057c   Add an overload of phi() which can do multiple data points at once; this way, we can avoid recalculating the inverses of the covariances over and over and over again.
       new  676781b   Remove debugging output.
       new  84ee5ca   Rename MoGEM to GMM.  Make cond_prob calculation a lot faster (but there are still some speed issues to work on).
       new  17c76d9   Why did this ever pass any tests?  I am officially confused.
       new  6776365   dd
       new  a083ef3   Checkin mid-progress.  Arbitrary data types added, need to clean up NearestNeighbors since it makes a few (too many) assumptions about the matrix it'll be using.
       new  c5c30c0   What is wrong w/ my svn?
       new  ca51507   Working copy SVN metadata is broken..
       new  52e943a   Diffed a clean working copy, this should end my svn issues.
       new  6bd3f95   Reverted changes, as it is apparent diff did not work.  Will work on that, too.
       new  887a594   Format things just a little better.
       new  efddf2c   I am really frustrated by tests that don't always have a deterministic outcome.
       new  9c539a2   Update GMM code.  It should be a little faster training, but it is still too slow for my preferences.  I am not sure what is making it so slow.
       new  d52ab35   Compile GMM.
       new  3460858   Flesh out main executable for GMMs.
       new  7871cc8   Tests for GMM.  Multivariate multi-Gaussian training tests included (that was the hardest one to get working right).
       new  c6f3bdf   Const-correctness, yo.
       new  1182a25   Fix some warnings I inadvertently introduced.
       new  c9cb59a   Add Gaussian distribution class.
       new  77a3ce9   Compile Gaussian distribution class.
       new  558fd59   Tests for GaussianDistribution class.
       new  1002fdb   Why is this file here?
       new  83ec0fe   #162: use log-likelihoods instead of direct probabilities because direct probabilities get too small.
       new  b135f87   Add a first test for a Gaussian HMM.
       new  1428a3a   I accidentally had not generalized to the general observation case.
       new  09cff1c   Add test for Gaussian HMMs where we are training for both the labeled and unlabeled case.  Almost done with the Gaussian HMM tests.
       new  d0a9761   Widen tolerances for unlabeled training.
       new  31e746a   Fixed some formatting.
       new  30bd390   Test Generate() with a Gaussian HMM.
       new  f9972e8   Make sure the state probability makes sense.
       new  c330b49   Don't use srand() in tests, so that the results are reproducible.
       new  63667a8   Move distance functions and metrics into metrics/, and update the build accordingly.
       new  daedc53   Update kernels to metrics (where applicable).
       new  4c13567   Update kernels to metrics (where applicable).
       new  82978e8   Fix style as per #153 and name local class members as per #118.
       new  dcce751   Update style for #153; it was not completely done.
       new  02e9792   Adapt style per #153.
       new  18be42f   Fix formatting as per #153.
       new  bbf5ced   Remove test file, and fix formatting as per #153.
       new  3bb5686   Update style as per #153.  Also, we didn't need the test here anymore.
       new  ae9c8ba   Fix formatting in tests/ as per #153.
       new  7f8a1cc   Format EMST as per #153.
       new  81cc122   Comment FastICA code as per #153.  Remove a couple unused functions in lin_alg.hpp.
       new  1f87f2e   Change filenames as per #152 and fix formatting as per #153.
       new  af0ff38   infomax_ica.h is now infomax_ica.hpp.
       new  40394b8   Remove kernel PCA before Ajinkya's version, since Nick's won't be used.
       new  55173a6   No more kernel PCA = no more kernel PCA test.
       new  008ecfd   Update formatting of linear_regression to reflect decisions made in #153.
       new  50f228c   Move filenames to .hpp and .cpp to help finish #152, and fix style in accordance with #153.  Removed phi() since it is a copy of the version found in methods/gmm/ (which will also have to be moved).
       new  d221e8c   simple_nbc.h is now simple_nbc.hpp.
       new  abb7d5d   Change NCA filenames according to #152 and change style according to #153.
       new  e3b168f   nca.h is now nca.hpp.
       new  224b269   Rename files to .cpp and .hpp in accordance with #152, and fix style to be in line with decisions in #153.
       new  bcb8695   neighbor_search.h is now neighbor_search.hpp.
       new  ccd05d0   We won't use Nick's implementation of ridge regression; we'll extend linear_regression instead.
       new  9ac7fed   Remove RidgeRegression test since we aren't using that implementation anymore.
       new  06b1261   Change to .hpp.
       new  036dd11   Change name to .hpp.
       new  1871d99   arma_extend.h is now arma_extend.hpp.
       new  2429cd9   No more regression.
       new  639507d   arma_extend.h is now arma_extend.hpp.
       new  923d45c   Use long doubles for comparison (compatibility with older Boost UTF).
       new  25585cd   Style MVU as per #153 and move to .hpp and .cpp as in #152.
       new  8734051   Fix formatting of NNSVM code (#153).
       new  ed40af2   These methods are unmaintainable and will have to be re-implemented.
       new  bf76fba   Remove SVM test and NNSVM test.
       new  0133383   This is not used anymore.
       new  bc8c02b   Move core.h to core.hpp.  Fixes #152.
       new  acf2961   Move K-Means to be its own method.
       new  c16989e   Make KMeans into an actual class.  It now supports "overclustering".
       new  003362a   Add test for KMeans.
       new  2537817   Add KMeans test and comment out GMM test since its API has not yet been adapted to work with the new KMeans.
       new  791e148   Don't build GMMs because they don't yet work with the new KMeans class.
       new  c73be0c   Add test for MinDistance identical case.
       new  13213a0   Add a test for the identical case for MaxDistance().
       new  4515594   Adapt to new KMeans API.
       new  bd2fd77   Start compiling GMMs again.
       new  94c9cc7   GMM tests work again.
       new  827812b   <#126: Implement simple PCA> adding pca_test
       new  976b84b   <#126: Implement simple PCA> adding pca_test
       new  01551c2   <#126: Implement simple PCA> removing pca_test from pca dir (Added it in tests dir)
       new  b89374a   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10418 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  37373be   <#126: Implement simple PCA> changed assert to BOOST_REQUIRE_SMALL
       new  bc5a92b   Absolutely minor formatting issue fixes; use BOOST_REQUIRE_CLOSE instead of BOOST_REQUIRE_SMALL.
       new  f5a7b9e   Abstract some features of KMeans into template policy classes.
       new  be7eee9   Adapt KMeans to new policy-based API.
       new  0547185   Test the different policy features of KMeans.
       new  fe4f97e   I thought I was helping, but it turns out I just made things worse. BOOST_REQUIRE_SMALL is necessary because the eigenvalues could be zero.  The fabs() isn't, though.
       new  322f7ba   You have to zero the counts first!
       new  44a05b5   A better way of calculating the covariance, more akin to arma::cov.
       new  d8b572e   Executable for K-Means.  Celebrate!
       new  cf69c2e   Main executable for PCA.  A couple little tweaks to the PCA code here and there.
       new  24ce665   <#165: PCA::Apply() fails with Armadillo error> was a minor bug in the indices passed to shed_cols
       new  af87108   A couple formatting fixes after Ajinkya's fix for #165.
       new  8804395   A couple more formatting fixes.
       new  c6f4f5c   Make sure the covariance matrix is positive semidefinite.
       new  6bd7330   Add another test case and simplify the first test case; the second test case currently does not work.
       new  20ee989   Update timers.hpp and timers.cpp to conform to formatting guidelines (and fix a syntax error!).
       new  25e6c8d   mlpack/core: apply some changes to HRect, Log, and BinarySpaceTree
       new  ce70714   mlpack/core: undo an unnecessary change; remove a pesky warning
       new  3abed91   mlpack/core: add std::vector as a save/load valid type (so long as the templated type is basic, for now)
       new  100177d   Change API to newer standards for HRectBound and BinarySpaceTree.  Fix some formatting issues introduced in r10459.
       new  dfa399a   Make Range adhere to new formatting and naming conventions.
       new  42d52c0   Update uses of BinarySpaceTree to conform to new API.
       new  a9499e3   Update tests to reflect API changes.
       new  a9f1b11   I have truly gone full style Nazi.  But hey, now the variable naming conventions are correct here!
       new  206217a   Improper use of regex leads to over-confidence about code compilability then sudden erosion of programmer confidence.  Moral: your regex is always wrong.
       new  2f9dd81   Revamp L-BFGS code to remove CLI from its insides.  Naming convention fixes, const fixes, the works.
       new  9571306   Fix const-correctness of GetInitialPoint().
       new  ee04616   Remove FastICA because Nishant will be implementing RADICAL instead.
       new  0336cdd   Don't compile lin_alg_test while I think of where to put that code.
       new  9d7d41a   Fix for integer parameter.
       new  0fda9e1   Move FastICA linear algebra utilities to core/math/ (pending rename).
       new  160cfe5   Run the linear algebra test again since it's now in a different place.
       new  ce3b874   < #166: PCA fails comparison with MATLAB> centering and scaling was causing the difference. By default other packages do not do zero-centering and scaling with std deviation.
       new  f70f05b   Remove unused PARAM_*.
       new  f6bda85   Ripped CLI out of nbc & gmm. Moved over to their respective mains.
       new  aa53e04   Ripped optionshierarchy out of CLI, deleted files.
       new  b436f65   Overhaul API for NeighborSearch (it probably is not complete) and remove dependence on CLI to help fix #150.
       new  e219849   Update tests to conform to new NeighborSearch API.
       new  5f18ab5   Accidentally committed this minor change.
       new  3852bc2   Remove CLI parameters from LBFGS.
       new  74cae8c   Remove infomax_ica since it will not be released.
       new  5ca86a8   Update comment to be more accurate.
       new  71895b5   Minor tabbing fix.
       new  7d4fa0c   Remove InfomaxICA test.
       new  e8d9778   Remove Print() function in accordance with #164.
       new  1e99b50   Formatting fix, and prune CLI from the internals of DTB.
       new  7a1dc64   Prune CLI from the internals of DTB.
       new  e87c4c6   Put the statistic class into the tree namespace.
       new  e07328c   Add (as-of-yet) untested Range::Contains(const Range&).
       new  aaafddf   Add RangeSearch to the list of methods we have.
       new  31ad18f   Add tests for RangeSearch; they are comprehensive (pretty much).
       new  4f96351   Add Dimensionality() function to distributions; use arma::mat and arma::vec instead of std::vector<Observation> and Observation; and don't use size_t in DiscreteDistribution.
       new  83231a9   Adapt test to new distribution API.
       new  6734784   Adapt HMM to only use arma::vec as observations.
       new  f6b43be   Adapt HMM tests to new API.
       new  1d74562   Compile RangeSearch.
       new  a158753   Fix sanity check to actually check things correctly.
       new  1c7fb94   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10528 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  d9026a9   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10529 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  d0736c7   Add Estimate(const arma::mat&, const arma::vec&) so that this class can work as a distribution for HMMs.
       new  9e41629   First simple test for GMM::Estimate(const arma::mat&, const arma::vec&).
       new  9fa2c74   Move .h to .hpp and .cc to .cpp.  We don't need dummy.cc anymore so it's removed.
       new  8f417c5   Compile LARS.
       new  9f86aca   Big API changes for LARS.  Move things into the constructors; rename internal variables.  Did a little commenting but I can't comment all that much.
       new  3c62649   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10543 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  23dbdb7   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10544 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  a513b22   changed CMakeLists.txt for radical so that compilation works in .../mlpack
       new  4fc6cef   added radical to CMakeLists.txt
       new  e409d1c   Apparently an adversary swapped every occurrence that should be data.n_rows to data.n_cols and vice versa. This has been fixed, and LARS works once again
       new  6823979   added LARS tests, but still need to make small changes before adding to CMake
       new  a88a3cd   added test cases for lars
       new  56cda74   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10567 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  c7c06b2   Add GMM test case for training multivariate Gaussians in the setting where probabilities of each observation are given.
       new  b7c75e6   It helps when you actually implement the stupid function instead of being an idiot and thinking "well I'll just do it later but actually I'll forget that I didn't do it and then not get to go to sleep instead".
       new  98ebba7   Issue a warning when an empty GMM is created.
       new  b58e442   Test GMM::Random().
       new  e188460   Actually, make that debugging only...
       new  1446182   Test HMMs with GMMs; a simple Predict() test.  Still need Estimate(), Estimate(...), LogLikelihood(), and maybe some other tests.  I am reasonably confident the whole thing works correctly.
       new  4dabd73   changed the test to accomodate pricipal axes in opp direction ie when eigenvectors returned are flipped in sign compared to the eignvec returned by matlab for the same dataset
       new  85d474c   changed the api to accomodate centering and scaling of initial dataset. There was a bug as the end result of the transformed data was not centered, the results were not matching those from matlab.
       new  125d45f   changed the api to accomodate centering and scaling of initial dataset.
       new  4d3e694   Don't use srand() in a test case.
       new  0f7bdfa   Don't use srand() in test cases.
       new  f2cb9b8   split dtb into _impl.hpp, should finish off ticket 117
       new  459c0e0   Add -NDEBUG flag.
       new  c2d6a5a   Transpose before adding rows.
       new  217173c   Misspelling of option.
       new  583dbb3   various style fixes to radical
       new  6e257a7   more style fixes
       new  6c6efa7   I think I fixed two bugs. need to check tomorrow
       new  aab4479   Reimplemented CLI w/o heirarchy. Eliminated concept of modules from CLI and main functions. So if it was foo/bar before, it will now be just bar.
       new  cfaf90d   Did some more formatting of output. Added more shortcuts to methods.
       new  4707273   we no longer store the data matrix matX as a class member, we changed the call to WhitenX (it is now called WhitenFeatureMajorMatrix), and added comments
       new  7a42171   put Radical in namespace mlpack::radical and moved WhitenFeatureMajorMatrix out of Radical class but into mlpack::radical namespace
       new  29b3a65   added lots of comments
       new  526d877   small fixes to radical_main since we present radical with a n_dims by n_points matrix
       new  76104ee   made some speed optimizations via manual profiling
       new  ef62703   some speed optimizations
       new  a9e9dcc   For some reason, this caused a segfault with -O2.  This needs to be looked into.
       new  82e68ca   added data needed for Radical test cases
       new  49ed26a   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10685 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  bc05a38   updated radical main
       new  3f49bca   added test case for radical
       new  dc60708   added radical_test.cpp to CMakeLists.txt for test cases
       new  88a6c21   updated radical_test.cpp to use data::Load rather than .load
       new  4abbea8   fixed small filepath bug
       new  28a818c   you can now set the input and output filenames, as well as the options, as paramters
       new  917f2fd   cleaned up lars_main and added command line options
       new  db3fda0   stylized lars
       new  f78917e   removed unnecessary files
       new  99dd441   removed unnecessary file
       new  6ec0c60   fixed CMakeLists.txt for lars and switched from _impl.hpp to .cpp
       new  f30e0db   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10699 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  b4c7e23   many style fixes, made some functions private, commented out some unused functions
       new  e3a765c   cleaned up lars
       new  4bea638   and i present you <Kernel PCA>
       new  e7a2633   Yeah, break everyone's build by requiring 2.4.0.  It's for a good cause though.
       new  61f064c   Add sparse support which can be patched into Armadillo if necessary.
       new  ffc22c2   Convert u32 to uword for 2.4.0.
       new  aa47e74   Templatize the matrix type.
       new  23674c5   Abstract-ize HRectBound to accept arbitrary types of things.
       new  090ce88   A typedef so other types that depend on the matrix type can use it.
       new  0e22be5   We can use regular .col() here since we abstracted away arma::vec.
       new  d370af2   got the implementation into hpp file to include it in the class def. This is need to make the templates work. Good article here which talk about why we need this http://www.comeaucomputing.com/techtalk/templates/#whylinkerror
       new  f90c30d   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10718 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  7a2ad4c   Stop using unsafe_col().
       new  e2c0535   Refactor API to be consistent with RangeSearch.
       new  aa39d01   API changes.
       new  211bb11   LARS no longer has X and y as class members. They are passed into the main computation function DoLars
       new  cf6a2a7   updated lars_test to reflect changes to lars
       new  fd6cd17   These aren't necessary with Armadillo >= 2.4.0.
       new  a892015   Too much noise means I start doing things wrong.
       new  fcdd855   I had been approaching the wrong solution to the issue because they keep bringing me drinks.
       new  b851861   Copy code over from arma-sparse branch.
       new  4a83915   Retry the API change.  This time it works...
       new  217f60e   Simpler swap_cols() and SpValProxy::operator=(SpValProxy&) to make it work.
       new  234c18d   Why does this fix the test?  I don't know, but there's not complete time to fix it right now.
       new  8823555   Allow sparse vectors to be passed to metrics (this should get a bit of speedup). Now we leave the computation up to Armadillo.
       new  2ed63a9   Abstractize vector type.
       new  be5ddd7   Abstractize k-means so it can use sparse matrices.
       new  dc7cd19   Explicit conversion to mat.
       new  5b7ec43   Centroids should be sparse, too, if we want them to be.
       new  9394ff9   Support SpSubview proxies.
       new  832367f   Use a const reference internally in SpSubviews.
       new  ebf959f   Test sparse K-Means.
       new  3d652c5   Unused variables.
       new  f7369db   Abstract-ize matrix type used for NCA datasets.  The covariance matrix should not be sparse, though.
       new  5350662   increased tolerance for RADICAL test
       new  2272703   Sparse NCA doesn't actually make sense.
       new  5044884   removed random seed from radical_test.cpp
       new  ad1c878   Abstract-ize NBC to allow sparse matrices.
       new  6b0f1f7   Clean up CLI formatting... for like the fifth time.
       new  112c761   Document EMST better.
       new  1c6b352   Oops, I need a <>.
       new  d84583b   Make statistics useful again.
       new  9ce5c13   New Statistic API.
       new  e3aedf0   New Statistic API.
       new  56cee90   Restructure test.
       new  912cffc   Refactor and clean up EMST code.
       new  80aa0fb   Refactoring of EMST/UnionFind API.
       new  b3186f1   Update for transposition of output.
       new  4268804   Clean up CLI output again and again.  Then change how Timers works because it was being destructed before CLI in some cases.  That's the danger of singletons...
       new  babc5d8   Make it how it was before.
       new  020e5fe   Allow compilation with -DARMA_EXTRA_DEBUG.
       new  1aa24e2   Compile libmlpack.so not libmlpack.a.
       new  22cb95f   Comment things a little better, and rename one of the timers.
       new  6a95a0a   This was not an input parameter.
       new  fe46576   Change in HasParam() changes a couple things in this test.
       new  a844d83   Move io/* to utilities/* then utilities to util (shorter, simpler name) and update all references thereto.
       new  719a58b   -v == --verbose
       new  03ad900   Allow a GMM to be saved and clean up documentation.
       new  5db963a   Minor documentation fix for the namespace emst.
       new  eeeb694   Documentation fixes for GMMs and removal of now-unnecessary README.
       new  bdcd8cc   \bandwidth is not valid LaTeX... thanks regex...
       new  a3493d7   Two asterisks, not three.  What is the meaning of life?
       new  ec5d407   Last run of modifications for EMST documentation.
       new  55e170f   Expand the example for the GMM.  This documentation should be done.
       new  26ef5de   All these files are unnecessary because I re-implemented HMMs.
       new  770925a   Update documentation for HMMs.  Documentation should be done for this class.
       new  a011a0b   Don't build these targets.
       new  5fc40c6   Remove these executables because they don't work anymore.
       new  60bf3d5   Better documentation for K-Means.
       new  459939d   Did some refactoring on CLI, fixed a potential bug. Also removed some references to PARAM_MODULE.
       new  1b50e44   added some comments to LARS
       new  6e1e7bf   more comments for lars
       new  fb4cb40   Fix #174 and another bug in the main executable.
       new  9c05c6c   penultimate set of lars comments
       new  4374f4b   Fix segfault.
       new  01158cc   moved accessor definitions for LARS from lars.cpp to lars.hpp
       new  1788166   Copy test data to the right place after building the test.
       new  6ebabf0   Standard header include protection.
       new  69e9d9e   Split math_misc.hpp as per #143.
       new  6d0ab1c   Change variable names to match code specifications and mark a couple functions const.
       new  faf688d   Add license and copyright to satisfy #175.
       new  3fcea27   That's embarrassing, I forgot the name of the guy who opened the ticket to make me fill this whole thing out...
       new  e42bb92   Ignore some other things that we hadn't previously been ignoring.
       new  def79f5   Move kpca to kernel_pca; clean up the code to match formatting standards (okay, some of my changes were superfluous), use size_t instead of int where necessary, and change CMake configuration so kernel_pca is compiled.
       new  1236f48   Clarify program name.
       new  cddb207   Redo LinearRegression API and put it into the regression namespace (not linear_regression).  Make the main executable more functional and document it.
       new  a551bc6   Namespace and API change for LinearRegression.
       new  3c204f6   Fix a bug which was overwriting memory and may be causing that segfault I am trying to hunt down on the build server...
       new  bbd6fd0   Refactor and comment NaiveBayes a little better.
       new  b0bf6d5   Fix bug and better warnings.
       new  3ecff99   Document NCA.
       new  a690e07   Not sure why I need to raise the tolerance... maybe something worse is wrong?
       new  e43d01d   Redo API for NeighborSearch for the last time and go over documentation.
       new  35b717f   Change formatting of RADICAL code and redo the documentation a little bit to make it more consistent with other programs.
       new  e5e8a5e   This caused a problem for release-mode, so maybe this is the instability in the test.
       new  a041714   Reset the tolerance to normal.
       new  b659b52   Format LARS a little better and give good program documentation.
       new  e468d86   Update LARS test.
       new  0a21d50   No longer need l here.
       new  327e130   I can't reproduce this error anywhere!  Is something wrong on the build server? Comment out the test for now.
       new  4b395d3   Clean up warnings.
       new  ed5d0e8   Version .so at 0.99.0.
       new  8da5862   Remove unnecessary 'normalizer' variable and add accessor for gamma.  No mutator because those two variables are codependent.
       new  bcfba80   Use accessors and mutators for math::Range.
       new  c6bc473   Update tests to use accessors and mutators for math::Range.
       new  057a848   Add accessors and mutators for AugLagrangian and L-BFGS.  Change int to size_t where necessary.
       new  294e0eb   Refactor BallBound API and clean it up.
       new  288d9f6   Change in BallBound API.
       new  b7cda97   Some SpMat bugfixes.
       new  1faf0c0   Document timers and CLI a little better since we changed how it all works.
       new  7055b06   This isn't used anymore...
       new  00a096b   Add some useful documentation.
       new  66205cc   Better documentation.  Now we have a quick guide to MLPACK.
       new  15d04c6   Remove a few warnings.
       new  ff7e656   Pretty poor implementations of min() and max() for sparse matrices.
       new  fd15860   Clean up BallBound code; now, expand things in batch because that's better.
       new  5d2f93f   Clean up warning, use Info instead of Debug.
       new  6721a0b   Clean up MVU code and add a main executable to it.
       new  a087f97   Make sure that Doxygen actually picks up the guide we wrote.
       new  1bb8bfb   Inline math::Range.
       new  0952521   Use Boost random number generators; account for API changes in 1.47.0.
       new  1194863   Require boost::random and link against it.
       new  5bf7136   Stop using rand() and use Boost random numbers.
       new  55eee01   Explicitly specify namespaces.
       new  e2308e9   Give a few specializations for vectors, and remove using directives.
       new  2cd01f5   Give direct access to discrete distribution probability vector.
       new  5627a29   Update to new direct-access DiscreteDistribution::Probabilities() API.
       new  f0be566   Clarify error messages, and actually assign the parameter to what is read for a few cases.  Use std::string& not std::string for LoadParameter().
       new  7aa474b   Formatting for the entire /tests.
       new  d641be3   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10856 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  dbbd748   Turning in with some tests for the implemented distances  in periodichrectbound.
       new  9867e89   Properly formatted /gmm
       new  d396a5c   More test cases, as well as formatting of /kernel_pca
       new  b2bbb87   Correction for the range test.
       new  db9ede1   Formatting of /kmeans.
       new  d25872d   The test cases for maximum periodic distance, as well as the code for both versions of the maximum periodic distance.
       new  11bf545   Removed the extra print statements that I forgot in there.
       new  8698a9f   Formatting of /linear_regression
       new  17f0a47   Formatted /mvu
       new  03fd5e4   Formatting of /radical
       new  6fb4f02   Formatted /pca
       new  fed9217   Formatted /nearest_neighbor
       new  cb318dc   The fix to the previous fix.
       new  fcb18db   Formatted /math
       new  ea6f630   Formatted /util
       new  260c430   Formatted /tree
       new  e88f827   Normalize vectors because Probabilities() doesn't do it anymore.
       new  b6347b0   Add main executables for HMMs.
       new  132c7a9   Explicit namespace usage.
       new  56e605c   We have a few more executables now.
       new  43cfd4d   Implement operator|= correctly.
       new  033fef5   Fix use of uninitialized variables.
       new  0cac5de   Utilities for loading/saving HMMs; to be deprecated later.
       new  0ceaeaf   Move distributions to core/dists/.
       new  a50f9cb   Add CMake configuration.
       new  8e46f1c   Fix formatting for L-BFGS.
       new  6728ea8   Fix formatting for AugLagrangian and associated test functions.
       new  14b6d74   Fix braces.
       new  8008dc8   Fix comment.
       new  348b9d3   Change name of box().
       new  8967121   Boost <= 1.41 did not have a separate random package.
       new  862d003   Search correctly for Boost.Random.  It did not exist separately until 1.46.
       new  e7227d5   box() -> Box().
       new  d1b3fd5   Fix >= Boost 1.47 issues.
       new  716c7a6   box() -> Box()
       new  3d28b48   Smarter linking of MLPACK against Boost.
       new  4e519d5   Fixes for old Boost.UnitTestFramework.
       new  26207ce   kernel pca works with linear Kernel now.
       new  ef3346d   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@10910 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  4107e42   update version and soname
       new  2bae162   Don't run test cases that don't work because the code was never finished.
       new  be5a02a   Fix two warnings and some style.
       new  78a72d6   kernel pca test file
       new  628e61c   exponential kernel
       new  ec7e107   laplacian kernel
       new  818f8c1   polynomial kernel
       new  f658349   fixed compilation error for boost 1.47 by adding <> to uniform_01
       new  f84d0cd   formatting changes
       new  692e5a1   hyperbolic tangent kernel
       new  f9dce7c   fixed a few bugs
       new  270bf94   tests for the new kernels
       new  9747eb4   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@11090 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  76f9831   Fix all the things cppcheck didn't like.
       new  278cddd   We don't actually need a reference to the new child...
       new  a2ead52   non-class type return values are non-modifiable, const qualifier is ignored (-Wignored-qualifiers)
       new  f808e64   Comment out unused parameter names (suprisingly valid C++), -Wunused-parameter
       new  9d39c6e   How many unused parameters does one library need...
       new  060d4f1   Add RandomSeed() function to set the random seed, which is always a good time to be had.
       new  92db4a8   Use uint32_t because that's what the class uses internally.
       new  ccfeff0   Fix the compilation error from my -Wunused-parameter fix when compiling without debugging and profiling and with -O2.
       new  7c9cc0b   Another -Wunused-parameter fix
       new  900a52b   Add -Wextra and -Werror for debug and non-debug builds.
       new  9794dcc   Apparently jenkins uses an older version of boost and we had a #define that caused an unused variable warning...
       new  10e8f6b   Hey, cool!  A warning solved a bug.
       new  09459e9   WTF SVN?  I update, you give a conflict, and when I resolve it, you drop the semicolon?  Or was it my fault...?
       new  b716114   Add option for random seed (for #182).
       new  f8fdcd0   Add support for --seed to HMM executables (where necessary).
       new  8503bdc   Add --seed support for K-Means executable.
       new  23aac69   Minor spelling fix.
       new  cb60880   Set the standard seed (srand()) also, because Armadillo is likely to use that, and in places we use .randn() or .randu().
       new  85fcfea   Weird, these aren't necessary.
       new  7533cc7   Make documentation more the same-like.  You know?
       new  d3bc5ea   Add a tutorial for NeighborSearch.  That took a little while...
       new  b2b873c   Add an actual page for the tutorials.
       new  056da81   Some formatting fixes.  We have lines longer than 80 characters but that is unfortunately necessary to make Doxygen work right in some cases...
       new  7018b61   So that we get that nice hyperlink.
       new  56f76b9   No -Werror for now (the build server gets angry, gcc doesn't have to).
       new  be0b0e9   Fix some errors present on older gcc versions.
       new  ca2f1f2   fixed some stupid typecasting warnings
       new  8663756   No need to link against LAPACK or BLAS; Armadillo does that.
       new  e5be655   Install binaries in the proper location.
       new  2881b63   Wait, it's not an ugly hack anymore (it was before, then I changed it and forgot to remove the comment).
       new  3543936   Add 'make test' command.  This should make the build fail if the test does not pass.  It is not run by default if you type 'make'; you have to type 'make test' to actually run the test.
       new  a0c9ff3   Add 'make doc' command, but it does not yet install the documentation (that will come next).
       new  a86ecc2   Rename project to 'mlpack' (so we install documentation to /usr/share/doc/mlpack/ not /usr/share/doc/MLPACK/) and add installation rule for generated HTML documentation (goes into /usr/share/doc/mlpack/html/).
       new  d25f097   Higher tolerance for Laplacian kernel.
       new  c318ff7   Don't use GNUInstallDirs.  Assemble /usr/share/doc/mlpack/ by hand (it's not so hard!).
       new  e20f81a   Don't install Doxygen documentation if it was never built.
       new  921ed02   The parameter names were... wrong.
       new  7c9fb63   Haha!  Other people should be able to make tutorials too!
       new  cf92982   Fix scoping issues.  Stupid Ryan!
       new  9857ca5   Refactor AugLagrangian for better use by other classes.  AugLagrangianFunction is its own standalone class now to allow for easier specialization.  The tests aren't quite done yet (the LRSDP Lovasz-Theta ones still fail and give unnecessary debugging output) but that's the next thing to do.
       new  8ac948a   This will hold an optimizer for low-rank semidefinite programs, formulated by Monteiro and Burer.  It was originally using AugLagrangian but I decided to specialize it further to the general LRSDP case.
       new  82730aa   Basic implementation of LRSDP.  Not yet tested.
       new  cd45103   Don't set any RPATH.
       new  6238b51   Revert RPATH change.  We have to build with the RPATH and strip it at install time.
       new  7d85d69   Actually write the "correct" installation commands, so that RPATH gets stripped at install time.
       new  28eb99b   Add operators for SpSubview.
       new  f3670dd   A script that can turn our output into man pages.  This is for packaging, but man pages are good, you know.
       new  aa27993   No preview in an automated setting...
       new  0c1c0d6   Script to make all man pages.
       new  d551e2e   Make the directory if it doesn't exist.
       new  c67f597   Force gzip compression; make sure it is not interactive.
       new  25b5475   Make rules to generate man page documentation.  This is goodliness.
       new  d63dc50   Apparently, when I wrote this, I did not understand how floating point numbers worked.
       new  b8d97d6   Temporary work check-in so I can work somewhere else.
       new  89c6471   Temporary work check-in so I can work from elsewhere.
       new  9050cf6   Change documentation a little bit to prevent man macro error (hopefully).
       new  0878fae   Fix spelling error.
       new  995b71e   Wow, awk is crazy.  This fixes warnings in the troff output given by txt2man.
       new  de13cce   A few changes to the implementation of LRSDP.  Still does not quite work yet.
       new  eb7dc1e   Limit on number of iterations, and set the first lambda value right for LRSDP (this will need to be changed later).
       new  5e3c784   It works!  I can't believe it works.
       new  19f3690   Don't do extremely simple LRSDP test; it needs a different first Lagrange multiplier.  We'll work that out later.  Remove SDP tests from AugLagrangian tests.  Compile it all and add it to the usual tests.
       new  22075e4   Allow setting of random seed for RADICAL.
       new  7b2c25f   Fix a few warnings for unused variables that I introduced.
       new  5be7674   Add the dataset we work with.
       new  7585c96   Allow two modes of constraint matrices.  Not yet documented.
       new  3328879   Add tests for two other Lovasz-Theta problems.  hamming6-4 isn't converging right, and keller4 is working, but takes 5 minutes.  Perhaps johnson8-4-4 will be the only test case we use in the long run.
       new  25ff40b   Implemented range search, need to implement output functionality. Also need to update the documentation to reflect realities of range search.
       new  8d720fe   Default and copy constructors.
       new  166583b   This fixes the arm test bug.
       new  0c8cc41   Update for new L-BFGS API.
       new  9f5b85f   Revamp L-BFGS API, moving around where the maximum number of iterations is set and stored.
       new  e65a9da   Revamp the AugLagrangian API to deal with the new L-BFGS API, and take a pre-constructed L-BFGS object at construction time.
       new  c08265b   A quick hack to make the tests faster.  This'll go away when I redo the LRSDP API.
       new  0395ab2   Revamp NCA and MVU, which use AugLagrangian and LRSDP, respectively.  MVU is not yet done but, bit by bit...
       new  a51c92e   Don't link range_search_main.cpp into MLPACK; it adds unwanted CLI options.  And use spaces, not tabs.
       new  1533445   Further refactor AugLagrangian API to make it simpler.
       new  3224f78   Refactor LRSDP API for ease of usage.
       new  fb4a50f   Clean up LRSDP test and add a dataset which we are not using (but the test is written for it -- it's just commented out).
       new  92a78fd   Just so it compiles for now...
       new  c93eced   Let's not set sigma to a value which ensures the algorithm will never terminate...
       new  26984ae   Fix out-of-order initialization warning.
       new  4b1169f   Various improvements to LinearRegression and our executable.
       new  5928bf3   Incomplete rough draft of the LinearRegression tutorial.
       new  34706f7   coding with LinearRegression examples
       new  5a743e1   more comments for the comment god
       new  b312ba3   fix ticket #184
       new  b78ef76   Add RandNormal() and fix some const-correctness semi-issues.
       new  487f966   Misplaced space.  The horror!
       new  bac6310   Initialize StatisticType objects in the root node too.
       new  a705472   MRKDStatistic for mrkd-trees. Probably still needs improvements.
       new  d0209f9   A few fixes so that things can compile with older Boost.Test versions.
       new  5aa7319   Some changes; use M_PI instead of math::pi() (for consistency across all MLPACK code), and explicitly specify using namespace mlpack::math so that radical compiles on older versions of gcc.
       new  f5b6452   Make this actually compile when used with BinarySpaceTree
       new  ac25d39   Appears to work now.
       new  5670ec8   Add a splitDimension variable and getter for determining which dimension a node is split on.
       new  261447f   Tab fix (think I got them all)
       new  95ceb3a   fabs(max(,)) -> max(fabs(),fabs())
       new  d0cf188   Move to range_search_main.cpp and clean up executable.
       new  b16b662   A couple changes to the kernel PCA test.
       new  7672722   Clean up some comments and the sanity check on the dimensionality should be the upper limit, not the lower limit -- dimension < 0 is not possible with size_t.
       new  2998efe   Put down the crack pipe, Ryan.
       new  727ce35   This is a copy of the Gaussian kernel... oops...
       new  100f240   Remove exponential kernel from sources.
       new  7839e54   Some cleanup for kernels.
       new  c59141a   No more ExponentialKernel.
       new  b40c1f3   An actual main executable and some implementation tweaks for speed.
       new  b9da0f0   corrected elastic net / lasso objective function in the comments. I had forgotten to put the 0.5 scaling factor on the reconstruction error part of the objective
       new  f3c6c9f   Some formatting fixes.
       new  f07b0aa   Add --scale and --nocenter options.
       new  0930f38   I had the options backwards; also clarify documentation.
       new  15d095b   Add --scale and --nocenter options.  Also center by default for PCA.
       new  2ff6966   Helpful note pointing to other documentation, so we don't need to include citations in -h output.
       new  31f0bcd   Slight change because CLI outputs differently now.
       new  dd99bae   Remove unnecessary citations and change formatting of citations with respect to opinions expressed in #201.
       new  e5afc55   Remove citations from -h output.
       new  ec8890b   Remove citation from -h output.
       new  5245688   Remove citation from -h and put @code around it in the RADICAL documentation.
       new  18ba9b5   Fix references in tutorial; rewrite into a little bit and clarify some terminology here and there.  Also unnecessary grammar Nazi strikes again...
       new  e2340ef   Forgot two references.
       new  be678fa   Fix references.
       new  3cd65c6   List linear regression tutorial.
       new  8323efb   Credit where it's due.  I might be missing a name or two...
       new  576a43a   Mistype found.
       new  e1e22ac   Add a range search tutorial.  Should be done...
       new  7b54e12   Add range search tutorial to list of tutorials.
       new  5ab59d6   Removed c-strings in favor of std strings.
       new  9b87535   That isn't a correct Doxygen comment...
       new  4bd2c35   mlpack/core/kernels: add a couple of kernels appropriate for the forthcoming KCDE/KDE combo, per #200
       new  dbdb7f0   Initialize LRSDP A and b vectors to the correct size at construction time, instead of confusingly expecting users to take care of that themselves.
       new  7e9ff38   The sparse A matrices should be able to have a value.
       new  66723d1   Changes according to the changes in the LRSDP API.
       new  cd8318e   Hey, so, it turns out when you find the package, you've gotta add the include directories too.
       new  323c749   These aren't necessary any more.
       new  065f676   Some changes to mvu.  Not 100% sure if it works yet.
       new  d169ce1   added sparse coding
       new  ca04361   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@11671 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  53cf489   added small 500-point version of MNIST
       new  b75b449   fixed CMakeLists.txt to reflect correct demo program name
       new  d5313ed   fixed small bug in lars: sometimes after kicking a dimension out of the active set, we also need to explicitly set the corresponding coefficient to zero. In that case, we were saving beta to the end of the beta path before the fix. now, we save beta after the fix. This fixes a bug
       new  ff16e76   fixed a bug in how we were checking the optimality conditions for the LASSO. holy shit, an error in the test case itself!
       new  8190f7e   added test cases for sparse coding
       new  82cfd73   updated path to mnist file
       new  60b2694   added modifier (setter) for data X
       new  8e0cacb   added sparse coding to CMakeLists.txt
       new  fa59909   added sparse_coding_test to CMakeLists.txt
       new  1577332   added local coordinate coding to methods
       new  6a7a19e   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@11683 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  310693b   added local_coordinate_coding to CMakeLists.txt
       new  075ae14   Mostly, hopefully, working implementation of Pelleg and Moore's mrkd tree k-means.
       new  82330a8   added tests for lcc
       new  42d731c   Some changes that had been forgotten.
       new  2ae47c1   Unpack tar.bz2 for Nishant's sparse coding tests.
       new  47765fe   Maybe it works, but I'm not totally sure.
       new  8b928bc   Modified string types in cli & related sources.
       new  3381aa3   Three new methods for trunk.
       new  931b569   Add local_coordinate_coding and sparse_coding to man rule.
       new  3424bd4   removed some commented code that no longer is needed
       new  196db0c   Untested Windows code needs to not be untested...
       new  d2d87eb   Fix #207.
       new  2142c2a   when useCholesky=true, we now use a once-computed Gram matrix for inner product computations between points. If one is calling LARS repeatedly with the same data X (as in sparse coding), one should use SetGram even when useCholesky=true, and in particular, it is better to use SetGramMem
       new  901b85e   Switched to Cholesky-based LARS. this version of LARS now uses Gram matrix in some places. We use SetGramMem rather than SetGram to avoid copying Gram matrix unnecessarily. Also, removed some commented out that was quite old
       new  9e9e705   Install range_search executable.
       new  eb22cd4   Something's wrong with this
       new  4ef4e08   Use in-house random functions, not drand48().
       new  05ed096   Make CMake configuration better by linking directly to the library locations, not just the library.  This is for Windows compatibility.
       new  d7053c5   Reformat CMake configuration file.  Only use -Wall and -Wextra on GCC-like compilers.  The special handling of LibXml2 is unnecessary because that's all done by FindLibXml2.cmake anyway.
       new  27490de   We shouldn't provide these ourselves; CMake 2.8 does that already.
       new  c2b9a07   Windows #defines min and max; undo these defines so we can use std::min() and std::max().
       new  d8f9f2b   More typenames, required by VS2010 but not by GCC (for some reason).
       new  eafaae1   Only give stacktraces on Linux boxes; Windows doesn't have execinfo.h or cxxabi.h.
       new  0512910   Fix apparently untested Windows code.
       new  c94c02d   No execinfo.h on Windows.
       new  b1414f1   Eliminate ambiguity in a few function calls.
       new  b2c1586   Require FORTRAN because FindLAPACK requires FORTRAN.
       new  d6ec5e8   Wait, we don't even need LAPACK.  That comes through Armadillo.
       new  dc7174d   Turns out not every version of CMake ships with this...
       new  04c40c9   Special handling of Boost linking properties for Visual Studio.  This was necessary for me to make things link correctly.
       new  4bdeb3f   Implementation of round() for C99-deficient compilers (MSVC...).
       new  9c0c18d   Use boost tgamma and include that round function we made earlier.
       new  f3cdd4c   Link to direct location of unit test framework library.
       new  a263798   Various fixes for Windows compilation.
       new  7a192d0   Be a little pickier with how we build on Windows.  Static library because creating a DLL correctly would be a nightmare.
       new  9f6b930   Fix #210.  Stupid error...
       new  3554811   Generate Doxygen documentation with 'make doc' only in out-of-source build directory -- don't clutter source directory.  (I'm proud of this)
       new  448f101   Make timers multi-run.
       new  cadd9f5   Test multi-run timer functionality.
       new  3b8cb65   Look for possible dependencies of libxml2.dll, to issue a warning to the user in case they don't exist.
       new  9bbac7d   Link against LAPACK and BLAS on Windows because Armadillo doesn't automatically do it.
       new  7d28f49   No colors on Windows because command.exe doesn't recognize ANSI color escape sequences...
       new  381eb9a   Patch by andreasl: no definitions of promote_type<u64, ...> are necessary if ARMA_64BIT_WORD is defined.
       new  7c30dcd   Patch by andreasl: change u32 to uword (the generalized Armadillo type, which can handle 64-bit Armadillo).
       new  0c6437e   Working, mostly finished pelleg and moore mrkd kmeans implementation
       new  f51702d   Add more fields to the mrkd statistic
       new  4f3f720   Oops, I did screw it up.
       new  0acec12   I think that some of the promotions I had written are actually invalid.  For now, we simply use what is given in Armadillo when ARMA_64BIT_WORD is defined.
       new  9ac6374   It makes no difference in reality, but don't define is_supported_elem_type<u64> or is_supported_elem_type<s64> if ARMA_64BIT_WORD is used.
       new  6f226aa   comment fix
       new  fc67a05   Define timersub() before it's used on Windows boxes.  For some reason VS2010 didn't have a problem with that.
       new  4345352   Use Sleep() on Win32 systems.  This isn't tested yet -- but I'll do that in a moment.
       new  9114f75   Greater than or equal to -- because some systems are very precise.
       new  7781131   Require version of libxml2 to be at least 2.6.0 (which is dated late 2003... so it shouldn't be a problem for people to have it).
       new  89d3694   Search for iconv.h on Windows systems.
       new  41bccf0   Artifact from pthreads which isn't used anymore.
       new  1b73a14   Add GMM::Probability(arma::vec, size_t) as part of #212.
       new  24f8783   Test GMM::Probability() (both overloads).
       new  8d4efd8   Add a Classify() method.
       new  0db3917   Test the new Classify() method.
       new  ceb6eaf   Increase tolerance a little bit so the builds don't fail so much.
       new  cff5d67   I hate test tolerances so much.
       new  d53bf84   Forgot to commit this, fixes forgetting to set minDistance
       new  4bacdfd   Added enhancements to pca & kernel pca.
       new  3faccef   Undo accidental test compilation commit -- we like all the tests.
       new  e50917a   Add to contributors
       new  a664130   Update metrics to support distinct vector types as arguments.
       new  55a66be   remove useless code
       new  e0a7d09   Modified PCA/Kernel PCA interfaces to remove redundant centering option.
       new  cec3429   Density Estimation Trees (DET) added to mlpack
       new  2af45ab   DET CMakeLists added
       new  1aaab15   DET CMakeLists
       new  9c6d050   DET naming schemes
       new  527568b   DET naming schemes
       new  b3e0160   Handle a case where the step size ends up being 0 but the gradient is not yet the minimum gradient size.  Maybe it is a little slow (elementwise comparison is not incredibly fast)...
       new  8659afc   Clean up some man page warnings.
       new  61f3e5c   DET Tests (almost all done) added
       new  ae90d3d   DET tutorial 1st draft
       new  98c4d50   Use Log::Debug instead of cout for debugging output (maybe it should be Info?). Also needlessly replace '\n' with std::endl -- really, there's no reason to do this; I just did it.
       new  16dc612   Declare the function before we use it.
       new  8974a75   Refactor GMMs so that you can use any clustering method you like.  The default is "EMFit", which is the EM algorithm (exactly how it performed before).
       new  6c28c5d   Use GMM<> not GMM, because it's now a templated class.
       new  00ec665   Rewrite GMM tests to use GMM<> not GMM (because it is a template class now).
       new  66b84f7   Switch from armadillo's load() to data::Load()
       new  c2de4cf   Fix tabs
       new  f9e390d   Fix test compile time errors, missing <> for GMM
       new  cceb82b   The fabled GMM-HMM training test.  The hardest of all tests, only the strongest training implementations survive the double-sucker-punch of GMM followed by GMM. A more rigorous drill sergeant might require tighter tolerances, but unfortunately perfection can't be expected out of the EM algorithm every time.
       new  02800c7   Hackery necessary for sparse support using Armadillo 3.0.0 or greater.
       new  fba46e9   Include new traits.hpp file.
       new  0adf805   Workaround for Armadillo 3.0.0 bug.
       new  fccafc3   Fix ambiguity error under Armadillo 3.0.0.
       new  9e1ee74   Pass one: comment grammar Nazi and fix code style issues.
       new  bd566ce   Pass two: const-correctness (mostly) and use size_t instead of arma::uword.
       new  53f9a5c   Missed a couple uwords.
       new  6900184   Rename some variables in the class.  Not done yet...
       new  7f04e42   Update tests to reflect new method names.
       new  f629023   Fix longer-than-80-character lines.
       new  6322ae3   Fix longer-than-80-character line.
       new  9025a76   First pass: style.  Fix a memory leak or two too.
       new  8dfb529   Fix namespace ambiguity.
       new  4ea75ed   Take care of FittingType when we are passing in means, covariances, and weights to build a GMM.
       new  b9cc366   Handle Boost 1.33 Random library correctly.  I am not sure how far backwards this fix extends.
       new  2ab535f   Fix preprocessor ifs for Boost <= 1.39 Random API changes.
       new  9792687   Make ourselves compatible with older versions of Boost.Test.
       new  6a08db6   We need to actually get the version number before we check what it is...
       new  d4e6b87   Zero the memory before we start adding to it.
       new  8ebd074   An implementation of cover trees.  It is not yet polished, and the debugging comments are still inside of it (though commented out).  I will be polishing it shortly...
       new  7ccb14c   Add two tests for the CoverTree class; a simple test and a big (random) test.
       new  428bf0e   Add NumChildren() and Child() to BinarySpaceTree for compatibility.
       new  029d53a   Fix warnings I introduced.  Oops...
       new  1ac6ffd   Comment the CoverTree implementation a lot better.  Still a few things to do...
       new  6fe40c6   Remove unnecessary debugging output from test.
       new  d918b28   Regresion is cool, but this method is regression.
       new  5b5696f   Refactor LARS.  Fix comments, remove unnecessary methods, and consolidate constructors.
       new  111e453   Don't use a pointer for LARS objects; no need to do memory allocation on our own.  Adapt to new constructor calls, so there is no more need for SetGramMatrix().
       new  2a231a3   In fact, remove the line entirely.
       new  482beab   Refactor in accordance with new LARS API.
       new  56dd32c   Allow arbitrary metrics to be used in the construction of the cover tree.
       new  ba479fd   Test an alternate metric construction of the cover tree.
       new  2e2b48a   Fix misleading documentation...
       new  9971559   s/IO/CLI/g wasn't a good idea.
       new  001fbc9   Allow template parameter class to specify which point should be chosen as the root node.  Document template parameters a little bit (but hopefully this will be redone at some point).
       new  fe40258   Add NumPoints() and Point() to BinarySpaceTree.  Maybe Count() and Begin() could be deprecated...?
       new  697c3fb   Give better debugging output.
       new  5efc0c8   Tabs to spaces, and return a reference, not a pointer.
       new  94ba25d   Add a single-tree depth-first traverser.  It is not as fast as it could be.
       new  40105c8   Add the NeighborSearchRules class, which defines how the SingleTreeDepthFirstTraverser can perform a NeighborSearch.  Adapt the NeighborSearch class to use this.  It is not as fast as it could be.
       new  43889a8   Ack, how could I violate my own coding style guidelines?
       new  14abb49   Add the very similar SingleTreeBreadthFirstTraverser, meant to be used with the CoverTree.
       new  ba71c8b   Modify the API of BinarySpaceTree to include a few more methods.  Starting to settle on a more standard tree API.
       new  27f5d3f   Modify CoverTree API towards a more standard API.  It can be used with NeighborSearch now... although it probably will fail miserably.
       new  73f7218   Update our traversers so that they don't consider self-children.  I am not too happy with how unclean it is, but I expect it'll get cleaned later.
       new  7dc77b5   Update API to use TreeType::MinDistance() because other tree types may not have a bound object.
       new  2b0d523   Use the tree's preferred traverser type.
       new  e7f773f   Fix some formatting and style issues, and then add a test for nearest-neighbors cover tree.
       new  5e84561   Remove unnecessary debug output.
       new  afb103f   Add a dual-tree depth-first traverser.
       new  dea44bb   Save just a little time where we can.
       new  350bc8c   Include statistic.hpp (so we have EmptyStatistic).
       new  0dec288   Add dual_tree_depth_first_traverser.hpp to build list.
       new  e38e95b   Add an option to use cover trees.
       new  b0b5ffd   Add implementation of rules for dual-tree search.
       new  5768f85   Use DualTreeDepthFirstTraverser for naive and dual-tree calculations, and remove all of the guts we previously needed but don't anymore (ComputeBaseCase, ComputeDualNeighborsRecursion, ComputeSingleNeighborsRecursion).
       new  a3b6a9a   This bothers me a lot more than it should. (used to say "5mins,4.3secs", now says "5mins, 4.3secs")
       new  d11123f   Make this an iterative implementation.
       new  be2a999   Well, that would break everything...
       new  d0da579   Add DualTreeBreadthFirstTraverser (at this moment, not rigorously tested).
       new  0729345   I didn't do this right; I forgot about the "UpdateAfterRecursion" step and broke everything.  So... revert to the recursive implementation for now.
       new  e039828   Correctly handle cases where implicit nodes are created.
       new  528930f   Add a preferred dual tree traverser.
       new  216d858   Add preferred traverser and dual cover tree traverser (which doesn't prune at the moment).
       new  307d136   Add rules for cover tree search.  This breaks the nice abstractions I was trying for.
       new  f8fe1a3   Add a dual-tree test for cover trees.
       new  2ab8799   Add directory for implementation of MaxIP.  I think it needs a better name...
       new  f98b46f   Remove debugging output.
       new  068f0e9   Add the IPMetric, which is the "inner product" metric which calculates the metric induced by a kernel.
       new  ba9dee6   Add rules for the MaxIP single-tree search.
       new  bdc1e12   Add MaxIP class.
       new  cfc2c56   Add CMake configuration so MaxIP gets compiled.
       new  879df6d   Add maxip to project build.
       new  3c4f258   Add simple first test for MaxIP.
       new  fed5f1e   Clarify error message; k can be equal to the number of points.
       new  8597262   It helps if the conditional is right, too.
       new  7a64408   Give number of prunes.
       new  fb251ec   Add maxip executable.
       new  41ae684   Don't get it backwards...
       new  d3ecd82   Add template specalization for linear kernel.
       new  1c10810   Avoid double-evaluation of base case.
       new  40bc6e2   unsafe_col() is faster.
       new  935f7fd   UL and ULL extensions for older GCC.
       new  7d30d4e   Reimplement single-tree search.  It's faster now.
       new  f39babc   This file doesn't exist.  I didn't need it.
       new  9b03b46   Ensmallen and randomize.
       new  c17dfb5   Initialize products to DBL_MIN.
       new  b55d371   Use unsafe_col() 'cause it's faster.
       new  84f8716   Rewrite to only use one queue.  Not very happy with this implementation.
       new  1acd75d   Add a kernel which I'll remove later.  I don't like it...
       new  211f8e7   We can do polynomial kernels too.
       new  7428670   Check in modifications.
       new  c8989e9   Update kernels in ugly ways that need to be removed later.
       new  ce7c92b   Needs to be the square root, not actually K(q, q).
       new  557233b   Put ugly global variable in so it compiles.  This will be cleaned later...
       new  47d9361   Consider queryProducts kernel evaluations too.
       new  f821de4   Don't used squared distance in tree construction.
       new  9ef1907   Revamp breadth-first descent to consider tree levels so it is the proper breadth-first descent.
       new  23286e5   Count kernel evaluations.
       new  c17f6d0   This test does not compile with Armadillo 3.2; I have not yet had a chance to figure out why.
       new  bf3ee9f   Work for older CMake versions (2.8.2) and finding older Armadillo versions.
       new  d2bd281   Halfway transitioned to newer implementation, which does not try so hard to conserve memory.
       new  e8281a8   Rewrite swapping code.
       new  8ce0e43   Some slightly ugly additions -- but which give an order of magnitude speedup during cover tree construction.  It turned out that when we were handing the new near and far set to a child, we did not remove points with distance further than the far set bound, meaning that the far sets were way larger than they needed to be.  Preliminary results indicate fewer distance calculations during tree-building than Langford's original implementation.
       new  41d083b   Relax the separation constraint to include equality (in accordance with the paper).
       new  842aac6   Store furthest child distance and furthest descendant distance.  This can allow better pruning rules.
       new  d23d671   Fix a couple bugs in furthest child and descendant determination.
       new  ec0f020   No far set in root node.
       new  debfbc6   No far set in root node.
       new  10c2350   Parent distance is the interesting one to track, not furthest child distance. Fix a few bugs so that furthest descendant distance is correct.
       new  c7cef2c   Add two more kernels.  They need to be parameterized.
       new  b758608   fixed line that referred to nearest neighbor search
       new  02702f0   wrote EMST tutorial
       new  c91b38d   Clean up cover tree implementation a little bit.  Allow instantiated metrics (good for hyptan or gaussian kernels or any other kernels with parameters).
       new  cb7de62   Refactor and clean epanechnikov kernel.
       new  280e032   Remove static Gaussian kernel hack.
       new  af13bb7   Best not to promise functionality we might never get around to.
       new  81a27bd   Remove the no-offset kernel; it is not useful and was a hack for a deadline.
       new  e5e75b7   Include new files.
       new  c95643e   Fix top-of-file comments.
       new  a902256   Rewrite triangular kernel with parameters.
       new  5e6078f   Check in mess of MaxIP code which is being cleaned little by little...
       new  0ca5f9d   Test modified for new MaxIP API.
       new  2ef3c4b   I don't believe this is a valid kernel.
       new  b2fd2a1   Update documentation slightly.
       new  1048c01   Finish refactoring for each kernel type.
       new  7e79051   A couple of files were not included.
       new  e6061e5   Some code cleanup.
       new  b0db6ec   Code cleanup; don't use namespace arma (since that's done nowhere else) and clean and condense things a little bit.  Not a big overhaul -- but it's coming.
       new  7ec040a   This was being passed in backwards.
       new  9372070   Modify LARS API to accept non-transposed matrices.  This is easier on the user...
       new  8437362   Adapt for new LARS DoLARS() API.
       new  cddf749   More refactoring; remove nActive because it isn't necessary, and include solution in the call to DoLARS().
       new  9935965   Changes to DoLARS() propagating to here.
       new  8c2681e   Changes to DoLARS() propagating to here.
       new  44baf0f   Change DoLARS() to more descriptive and less awkward Regress().  Minor code cleanups, and turn comments into full sentences (grammar Nazi mode activated).
       new  89bcd19   DoLARS() -> Regress().
       new  13eea02   DoLARS() -> Regress().
       new  590b754   Apparent typo in the test cases meant one combination was not being tested.
       new  435cbaf   Changes to main executable in accordance with the modified API.
       new  f1f83ba   Add option allowing user to specify if they want the data transposed on input; this is useful for LARS.
       new  206e571   Tests for new options to data::Load() and data::Save().
       new  aa585e3   Clean up LARS executable.
       new  20345b7   This check changes because we're loading X and not transposing.
       new  e1f76ec   CLI::GetParam<bool> seems to crash, and, add a timer.
       new  88429c0   Add some timers for loading and saving operations.
       new  6dcd981   Clean up documentation slightly.
       new  73aa22b   Stop timer for early exit.
       new  940832e   Clean up comments for no good reason.
       new  c638825   Refactor SparseCoding to initialize the dictionary as a template parameter.
       new  d02c28f   Change tests to respect new SparseCoding template parameters.
       new  fa6f705   RandInt() and Random() sped up by just using randomUniformDist
       new  e8976ce   A couple of formatting fixes.
       new  391ade5   A couple more tutorials now exist.
       new  5e25cc3   Added a compilable version of NMF code. Test cases need to be written
       new  11befda   Basic implementation of NMF
       new  6decd09   Add nmf directory
       new  e7d0301   Move everything into the NMF directory from PCA
       new  6e2ed99   Move NMF out of PCA
       new  ecbb2c2   Revert to PCA CMake configuration
       new  df58d6f   Clean up comments, and store a reference to the data, instead of copying it.
       new  7ff1f15   We don't need to set the reference -- this line is now implicit.
       new  0f220dd   Rename DoSparseCoding() to more flowing Encode().
       new  f40f645   Unit test for NMF added successfully. Validation conditions need to be tuned
       new  0900173   Minor style changes.
       new  45a4751   Fix some syntax errors I introduced, and print the matrices.  The test does not appear to be working correctly...?
       new  1d3626d   Formatting fix, and handle things a little more carefully.
       new  760e47d   Clean up code.  Use std::pow(x, 2.0) not x * x.  A couple of formatting fixes, and some changes to make some code more efficient.
       new  a750a50   Stop using activeAtoms because it isn't necessary (minor speed boost).  Clean up code just a little more.
       new  c8656cf   Avoid a matrix copy for matActiveZ and potentially speed up gradient calculation by avoiding instantiation of arma::ones<arma::vec> (Armadillo may have already been smart enough to avoid that anyway).
       new  981dd02   Clean up main executable.  Avoid unnecessary copies.
       new  70b61e8   Fail on failure to load dictionary.
       new  fcf053b   Avoid unnecessary initialization of dictionary when the user passes a dictionary already.
       new  a60aea5   Clean up style violations.
       new  6430dfa   Clean style violations in main executable.
       new  701f598   Template LocalCoordinateCoding to accept different kinds of dictionary initialization.  The loading dictionaries from file feature is temporarily broken for the LCC executable, but this will be fixed soon.
       new  cf65cfc   Update for new LCC API, and fix style violations.
       new  e1e2273   Make OBJ_TOL and NEWTON_TOL parameters to the methods.
       new  12121ef   Change matX to data, matD to dictionary, and matZ to codes.
       new  8543c88   Update for new API with better matrix names.
       new  7363b7c   Clean up formatting of output, and stop using arma::uword (prefer size_t instead).
       new  54212a7   Oops, this isn't necessary anymore.
       new  c37a64f   More consistent comparisons
       new  177d29b   Change DoLCC() to Encode() and some cleanups and fixes in Encode().  Reduce number of redundant class variables.
       new  9f448d1   Fix inaccurate comment.
       new  5585013   Update test cases for different cosine distance.
       new  f7308f1   Comment out testing procedure for now because it doesn't work (yet).
       new  e9bbaf8   Clean up and optimize code.
       new  1abbb98   Move RemoveRows() to the linear algebra utility section since it's used in more than one place.
       new  30c8ba8   Include linear algebra utilities.
       new  a12658e   Move RemoveRows() out of class definitions.
       new  036c103   Remove extraneous spaces
       new  46bf742   Minor spacing and formatting changes.
       new  fc16a11   Cleaner calls to .rows() as opposed to .submat() with all those arma::span objects.
       new  b6517e1   Tests for RemoveRows().
       new  eb97555   Be pedantic about namespaces.
       new  5ce21f0   This causes an ambiguity error (mlpack::math or arma::math?) on gcc 4.4.x.
       new  969e7ab   Set limit on maximum iterations so we don't spin forever.
       new  f71de1d   Better error messages (more descriptive, less awkward).
       new  76a2555   Severe cleanup of executable, so it actually works again.
       new  ad934b4   Use timers internally, not externally.
       new  55fcd17   Use timers internally, not externally.
       new  89eb220   Fix unclosed '
       new  6465f68   Fix doxygen documentation (forgot a @code).
       new  ad04089   Use log negative error to prevent calculation overflows (a first step towards making cT and eT unnecessary).  The algorithm has not yet been changed... so LogNegativeError is always used as '-std::exp(LogNegativeError(.))' at the moment.
       new  4749629   Update test API to use LogNegativeError().
       new  2f2743e   Simplification of expression
       new  3d3679f   Yeah, this is simple enough to inline; probably a better choice.
       new  cf630c8   This function can be const.
       new  b8e227f   This function can be const.
       new  8e1ab7c   Added Aleternating Least Square method to NMF. Require some testing
       new  6c43eed   First shot at overhauling FindSplit_().  Break deep nesting of if/for by reversing if conditions.  Use negative log error instead of actual error to help combat overflow issues.  Use double instead of cT (long double).  Change default eT to double.
       new  9d2783b   Fix lots of formatting issues in DETTest tests.  Stop casting to/from float/long double to preserve accuracy of calculations (which are now done on doubles).
       new  d8a9835   Minor style fixes and const-correctness fixes.
       new  2b24781   Uh, I forgot the opening {
       new  beb1c20   Further cleanup of casting issues.
       new  69f8789   Apparently unused file
       new  b3d67c6   Add parameters so user can specify objective and Newton tolerances.
       new  5eb47aa   Make objective tolerance parameterizable.
       new  465fd4d   Switch to doubles not floats in main executable so it compiles.
       new  b1f49ac   added some commented out debug statements
       new  7e8bd49   Clean up casting for old Boost.Test versions which aren't very smart.
       new  ddeed90   added back in accessor for matUtriCholFactor
       new  06b6566   Rename FindSplit and its variables to names that adhere to the style guidelines. Remove a few unused variables.
       new  94a0718   Update test to modified API.
       new  e7c3a0e   Fix corner case where found version is equal to the required version.
       new  4a7fce2   Add PSpectrumStringKernel to be used for maxip/FMKS.
       new  52bd91d   Add tests for PSpectrumStringKernel.
       new  b89f3cb   Clean up FindSplit() and reduce API to only what is necessary.
       new  83ccc5b   Clean up test to adapt to new FindSplit() and SplitData() APIs.
       new  5e31a23   Replace tabs with spaces.  Remove unused variables.  Use separate BOOST_REQUIRE_EQUAL() lines instead of one big BOOST_REQUIRE() with a bunch of &&s in it (this can give better output if one of those is failing, whereas the version with && is not specific as to exactly what failed).
       new  9b734eb   Clean up constructors.  Don't hand-allocate memory for minVals and maxVals; remove GetMinMaxVals_() because it was only ever used once; inline it directly into the constructor where it was used.
       new  2432b23   Clean up test.  Don't use 'new'/'delete'.  Fix wrong index for TestSplitData.
       new  8bcd50b   Oops, there was one more 'new'/'delete'.
       new  d0099c9   Clean up constructors; use initialization lists more exclusively.  Also clean up WithinRange() (inline it among other things; it is short).
       new  3410808   Use BOOST_REQUIRE_EQUAL(), and the function is now called WithinRange().
       new  b811118   Further switching from cT to double.  Later we will switch to all log error.
       new  be69849   Use double instead of long double for Grow() and PruneAndUpdate().
       new  5f2a9a5   Use double for ComputeValue(), and take a reference instead of a pointer; also fix const-correctness of function.
       new  325e0dd   Update for changed ComputeValue() API.
       new  5ef66b0   Change API for ComputeVariableImportance().
       new  c497a42   Modified API for ComputeVariableImportance().
       new  86a454e   Stop using eT and cT for good.  Change all variable names to adhere to naming guidelines.
       new  afc8a7a   Refactor test to stop using eT and cT.  Don't typedef MatType anymore, and change variable name to line up with naming guidelines.
       new  d22d37b   Clean up main executable file.
       new  d662360   Further cleanup of variable names.
       new  54a5c5c   modified OptimizeDictionary to return norm of gradient of Lagrange dual (with respect to dual variables)
       new  be289c0   fixed test for sparse coding dictionary step - the dictionary step now runs for more than one iteration, and the check is to see that the norm of the gradient of the lagrange dual (WRT the dual vars) is sufficiently small
       new  cb8a8ca   Convert all of DTree (with the exception of ComputeVariableImportance()) to work in the log domain.  This was fairly difficult...
       new  708e579   Adapt tests to working in the log-space and update APIs accordingly (as they have changed).
       new  14e2136   Cleanup of dt_utils.hpp.  Get rid of 'using namespace std' in dtree.hpp and update accordingly.
       new  1a5af14   Remove templatization of density estimation trees (it wasn't necessary).  It will be brought back, but not at this time.
       new  832a1f6   ...and make sure that the removal of templates is propagated to the test file...
       new  fb8b0cf   Clean up CLI parameter names and then rename the executable to 'det' not 'dt_main' so it matches more with other MLPACK executables.
       new  d541f39   Fix std::pow ambiguity on older compilers
       new  772e5b5   Fix pow ambiguity that I missed last time...
       new  2d69d77   Actually, I got it backwards, I need pow(double, int).
       new  718e02b   I added in logic to remove duplicate flag parameters in response to Ticket #231. http://trac.research.cc.gatech.edu/fastlab/ticket/231
       new  30f496b   This day is off to a great start
       new  c9bf2ed   Remove unnecessary debugging output
       new  9688bc3   Fix DET so it actually works.  A few things here and there needed to be changed.
       new  501058f   Disable volume regularization for the main executable for now.
       new  777874e   Remove debug output which is unnecessary now.
       new  5c52fca   Rename various parts of NMF to different names which line up more with the style guide; clean up main executable documentation and allow the choice between different update rules.
       new  cf9f3ad   The API call for Apply() has changed slightly.
       new  8ad153c   Allow objective tolerance option.
       new  9dfc2ff   Fix tabs into spaces.
       new  d176668   Wrote all the NMF test case and updated Alternating Least Squares method with pseudo-inverse function'
       new  e744b9b   Restructure trees entirely.  Each tree will have its own SingleTreeTraverser and DualTreeTraverser, and each tree type should be kept in its own directory (for organizational purposes).  The previous traversers in traversers/ have been adapted to either the BinarySpaceTree or CoverTree and moved there.
       new  b055864   Add a few files we forgot, including the convenience include files which include both trees and traversers.
       new  16ece03   Change include files and APIs to use the new tree traverser setup.
       new  248f9b5   Modify tests for new include locations.
       new  a1cf67a   Minor cleanup of NMF code; I think the residue should be displayed in non-debugging mode (optionally with -v) so I switched to Log::Info.  Comment on the change to pinv() then rewrite RandomAcolInitialization a little bit to avoid allocating memory unnecessarily.  Unfortunately insert_cols() is a little slow because it allocates more memory and memcpy()s.
       new  71f156d   Add Score() and Rescore(), which will be used for a "new" type of tree traversal which should be faster.
       new  c5503ba   Refactor BinarySpaceTree traversal to use Score() and Rescore() and thereby avoid unnecessary repeated calculations (so I hope).
       new  69c530f   Remove two now unnecessary files.
       new  856d43a   Oops, those files had to be removed from the CMake configuration too.
       new  dab90bb   Oops, we need this check in there too.
       new  56223e4   Use unsafe_col() instead of col() for speed reasons (this makes a BIG difference).
       new  220169f   Ensure we check if we can prune before descending the query tree (this case is possible and it seems, happens quite frequently).
       new  914f402   Fix comment.
       new  f8bc89c   Give ourselves a way to force inlining.
       new  3af9aa5   Check if we can prune individual points before performing computations.
       new  fbeaf51   Speedups for math::Range().
       new  a4db591   Inline these functions for speed.
       new  2d9c5ff   Force inlining of BaseCase() because that is extremely important to loop unrolling optimizations.  I mean like 200-300% speedup important.  Huge!
       new  f72534a   Respect -s when combined with -c (single-mode cover trees).
       new  ff46bbd   Update single tree cover tree traverser to be smarter about recursion order.
       new  4fa249a   Add new methods for finding the maximum or minimum distance to a point or node if the distance between the point and node center (or node center and node center) is already known.
       new  5660796   Add new methods for calculating the best distances when the distance between the center and the point (or center of the other node) is already known.
       new  22c5f7a   Remove a few unused methods (LeftFirst() variants).  Add Score() which accepts a pre-calculated base case, which is useful for trees with self-children, like the cover tree.
       new  abe9831   Rewrite the single tree traverser for the cover tree.  It works, now it needs to be sped up.
       new  a317d81   Fix spaces, and actually traverse to the left instead of just saying it and then doing something else.
       new  c4b94dc   Fixed NMF Test
       new  e51fc1c   RandomAcolInitialization was modified to take a template parameter so now we must specify the <>.
       new  82f51ad   Heh... a template parameter is not an lvalue.  So just warn the user and then chug happily away...
       new  94bd10a   Oops, a small typo...
       new  0e980af   Tighten bounds on minimum and maximum distances because we already cached the furthest distance.
       new  eaad119   Revamp single tree traverser... again.  For now it has debugging output.
       new  b9ee0a0   Use L2 distance not squared-L2 distance because that breaks cover trees.
       new  72c2979   Get the conditional right.  Only map things back like that if there was a query file and we were in single mode.  Not just 'singleMode' is good enough.
       new  1b6b07c   Refactor single tree traverser again; don't use priority_queue which is slow. Instead exploit some nice properties which allow us to use a map of vectors.  It seems as though this implementation is about twice as fast.
       new  980ecde   FindArmadillo.cmake ships with CMake from version 2.8.5-rc1 onwards.  So require that.
       new  18c6fc6   #223: I don't think we have ever needed to link Boost.Math anyway. Also use -O3 for shits and giggles.  I didn't see much runtime difference but whatever.
       new  e6c9e8a   I promise, GCC, just this once, I'm smarter than you, really.
       new  0c600e4   Split CoverTreeMapEntry into its own file since it will also be used by the dual tree traverser.
       new  a794052   Some warning cleanup.
       new  d9d87c3   Seeming error; we just want the path, not the absolute filename.
       new  c6925e9   Use correct L2 distance, not squared L2 distance in cover tree test.
       new  6c66e6b   Rewrite dual-tree cover tree traverser.  The use of UpdateAfterRecursion() is kludgey but it seems to work okay for now.  Also, the MapEntryType couldn't be abstracted across both traversers because the DualTreeTraverser needs more information.
       new  e4bc775   Remove unused CanPrune().
       new  a0860f3   Be explicit and call std::log(double) because in some compilers (icc) std::log(size_t) doesn't exist. #239
       new  aa3f3c3   Heh... -h is already in use...
       new  af02f92   Safer handling of strings which may have spaces in them.
       new  9ee059d   Missed one handling case
       new  7517e85   Fix floating point precision error which was causing issues only when compiled with optimizations.  I suspect this to be a manifestation of http://gcc.gnu.org/bugzilla/show_bug.cgi?id=323 and making one argument volatile is proposed as a potential simple solution, which appears to work here.
       new  23ca8a6   Use base of 1.3.
       new  0065ddf   Refactor and try to rewrite dual tree traverser so it is faster, but I don't think we're completely there yet.
       new  7012823   Comment out debug output for now.
       new  1ab68db   Comment out some debugging output.
       new  84bc349   Update bounds -- the tolerance was being exceeded (just barely).
       new  353a3a2   Update documentation for the use of cover trees.
       new  debe167   Change expansion constant to base (#240).
       new  f86dda7   #240: Change expansion constant to base.
       new  28e2630   Must used square rooted distance to be a valid metric.
       new  16888a4   Use valid alternate metric in tests.
       new  323d706   Fix a warning which was actually also a bug; Score() takes the base case evaluation as a third argument (optionally), not a previous score.
       new  70b7ac8   Update copyright file (should this be in a different format?).
       new  24259a7   New contributor
       new  35d1571   noinline wasn't suppoed to be checked in, oops.
       new  6faeca3   Add one more contributor.
       new  de8d517   A few more modifications to the tree test
       new  88937cb   Propagate r13418 to trunk.
       new  27e1c62   Trivially minor misspelling.
       new  ab611e5   #164: Any objects passed into a prefixedoutstream that contain a std::string ToString() const method will write the results of the ToString method instead of simply being passed directly into the prefixedoutstream.
       new  f6860f6   #164: Started documenting sfinae_utilities.hpp.
       new  b5526f2   Added more documentation to sfinae_utility.hpp.
       new  79c452b   #147 Cleaned up code. Added some documentation. Implemented ToString() for GaussianDistribution.
       new  9cc2ff8   Add inplace_reshape() for reshaping matrices without doing anything to the data.
       new  c97c0cb   Add a test for inplace_reshape().
       new  4c6e7d4   Document the impending doom which will certainly be caused if you use this function carelessly.
       new  f510ea7   Complete sentences, yo.
       new  9507271   Fix odd spacing and be unnecessarily pedantic with const-correctness.
       new  4c82758   That empty initalizer is implicit anyway.
       new  6d79880   Add constructor which automatically creates identity covariance, and don't check if covariance is initialized when calling Evaluate().
       new  eb171b7   Add tests for new MahalanobisDistance constructor.
       new  645ce14   Documentation fix, and tabs to spaces.
       new  6189853   Documentation fixes.
       new  b3e1bce   Change template parameter names to be more in accordance with the rest of the codebase.
       new  5f4f638   Change template parameter names to be more in accordance with the rest of the codebase.
       new  fb078e0   Add TakeRoot parameter for use with LMetric<n, true>.
       new  400d2ab   Test new HRectBound<n, true> functionality.
       new  66cae0b   Make a stronger note that the LMetric without taking a root is not a valid metric.
       new  7a8b730   Update documentation for the HRectBound.
       new  278da0a   Ack, that's an annoying typo in a bad place.
       new  f176042   Another annoying typo.
       new  bf0de6a   Update some documentation for clarity and coding standards.
       new  cad3212   Longer lines than 80 characters?  Unthinkable!
       new  48cf155   Debugging output, not warning output.  Oops.
       new  0dbde50   Fix grammar in comments (utter pedantry) and a few style issues.
       new  7cd2d54   Tabs?  In my application?  It's more likely than you think.
       new  70633a3   First cleanup of code: adhere to formatting standards (mostly).
       new  9da4775   The mean was not being set to zero in the constructor where the documentation said it was being set to zero.  This is now fixed.
       new  9bbbe62   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@13676 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  278db94   Remove test, because it's just testing internal MLPACK functionality which is already tested.
       new  2f16759   Fix includes.
       new  0ee4969   Updated EMST code to use tree traverser abstractions.
       new  b3a0dc8   Utility to find MATLAB and the mex compiler.
       new  03f038a   Build rules for MATLAB bindings.
       new  1ef239a   Build rules for the EMST MATLAB mex binding.
       new  8b05378   Makefile no longer necessary.
       new  e44f016   Finish CMake configuration changes for MATLAB bindings.  This *should* break the build (and will test what FindMatlabMex does when MATLAB isn't installed).  I'll have it fixed shortly thereafter.  Yes, this is somewhat lazy testing...
       new  236a981   This comment is no longer necessary.
       new  68ad657   This comment isn't necessary.
       new  0f79e11   Actually issue errors when mex is not found.
       new  51b96a8   Clean up script a little bit, make it a bit friendlier.
       new  ddafd1f   Clean up configuration so that MLPACK will compile on systems without MATLAB. Also handle CMake policies more gracefully; I can't believe CMake just doesn't ignore policies it doesn't know about.  Poor design...
       new  abcc605   Remove all the cmake_minimum_required() bits that weren't actually necessary because there is a cmake_minimum_required() in the root CMakeLists.txt.
       new  4d237c4   Further clean up script and handle things better when MATLAB does exist.
       new  184d649   Use MATLABMEX_FOUND not MATLAB_MEX since CMake string comparisons are as stupid as my cat.
       new  44bad79   Comments and cmake_minimum_required removed because they are not necessary.
       new  1ea435a   Script to modify the file which controls the MATLAB default path to add the "MLPACK toolbox", as I am calling it.  Also in reference to an earlier commit message, to clarify, my cat is quite seriously weapons-grade stupid.
       new  9a5ed33   Add MLPACK MATLAB bindings to the default MATLAB path.
       new  a28b366   Add new developer (Patrick did the MATLAB bindings).
       new  9292767   Update copyright
       new  2f1d361   Add DETs to the list.
       new  20b5960   Change name of output and update MATLAB binding accordingly.
       new  cb41bd0   Tabs?  In your codebase?  It's more likely than you think.
       new  46df87b   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@13752 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  c6bef0d   Slight reorganization.
       new  272c5c8   Weird misspelling fixed
       new  e690690   Stochastic gradient descent will live here.
       new  f657d88   Clarify documentation.  L_BFGS is a minimizer.
       new  3ed99cb   Not yet tested -- but implemented in a few minutes.  Turns out SGD is pretty straightforward...
       new  80f2a62   Modify namespace, and create CMakeLists.txt.
       new  edd1fd3   Add SGD, and add functionality to LBFGS test functions (which will probably be removed later).
       new  cc5858e   Fix a few errors in these files.
       new  f6db945   Add a test function and make it work right.
       new  3222af6   Add a test for SGD.
       new  f7307f8   Move everything into the mlpack::util namespace from mlpack::io or mlpack::utilities.
       new  6829bf9   Update to use mlpack::util namespace.
       new  3e39c65   Fix formatting issues and prepare for new functions.
       new  892c708   Fixes to use mlpack::util not mlpack::utilities.
       new  fdedbec   Implement decomposable error function and gradient, then make NCA use SGD and not L-BFGS.  That's a lot of acronyms...  for now, parameters to SGD are specifiable through the NCA interface, but I think in the long run NCA should be templatized to use an arbitrary optimizer.
       new  7e617fa   More parameters for NCA in accordance with the change to SGD.
       new  b743a28   Allow normalization of points, to prevent underflows.
       new  e14b1b4   added range_search and gmm; CMake updates for kmeans
       new  8477b8d   Remove the normalization stuff... that is not the right way to do it.
       new  52c1e2b   Slightly smarter normalization strategy for large datasets.
       new  a677184   Also support a random seed.
       new  ba2f8a7   Stupid, stupid, stupid (#256)
       new  142b566   Oops, I missed one utilities -> util change.
       new  db20dd8   Explicit cast
       new  d671419   Better default tolerance; 1e-5 is too high and may "accidentally" converge too soon.
       new  370ae47   We were neglecting a term in the gradient...
       new  19f6d46   Tests for the separable evaluation and gradient of the NCA softmax error function.
       new  aa724f1   Add parameter to determine whether or not SGD is shuffled.
       new  d642272   For real, I seriously considered anger management classes while hunting this one down.
       new  41a1c4a   Allow passing an initial matrix.
       new  bf00af5   Change the way things are normalized.
       new  7174b79   No need to print the final matrix.
       new  e3877da   A better normalization strategy.  And actually document how you make NCA work well.
       new  d6091bb   Output the size when loading.  How cool!
       new  4f2c363   Rename in accordance with the submitted paper.
       new  f296da0   Update include location.
       new  fbd980d   Rename all MaxIP files to FastMKS.
       new  eb6b9fd   Rename MaxIP test to FastMKS test and update everything accordingly.
       new  a6fa1f2   Remove sparse support from trunk.
       new  338e030   Oops, don't remove inplace_reshape().
       new  028b03d   Only do sparse tests if sparse matrix support exists.
       new  3b2ad36   Add explicit constructors for sparse vectors, which are applied only when Armadillo 3.4 is used (this is a backport of new functionality).
       new  8419c4c   No need to typedef u64 anymore; set size_t == uword by defining ARMA_64BIT_WORD on systems where size_t is 64 bits; clean up preprocessor #ifs so that Row_ and Col_extra_bones work correctly.
       new  8899373   Update CMake configuration for removed files.
       new  44ce832   Fix links.  #249
       new  ad77974   Workaround for the case of sparse matrices.
       new  e8f050e   Bake in support for HDF5 -- if Armadillo has it.
       new  668605a   Test HDF5 load/save functionality.
       new  7bf913d   Fix a code error, fix build instructions to include package managers.
       new  5edd2db   Actually, we can't just define ARMA_64BIT_WORD willy-nilly because it makes weird weird WEIRD things happen.  Yeah, no joke.  If you want some fun sometime... try that...
       new  dc26f37   Check for a 64-bit system where ARMA_64BIT_WORD is not enabled, and warn the user if that is the case.  MLPACK still works fine without ARMA_64BIT_WORD, but it is not a bad idea to ensure size_t == uword (by defining ARMA_64BIT_WORD on 64-bit systems).
       new  6118807   Issue a warning when a user tries to compile MATLAB bindings and they have a version of gcc which is "not supported" by mex.
       new  f74c307   Fix to work with older GCC versions in cases where math:: is ambiguous (stop using arma::).
       new  5b36099   No need to warn if the MATLAB mex compiler is using a newer glibc than the system.
       new  e7815e5   Use specific doubles for RHEL5 Boost compatibility.
       new  3cff764   Clean up MATLAB bindings for EMST.
       new  7663851   Update AllkFN binding documentation to how it should eventually be.
       new  e775657   Tabs to spaces
       new  16d8a70   Very minor documentation change.
       new  ae6b9e3   Add build rules, tabs to spaces, and remove unnecessary header files.
       new  702fdde   Update headers, tabs to spaces.
       new  ec8afa7   Remove unnecessary Makefile, change to appropriate headers, and add header comment (and tabs to spaces).
       new  dd8a9b6   Remove unnecessary Makefile; add header comment, remove unnecessary headers, and change tabs to spaces.
       new  c4821ce   Remove unnecessary Makefile, switch tabs to spaces, add header comment block.
       new  e9a21dc   Error in comment
       new  6931b4c   lars, nca, nmf, pca, kernel_pca
       new  deaa6a4   Clean up warning.
       new  a8c8275   Fix documentation.
       new  66dddb4   Manual tree constructor
       new  b63200b   Test for the manual constructor.
       new  d29b8cb   Update for cover tree API change.
       new  02dec27   Add option to compile MATLAB bindings.
       new  1c4f367   Make recursion into the bindings optional.
       new  019eab2   Add a few new bindings and make the mex compiler required if compiled with -DMATLAB_BINDINGS=ON.
       new  63274bc   Move conditional on matlab bindings to matlab-specific subdirectory.
       new  cd229c5   Put MATLAB_BINDINGS conditional at a lower level.
       new  41d1d65   Add CMake configuration for this binding.
       new  2ff1a1b   Tabs to spaces and correct includes.
       new  fdd318d   Remove unnecessary Makefile.
       new  6077706   Remove unnecessary Makefile, tabs to spaces, use correct includes.
       new  94fa95f   Tabs to spaces, fix includes, remove unnecessary Makefile.
       new  7861522   Fix includes, tabs to spaces, remove unnecessary Makefile.
       new  d8eba4a   Fix includes, remove unnecessary Makefile, tabs to spaces.
       new  ccaa950   Add mutators for ParentDistance() and FurthestDescendantDistance() and fix a comment.
       new  d4613d6   Add a method to get the furthest descendant distance.
       new  3f506f9   Add a test for the furthest descendant distance.
       new  322dcab   Calculate queryNode.Stat().Bound() on the fly instead of just one time at UpdateAfterRecursion().  This slows things down, but can probably be modified to be faster (maybe it is not necessary in Rescore()?).
       new  c91b91c   Don't use UpdateAfterRecursion().
       new  7b7e094   Update comments for correctness to resolve #261.
       new  f5c7737   Another comment cleanup.
       new  e757d3b   Refactor NCA to take an optimizer as a template parameter, and default to SGD.
       new  5cdf6d7   Update test for new NCA constructor.
       new  32daf84   Add option for optimizer type to parameters.
       new  84b0818   Add function for cover tree pruning.
       new  8244ddf   Add Prescore() function which can be used to prune based off of parent distances.
       new  960898a   Use Prescore() to prune reference children without evaluating the base case.
       new  c573310   Try to prune when copying reference maps.
       new  a9063da   Add new (hackish) rule for pruning while descending queries.
       new  a829d1e   Fix NCASimpleDataset test.
       new  4ed04e7   Change formatting to fix style.
       new  e07d39b   Clean up RADICAL code and add some more output.
       new  bdbc847   Clean up documentation slightly for the case of slow runs.
       new  dba5d67   Implemented the ToString SFINAE pattern.
       new  ae62930   Implemented ToString methods for the math folder.
       new  a5d1135   Working on implementing the ToString functionality for the tree folder - getting a seg fault with the cover tree class.
       new  ccfbd6b   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@14031 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  529a22b   Update to newest version (I mistakenly branched an old version).
       new  07d39bc   Minor formatting improvements and warning fix.
       new  8434adb   Further implementation cleanup; build rules fix, and move test to test directory.
       new  356cbe1   Build LSH.
       new  4c9ffb3   Add tests for LSH.  They may be modified as time goes on.
       new  523485d   Implemented tree folder ToString methods. Anything involving a mrkd_statistic, binary_space_tree, and cover_tree are encountering segfaults with when they are being destructed, though.
       new  62ffc80   Abbreviated the Range ToString method to return one line.
       new  1492048   Resolved tests to compile with ancient versions of boost.
       new  d46b6ed   Standardized code style for DiscreteDistribution's ToString method.
       new  a7e6477   Initializing MRKDStatistic's leftStat and rightStat fields and standardized cover_tree/cover_tree_impl.hpp
       new  c69be37   Fix line widths.
       new  dff186c   Do not make copies of objects when printing to output.
       new  b501e28   Add copy constructor explicitly.
       new  3b6ffed   Add test for cover tree copy constructor.
       new  d00fab4   Minor refactoring of BinarySpaceTree and addition of copy constructor.
       new  bc66908   Test for copy constructor of binary space tree.
       new  d8631fa   Fix unsafe code in HRectBound; bounds can be NULL.
       new  89a039c   Refactor MRKDStatistic into three files (maybe a little overkill, I realize now).  Add accessors and mutators after making internal variables private.
       new  0bb7fcd   Update for MRKDStatistic API change.
       new  d7422a3   Flush status message to output before the size of the loaded matrix is determined.
       new  88bd395   Some tricks to get u64/s64 support on more recent versions of Armadillo.
       new  99e921f   Add parent and Parent() so that trees can be traveled both down and up.
       new  df16baa   Add test for Parent() method in BinarySpaceTree.
       new  126b607   Issue a warning (not a fatal error) if Armadillo's configuration file does not exist.  The presence of that condition will probably cause errors later on, though.
       new  cc3b74d   A few changes to PrefixedOutStream and NullOutStream to deal with references better.
       new  929aa73   Refactor calculation of bound.  It may need a further fix.
       new  71090e9   Don't use Prescore(); it doesn't work.  Comment out for now (it may be removed later).
       new  6c56e16   Add two new files to build.
       new  2ae4aef   Better calculation of bound.  We could still optimize a little bit.  Debug output is for #243; this solves #264.
       new  866d680   LSH class updated: Hash width computation moved within the class and removed from the main file. More comments added to the LSH class. Search function made tunable allowing the user to chose the number of hash table he/she choses to search in.
       new  9bf880a   RANN moved into trunk from contrib/pram. Test added to the mlpack/tests/ directory along with relevant datasets
       new  f127e6c   test data loading fixed
       new  d976afc   Clean up string util files (no functionality change).
       new  31e9068   Oops; turns out there _was_ a functionality change...
       new  d8de68c   LSH Test modified
       new  226d863   Add traits for trees.
       new  95270e3   Add test for tree traits.
       new  902154e   minor update to remove some warning for the pow() function
       new  ec704dd   minor update to remove some warning for the pow() function
       new  db43dbe   It turns out we can actually make the bound a little tighter, which I accidentally showed yesterday.
       new  34e3f53   Make GMM::Estimate() return double.
       new  166fab9   Update test for changed GMM API.
       new  e0c876a   Clean up LSH code and add random seed parameter.
       new  5f42dca   Add LSH to listed methods.
       new  d11a7f9   Remove using directive and extra whitespace.
       new  af2388c   Simple cleanups of RANN code.
       new  21dbe83   LSHSearch class MetricType template removed and only metric::SquareEuclideanDistance used appropriately throughout the class
       new  5f82a1c   cleaned up commented code in allknn allkfn. adding the incomplete hmm binding
       new  24a92bc   Far less hackery is required for Armadillo 3.6.2.
       new  85fbc73   Old versions of Armadillo are no longer allowed, so this code for Armadillo < 2.1.91 is unnecessary.
       new  9a17130   Fix warning.
       new  42a584b   Fully qualified name of var() for compatibility.
       new  6e8c37d   Exclude Armadillo 3.4 from K-Means sparse test because sparse var() was not implemented in that particular release.
       new  5f7053a   LSH requires resize() which is not present until 2.4.2.
       new  a8574fa   Got the name of the macro wrong...
       new  5575ce5   Armadillo 3.4 has some sparse bugs which cause this test to get stuck in an infinite loop.  The bug is not present in Armadillo 3.6.  Therefore, don't run this test on Armadillo 3.4.  If a user ever reports it, then they should move to a newer version of Armadillo.
       new  5f81803   'force_inline' added to ra_search_rules_impl.hpp
       new  f461dc8   Add history.
       new  bc4548a   Abstract away the unmapping of points.  Also fix a few bugs in AllkFN because that executable was really not kept up to date with the AllkNN executable.
       new  921f463   Test Unmap().
       new  57545e0   Forgot to test-build allkfn...
       new  67a8d28   Change rowMajor parameter to transposeData parameter, which is set to true by default.  This is in line with the LARS executable and fixes a bug; the LARS executable transposed the data when it should not have.
       new  d94226e   Update for changed LARS API.
       new  ef519dc   Comment out checks for now; setting the random seed does not guarantee the same results across architectures (and Boost versions) and therefore isn't a good test.  We will need to write the test differently (probabilistically).
       new  c6470c8   Clean up tests; split into four (not three) tests, remove random seed setting where appropriate.
       new  e5b375b   Move default arguments into declaration of function to make clang happy.
       new  36b326f   Cleanup for clang warnings.
       new  8d1958e   Update style; remove _s.
       new  dbeac62   Add Parent() function.
       new  45bc45d   Update test so Parent() is also tested, and also update constructor parameters.
       new  2fee7e2   Reset parents correctly in the case of implicit nodes.
       new  0235b1e   A few more examples to reduce the probability of error.
       new  359480f   By default, take the root.  Then it is a true metric.  (L2-squared distance is not a metric).
       new  0267503   By default, take the root.  L2-squared distance is not a metric.
       new  ef5be45   Still use L2-squared distance by default; this needs to be fixed.
       new  bbf9b8d   Don't use L2-squared distance by default.
       new  5ea9423   Update tests because LMetric<2> is no longer the squared Euclidean distance.
       new  1b05397   Use the bound in the ICML paper.
       new  baee742   Update to only use L2-squared distances (for now).
       new  5bb45b3   Simplify constructors; we don't use any of the odd ones.
       new  fddf5c3   Simplified statistic construction.
       new  dcb111c   Adapt to modified statistic API.
       new  4c58f1d   Adapt to new statistic API.
       new  5df7b62   Style changes
       new  1a30763   Oops, I did not realize there was an _impl file...
       new  a9ce869   Update statistic API.
       new  92e8743   Update statistic API; for cover trees, actually call the initializer.
       new  9ec3732   Don't use start anymore.
       new  5119616   Clean up code a little, and allow returning of the metric associated with the hyperrectangle bound.
       new  af2db5a   Remove empty constructor; store dataset; allow return of metric with Metric(). We don't seem to pay an extra price for this because sizeof(BinarySpaceTree) > 64 bytes but < 128 bytes (two cache lines).  Also, reducing the size to one cache line doesn't seem to provide much benefit (at least on amd64).
       new  f4359eb   Add Metric() function, and refactor a little bit.  The metric may be stored locally if none is given.
       new  d6a38e8   Add test for Dataset() and update because the empty BinarySpaceTree constructor no longer exists.
       new  ff70fa9   The name of the executable changed.  Update documentation accordingly.
       new  fbcc1fd   Minor documentation change.
       new  003c0f0   Add a readme.  Readmes are good.
       new  df91d03   Fix bug in bound function for neighbor search.  It is necessary to keep two separate bounds for each node.
       new  a54d4f7   Add a new trait.
       new  5ebdee3   Allow returning of instantiated metric and centroid.
       new  186d361   Add Diameter() function, which is useful for obtaining the furthest descendant distance.
       new  b417457   Test Diameter().
       new  cefdd5d   Cache furthest descendant distance.
       new  e376028   All definitions should come before mlpack includes.
       new  4ffea72   Make FastMKS work in the dual-tree setting.  Hooray!
       new  716de8d   Clarify documentation significantly on Train().  Only allow setting of dimensionality in constructor and by hand, to prevent unexpected behavior in Train().  Check dimensionality of observation sequences in Train().
       new  321e78b   Better debugging output for DiscreteDistribution.
       new  f0a8722   Explicit namespace inclusion.
       new  c9b74c1   Clean up warnings.
       new  2a6820c   Use custom FindArmadillo script, which will find (and link against) HDF5 if necessary.
       new  95dedcf   Clean up output a little bit.
       new  c8dac1e   Update name of inclusion guard to fit with the rest of them.
       new  0a4bacd   Uh, this is a major problem.
       new  f59d36e   Superfluous c_str().
       new  1c69da3   Make Save() actually return a useful value.
       new  c791965   Add Load() and Save() functionality for GMMs.
       new  88945c3   Test Save() and Load() functionality for GMMs.
       new  847fe89   Use GMM::Save() instead of a handwritten function.
       new  b48b140   Update coding standards.
       new  51bd3e9   Add perturbation to ensure that the covariance matrix does not end up empty (and therefore singular).
       new  d65786c   Add option for number of trials.
       new  eefffb9   Add perturbation to covariances when necessary to prevent zero-valued covariance matrices.
       new  5710007   Zeroes in any element of a diagonal of a covariance matrix can cause problems.
       new  e0c99e3   This should be informational output which is present even when debugging symbols aren't.
       new  0a959d4   Do not divide by zero.  This is important when there are outliers whose conditional probabilities for all clusters may be zero.  The results are unaffected.
       new  20a5e54   Too many spaces.
       new  f58ab19   Put in checks for non-invertible covariances after training; add perturbation to avoid them where necessary.  Also avoid dividing by zero.
       new  edbe390   This is necessary (apparently) until the FindArmadillo changes either get committed or wrap_libs fixes the problem entirely.
       new  e1d8773   Parameterize perturbation, tolerance, and maximum number of iterations.
       new  e60458c   Add parameters for EM algorithm, and also add parameter which adds random Gaussian noise.
       new  32cdc6a   Don't use a specified perturbation but instead a simple (but rather slow) algorithm to detect positive definiteness of covariance matrices and force them to be positive definite if necessary.  All of this is "singularity avoidance", to keep covariance matrices from becoming extremely small and then introducing NaNs and infs everywhere.
       new  f203770   Remove perturbation parameter and allow specification of whether or not matrices should be forced to be positive definite.
       new  6ba64c3   I think this warning can be somewhat misleading, so it should be removed.
       new  badab92   Eek, I broke the build!
       new  01bd52a   Use the same fix from GMMs to ensure that covariance matrices are positive definite.
       new  369a7db   Allow parameterization of the tolerance of the Baum-Welch algorithm.
       new  0ca76ec   Add option for tolerance of Baum-Welch algorithm.
       new  10ddd39   Slight documentation fix.
       new  907c0c6   Minor formatting change.
       new  606d096   Oops, this is not the accessor/mutator design methodology we are using.
       new  08d4aa7   Avoid issuing two warnings for one problem.
       new  a659530   Add option to get the clusters back when the process completes.
       new  4753071   Wrong index, pointed out by se7en7 in IRC
       new  af3c578   Fix bug in error checking, and make given errors a little more descriptive.
       new  9ceaecf   Better error checking, and, actually *use* the initial guesses if they were given to us.  Logic is hard...
       new  88f2d52   Test the new functionality of k-means: initial assignments and initial centroids.  Also test that k-means fails on corner case datasets -- it should.
       new  92f9390   Add a new initialization method, which is an implementation of Bradley and Fayyad's scheme for better k-means initialization points.  It seems to work well.
       new  bca7ff5   Add test for Bradley-Fayyad initialization (RefinedStart).
       new  00c64f8   Add accessors and mutators, and mark function const (as it should be).
       new  d773bcf   Minor formatting change.
       new  44162f5   Remove Pelleg-Moore support (as per #251).  Allow the user to specify a file to save centroids to, and also allow the user to ask for Bradley-Fayyad initialization, and give options for the parameters to that initialization.
       new  53f8a74   Allow Bradley-Fayyad initialization for k-means as initialization for EM algorithm.
       new  0d64f52   Oh yeah -- actually allow the user-specified parameters to *do* something...
       new  75029dc   I don't like how Doxygen does @see; this should look a little better.
       new  d6836db   Fix documentation for prettier @see results.
       new  f04ff1a   Remove ambiguous option
       new  2dd624d   Name of argument changed
       new  7498ae7   If loading fails, don't try to continue.
       new  138a32d   Patch for #272, pointed out by Marcus -- incorrect example.
       new  2667645   Add directory for k-means tutorial.
       new  9cdfb48   Clean up DET tutorial significantly.  It could still use some work -- but then, so could the actual DTree API.
       new  9d92c7c   Remove reference to alternate volume regularization example.
       new  7db7733   The last section shouldn't be a subsection.
       new  1a62589   The last section shouldn't be a subsection.
       new  f4ef251   The last section shouldn't be a subsection.
       new  5e81990   The last section shouldn't be a subsection.
       new  73ec815   output_file is the option, not outputFile...
       new  f1a363e   Stop timers if saving or loading fails.
       new  7515d17   Fix parameter names (asleep at the wheel?).
       new  1978844   Change DistanceMetric to MetricType to be more in line with the rest of the mlpack codebase.
       new  f1bb1c4   Wow, I spent a lot of time writing that.  It's mostly checked for errors.
       new  c35e08c   implementation of the \c EmptyCluster() function makes Link to k-means tutorial.
       new  2cce81c   Add directory for FastMKS tutorial.
       new  85155ff   It all has to be one big comment to be a page...
       new  7d1dd1f   Refactor cover tree constructors into one CreateChildren() function, which saves a lot of space.  A little bit of changing needed to be done to set the scale right in the root node, and as a result the assert that checks that the furthest descendant distance is within the scale has been removed (since that has never been a problem).  This is for #274, but the other constructor will not be changed until mlpack 1.1.0.
       new  f2c7341   Widen tolerances on tests that seem to be failing often.
       new  407289e   Widen tolerance even more.
       new  7cc6397   Update IPMetric API and document it.
       new  c6a6a75   Update FastMKS API and do some documentation.  Add some new constructors for flexibility.
       new  eb5d018   Remove base option -- just for now -- and update calls to FastMKS constructor for new API.
       new  2c0ccc2   Clean up rules file a little bit; make BaseCase forced inline.
       new  1b87355   Remove parameters that don't exist.
       new  d2e0a63   Stop counting kernel evaluations and distance evaluations.  This may be brought back but before, it was done in a very ugly way...
       new  cdae3b9   Modify main executable to support --base option again, and give better documentation.
       new  8848253   Don't use global distanceEvaluations anymore.  Remove debugging output.
       new  e9593ff   So Doxygen picks up that comment too...
       new  92f5463   Clean up polynomial kernel and reverse input arguments so they are now in line with what FastMKS actually implements.
       new  a3c6e33   Update for PolynomialKernel constructor API change.
       new  db6bb1d   I don't have a reliable connection, so check this in so I can work on it from my local system.
       new  abb21a2   Fix reference.
       new  4f14879   Fix reference.
       new  f4a4447   Finished FastMKS tutorial.
       new  7e6f360   Add new tutorial to list.
       new  e044120   Fix @file lines.
       new  d0a35e6   Fix @file lines.
       new  7bee262   Add links to new tutorials.
       new  680d9a6   A notice that FastCluster() doesn't work.
       new  3aad97a   Update documentation (#275).
       new  1fca61b   Patch for #278, contributed by Marcus Edel (thanks!).
       new  b2fe52f   Avoid inverting empty matrices.  Also fix a possible uninitialized memory issue.
       new  c4efb80   Merge in history for 1.0.5.
       new  1a71ad0   Two functions which are useful for RangeSearch.
       new  b395faf   Add RangeDistance() hooks to HRectBound.
       new  c265642   Incompetence is a surprisingly accurate predictor of build-breaking checkins.
       new  73d86f2   Incremental checkin so I can work from another system.  Begins outline of the RangeSearchRules class.
       new  3e0f941   Add NumDescendants() and Descendant() functions which will make things much easier for range search and RANN.
       new  6cf8e6b   Test NumDescendants() and Descendant() instead of Begin() and Count() (since those will eventually be removed).
       new  e8d19ed   Add Descendant() and NumDescendants() functions.
       new  d18b8d7   Test the Descendant() and NumDescendants() functions.  These tests were surprisingly difficult to write but should be rather comprehensive.
       new  0846320   Fix warning.
       new  b768353   Add HasSelfChildren trait.
       new  4ea6786   Tests for HasSelfChildren trait.
       new  170139c   Revamp RangeSearch as per #244.  Now this works with cover trees too!
       new  1c91ee7   Comprehensive test for range search with cover trees.
       new  07e4152   Grevious spelling mistake.
       new  c2bd474   A commit from a long time ago shows I committed the Contains() function without testing it, and, well, sure enough, it's a failure.  This (hopefully) fixes it.
       new  130336b   Finally add test for Range::Contains(Range).
       new  9a44790   I'm not sure what the older test was, but it was undocumented, so I removed it, and then added my own.  I also updated the authors file for accuracy, because none of Ajinkya's tests are here anymore.
       new  1f341ba   Fix #280 and revamp KernelPCA implementation.  It should now be much faster.
       new  2efee0f   Add new contributor.
       new  9e1f64e   Update copyright.
       new  c54ed5d   Minor formatting fixes and better documentation.
       new  33c0dec   Stupid const error.  Did I not test it?
       new  76a2ace   Move IPMetric to general metrics directory since it will be useful for other things.
       new  a6c2c4b   Use Log::Assert.
       new  a87b51c   Move IPMetric to mlpack::metric not mlpack::fastmks.
       new  13f77fd   Document what the namespace contains.
       new  ae33f45   Fix for #289 (thanks Marcus)
       new  c7ecb98   Remove unused file extensions from Doxyfile.
       new  6f6ee58   test commit
       new  064fac4   Removing "test.txt"
       new  73b0d4d   Do not compile DET code on Windows because it causes the compiler to segfault. Sigh...
       new  48d1b96   Yeah, well, it's not like anything was going to fix the Windows build anyway. Now it crashes in some other way.
       new  6228e06   Sometimes the map is empty, and dereferencing an empty iterator results in unhappy behavior.
       new  fc4355c   Make the NMF decomposition more accurate in a bid to fix the failing test.
       new  5f95c0e   Fix ambiguous math reference error, to pass the test on OS X with clang.
       new  3f8e159   Fix unused variable warnings.
       new  8c53bca   Widen tolerances on GMM tests.
       new  1000d78   Add target_link_libraries for librt to support clock_gettime() for Linux.
       new  f3cc139   Update the timer class, to get stable time values with more accuracy for the common operating systems.
       new  fc5be7a   Extra cleanup of Windows' ridiculous #define min and #define max.  Seriously guys?
       new  906d645   Remove unnecessary include.
       new  00ab4fb   Remove unnecessary include.
       new  48f4a75   How did that happen?
       new  f2fe0e2   Reorder includes.
       new  a200007   Windows does not like the #define private public hack, so do not use it there. Also remove it from a few tests where it wasn't actually needed.
       new  26e4ff5   logNegError is private, so don't test that on Windows.
       new  9654a96   Copy HISTORY from branches for mlpack 1.0.6 update.
       new  ef86680   Remove unnecessary include.
       new  9bcd63c   Fix #291, which is a corner case in situations where the dataset consists entirely of the same point.
       new  44fef7b   Some formatting fixes, and create a new test that tests the scaling to unit variance option.
       new  4565b03   Fix the scaling parameter; what was being done before did not make sense.
       new  202854b   Fix ambiguous math reference error, to pass the test on OS X with clang.
       new  0d02e51   Oops, I forgot to remove the random seed from the test...
       new  241ebaf   Fix ambiguous match: option -s matches --seed and --single_mode.
       new  240e103   Fix index out of bounds error when using det with a labels file.
       new  2d7f931   Make CLI::GetParam<bool> return the same value as CLI::HasParam().
       new  b98cb25   Test that HasParam() returns the same as CLI::GetParam<bool>().
       new  70c38b0   Clarify comments and fix bug that occurs when no query set is specified.
       new  0c64e49   Fix dangling spaces and use Log::Assert() not assert().
       new  dcccfac   Test single-dataset mode.  In writing this test, bug #293 was created.
       new  367e237   Fix ambiguous match: option -s matches --single and --scale.
       new  70402e6   Testing diff in commit emails.
       new  ece403d   Test diffs in commit emails again.
       new  a4fa555   Fix ambiguous matches for -N and -L and set default optimzer sgd.
       new  7a81b63   Move constructor to top of file, and check the size of the s and y cubes before optimizing (not just at construction time) because they can be changed (see nca_main.cpp).
       new  25f8db7   Rename a few tests so they compile correctly.
       new  e8c3a36   So, actually compiling the L-BFGS test might be a good thing...
       new  2c2c790   Fix ambiguous call to pow, to pass the test with clang.
       new  7f6e7a7   Comment out --fast_kmeans option so it does not work at all, for now.
       new  ec4fc9c   I have been looking for this memory leak for months.  Apparently I forgot that this file exists, and once I found it, the leak was obvious.
       new  ba5d819   Does this fix the cover tree two datasets test?  It seems to on this box.
       new  5e034d8   Don't recurse into the map pruning section if the map is already empty.
       new  6ca9680   Add utility functions to normalize labels.
       new  39f0d43   Modify core.hpp to include label normalization methods and update build configuration.
       new  5f9d843   Test label normalization.
       new  8e59ec3   Remove debugging output.
       new  6ff1c80   This may fix the segfaulting in the cover tree tests.
       new  5176dc0   Change label type to arma::Col<size_t> not arma::uvec.
       new  2ddb6e6   Change label type to arma::Col<size_t> not arma::uvec (this is more in line with the rest of mlpack's labels).
       new  b03d259   Update NaiveBayesClassifier API to take labels as a separate vector.  Also, normalize the labels in the main executable.
       new  f3dd29b   Uncomment checks that weren't failing in the NBC test and update for newer NaiveBayesClassifier API.  Also, normalize labels before running NBC.
       new  7fc77a8   Use arma::Col<size_t> instead of arma::uvec for labels.
       new  f5272f3   Normalize the labels before performing computation, and use arma::Col<size_t> instead of arma::uvec.
       new  1743ae0   Update test to use arma::Col<size_t> for labels instead of arma::uvec.
       new  d8183c6   Ticket #293 initial fix -- review waiting.
       new  0d76b04   Chebyshev distance (L-infinity distance) added to lmetric.hpp
       new  ee166c7   LBFGS test compilation failure fixed
       new  5fa2c1d   metric_test.cpp -- arma::sum changed to arma::accu; LINFMetricTest corrected.
       new  8c61865   This should fix the failing build on old Armadillo versions.
       new  e493602   Oh holy crap, I am the worst, and I have broken everything.
       new  3a7d043   I always say "build before you check in!" and then the simple fix I try to commit breaks everything because I didn't have time to build it or thought "oh man, this will definitely work".  I bet if I searched for commit messages like this I'd find dozens...
       new  ab43080   Older versions of Armadillo require as_scalar() because gcc isn't able to figure out that the result will be a double.
       new  4652ce0   Fix ambiguous match: option -d matches --degree and --new_dimensionality.
       new  0bcb6c5   Simplify centering code.  Maybe it's faster?
       new  06c4a53   Clean up PCA test.
       new  23c8ae3   Refactor PCA to use SVD because it is faster.
       new  ac6c48f   Add opportunity to set initial centroids.
       new  616415b   Add command line option to set initial centroids.
       new  6fd0998   Minor formatting fixes, make things const 'cause that's what's cool to do, issue a warning if -r and -I are both passed (because in that case -I is ignored).
       new  d5e19dc   Spelling fix.
       new  b144514   Remove c_str() where possible.
       new  761efb8   Remove c_str() where possible.
       new  974fe81   Widen tolerance on HMM test.
       new  d6ce1bd   Fix misleading comment.
       new  0c09b07   Marcus, finder of errors, has found yet another one.
       new  f95f208   Adjust tolerances.
       new  9c80ea4   Adjust tolerances.
       new  8836acd   Minor version update.  This is not a very maintainable solution...
       new  4db1765   added download link to build page on mlpack.org
       new  94b8494   CF framework and ALS added
       new  fca3bb8   For now, don't build the CF package.  It uses sp_mat and that isn't included in all Armadillo versions.  The solution will either be to force Armadillo >= 3.4 or #ifdef around the sparse support.
       new  9e37bd6   Clean up trailing whitespace, reformat a few lines.
       new  66b3bf2   Code cleanup, and refactor DTBRules so it does not depend on UpdateAfterRecursion().  Now, EMST actually provides speedup when run in dual-tree mode (hooray!).
       new  7b21f44   Fix typo that breaks kmeans.
       new  5e0a1b9   Add a parenthesis to fix some grammer.  A big deal!
       new  2a9f8d3   Clean up RANN code, document tau parameter more thoroughly, and refactor RASearchRules so the file has fewer lines and less to maintain.  Clarify output when --naive is passed.  Remove redundant tau validity check.
       new  be390f7   Add --cover_tree option to range_search.
       new  eb32be0   Ignore the cover_tree option if the naive option is present.
       new  039d75b   When removing implicit nodes, ParentDistance() was not being correctly preserved.
       new  c3b230b   Add some changes from Sumedh (#298).  This improves the Predict() function and adds an error check in the executable (I moved the error check from the Predict() function).
       new  b849910   Add new contributor.
       new  ab514dd   Fix compatibility with older Armadillo versions and fix warning in linear_regression_main.cpp.
       new  513338e   Improve centering of the kernel matrix.
       new  227f5da   Handle corner case where ||a|| or ||b|| is equal to 0 (and prevent division by zero).
       new  096c4f0   Fix a comment.
       new  7b6e4c4   Fix output, because it does not output the squared distance any more.
       new  072f1e6   Update documentation for new output; squared length is not given.
       new  020e8f1   Use the correct option to output the desity estimates.
       new  6a18ea9   Fix ambiguous match: option -p matches --in_place and --percentage.
       new  9c2b875   Add some new functions from Sumedh.
       new  5939021   Add test functions for new stuff from Sumedh.
       new  8bfa973   Add -V option to specify how much variance to retain.
       new  8e3b054   Add lastKernel and lastKernelNode for pre-emptive child pruning.
       new  fa3883a   Add KernelTraits, a useful template class that can tell you about things, like whether or not your kernel is normalized.  This is useful for FastMKS, and will probably be useful for other things later too.
       new  329394a   Just include all the kernels, because I mean, why not?
       new  78e0a9a   Add a test for the KernelTraits class, and a long rant which explains why this checkin didn't happen two hours ago.
       new  28ccb9d   No need to transpose matrices.
       new  c20782d   This was the version of code used for the FastMKS benchmarks in the recently submitted paper, "Dual-tree Fast Exact Max-Kernel Search".
       new  2eab3fb   Print base cases and scores as output even when not debugging.
       new  b8f56c3   Often number of prunes can be useful information, to make sure that anything at all is being pruned.
       new  59c9c76   Uh, this should fix the broken build.  I will clean this up in the forthcoming days.  The traversers are re-implemented to make the overloads of Score() and Rescore() that take base case values unnecessary, and actually the dual-tree traverser now satisfies the definition given in the ICML paper correctly.
       new  b5be225   Add functions to get number of base cases, number of node combinations visited.
       new  161b794   Overhaul NeighborSearch so that it only needs one overload of Score() and does not pass around the base case.  This fixes the failing tests with cover trees. Also, QueryStat is split into neighbor_search_stat.hpp and renamed NeighborSearchStat.
       new  08c61c2   Update test for new NeighborSearchStat class.
       new  dd4994f   Two things: actually do some pruning, and, get parent base case evaluations correctly.  I cannot believe how long it took me to track that down.  Ugh...
       new  e011b28   Add RangeSearchStat class.
       new  035086b   Move to right namespace.
       new  f784d63   Use RangeSearchStat (although nothing is being done with it yet).
       new  c98a7fd   Use RangeSearchStat in cover tree objects.
       new  67bd751   So, to test this file, you have to type 'make range_search'...
       new  f263f75   Adding Cosine Trees
       new  2f1847a   Refactor test to clean tree statistics before running new range searches.
       new  808965b   Refactor RangeSearch to work properly for both cover trees and kd-trees with the new cover tree traversal.
       new  3020a10   Fix comment.
       new  a99aac4   Use RangeSearchStat with cover trees.
       new  13451e3   Added tests for CosineTree and CosineTreeBuilder
       new  1734010   Added tests for CF Module
       new  df07dbb   r15817 overwrote the current tree tests with ones from mlpack 1.0.4.  This reverts that change, and reformats the cosine tree testing code.
       new  2e4fd4e   For now, don't build the CF test.  This is because CF depends on sp_mat, which is not available in Armadillo <= 3.4.
       new  adffb37   Remove EuclideanDistance() and CosineSimilarity() functions; instead, use CosineDistance from kernels/.  Also remove trailing spaces (thanks, vim!).
       new  23fc679   Converting row-major to column major
       new  a656b6b   Removed an older version of tree test and added a new one
       new  7eb3834   Fix compilation errors and merge actual changes from r15826.
       new  85ba009   The parent-child pruning bounds were too tight.  They did not consider one of the bound terms and the cross-term, and thus failed, especially when considering a leaf node where the furthest descendant distance was 0.  Also update documentation a bit so that big chunk of code makes a bit more sense.
       new  9b1ec56   Update tutorial.
       new  90119bf   A few fixes.
       new  2ceb65c   A few more fixes.
       new  fbc568d   Hey look, I removed three lines of code while not changing the functionality of anything.  Convenient!
       new  0d24a67   Use the option to set the leaf class table file and unify method call.
       new  0c18387   Integrate ComputeCost() as ComputeError() for #298, written by Sumedh.
       new  29431ca   Add test for ComputeError() for #298.
       new  3a65737   Use Sumedh's dataset for the perfect fit test.
       new  4cf182a   Interesting that this compiles even though the sum of a dot product is a meaningless expression.
       new  8aa8551   Fix warning, add const.
       new  18db53e   Make Predict() function const-correct.
       new  48e5b43   Widen tolerances.
       new  af90b56   Very minor syntax fixes.
       new  2d378ee   Add lambda parameter, so this now supports ridge regression.
       new  b321e1c   Use an empty dataset, like Sumedh suggested, to test ridge regression.
       new  8565ebc   Avoid an additional matrix copy (insert_rows() and shed_rows() are a copy each time).  Also make the input matrix const.
       new  d28461d   Fix other constructors so they play okay with lambda.
       new  c29a4af   Update the timer example call and output.
       new  9d93619   Minor typo.
       new  794cd3b   Fix in implementation to avoid copies.
       new  5b9eafa   Add --lambda option to linear_regression.
       new  0dfe581   Update documentation.
       new  9a58bd0   Add section on ridge regression.
       new  d5f10c7   Add a note about running a timer multiple times.
       new  a48c8bc   Update NMF to work with sparse matrices also.
       new  19a3b9e   More fixes for correct sparse NMF.
       new  b12fd2e   Test sparse NMF.
       new  0dbc295   Armadillo 3.6.0 will be required for 1.0.7 because that is the first version where sparse matrix support was actually available.
       new  aa74129   Update documentation to reflect Armadillo 3.6.0 requirement.
       new  a5c1b64   Update documentation to reflect 3.6.0 requirement.
       new  484328d   Because we now require Armadillo 3.6.0, we can use each_row() and each_col() (thanks Marcus for the reminder).
       new  84f445e   Fix comment headers for doxygen, remove trailing spaces, and use NMF instead of ALS because it now supports sparse matrices.
       new  bad46f9   Instead of using ALS, use NMF with a sparse matrix.
       new  8c7a513   Remove als directory.
       new  e54fd5a   Reformat GetRecommendations() function and rearrange cf.cpp to reflect ordering in cf.hpp a little better.
       new  bc5a748   Why not call CleanData() in the constructor instead of repeatedly in other parts of the implementation?
       new  34f58a0   Clean up CleanData() function.  Don't use temporary matrices; there's no point to doing that.
       new  f09c3a2   Fix ambiguous call to RandomSeed, to pass the test with clang.
       new  e5ab291   Minor comment fix.
       new  e8d9a0d   Use sparse matrix batch constructor.
       new  903c32f   Clean up Decompose().
       new  3276236   Decompose() is only called once, so just inline it because it's simple.
       new  46f5cf4   Remove GenerateRating() function because it's only one line and only used in one place.
       new  c31639a   Remove CalculateApproximateRatings() since it is only ever called once.
       new  76c7b30   Clean up Query().  It makes me feel a little gross to be so pedantic as to change 'neighbourhood' to 'neighborhood', and maybe I'm taking "code consistency" a bit too seriously, but it's too late and I've already done it.
       new  6a96f77   Inline CreateQuery() function since it is only used once, and use better Armadillo functions to make the generation cleaner-looking (probably no speedup).
       new  35cf431   Remove GetNeighbourhood() because it is only called once.  The check that numUsersForSimilarity < numUsers is redundant because AllkNN will make that check.
       new  4713300   Remove CalculateAverages() since it is only called once, and inline it into Query().  The code has been cleaned up a bit and should run faster now because it does not use a temporary column vector.
       new  e4dff4c   Refactor CalculateTopRecommendations(), including a complete overhaul of how recommendations are actually calculated.  std::pair<> and std::map<> are often quite slow, especially in that implementation.  This is faster.
       new  1b6e5ad   Issue a warning if the correct number of recommendations could not be provided.
       new  7cecc02   Remove CalculateTopRecommendations() function, because it was only called once. The 'recos' variable, as best I could tell, was not used for anything.
       new  047a5aa   The very large and dense 'mask' matrix is now unnecessary.
       new  986ce4c   No! The spaces were WRONG!
       new  b6bcf55   Remove Query() function as it is only used once; inline it into GetRecommendations().
       new  5b67190   Remove method that allows modifying the data matrix, because references can't be re-pointed, and also because the sparse data matrix is only built in the constructor.
       new  a082399   Clean up CFTest, and fix some comments that were wrong.
       new  877171f   Add convenient function to get sparse matrix.
       new  5cf4672   Add a ridge regression test case (huh, I wonder how I forgot to check this in earlier).
       new  6aa3c93   Add a test to make sure the output of the CF object is reasonable.  I think this is a good test...
       new  0e0c17d   Clean up main executable; a bit of const-correctness pedantry, and don't use c_str() if it isn't needed.
       new  50bb8fd   Fix comment (thanks Marcus).
       new  7f118a4   Build the CF test.
       new  e70776e   Build CF module.
       new  388e39f   When --query_file is specified, only give recommendations for those users.
       new  a78f293   Remove options for output files that weren't being used, and comment out options that aren't implemented yet.
       new  95c138c   Better comments for unimplemented functionality.
       new  6905e3e   Actually use number of recommendations and size of neighborhood in calculations.
       new  eccc1d9   More comprehensive documentation on options and input/output formats.
       new  23341ef   Refactor EMFit<> so that the covariance constraint is a template parameter, and update other components accordingly.
       new  81a3e19   Make function static.
       new  cfb9554   Add tests for NoConstraint and PositiveDefiniteCovariance.
       new  b3d1886   Rename PositiveDefiniteCovariance to PositiveDefiniteConstraint, because I think that's a better name and nobody's going to stop me (...I think?).
       new  1e40889   Update name of constraint class.
       new  a43e792   Oh hey, I have to check this in too.
       new  578f0dc   Add DiagonalConstraint.
       new  0f0fed7   Add test for DiagonalConstraint.
       new  055af4c   Add EigenvalueRatioConstraint class for EMFit.
       new  a1dbd9c   Add test for EigenvalueRatioConstraint.
       new  d9c2c6b   What, how did I miss this?  I definitely built the test and checked it...
       new  73d6adb   Remove fake functions that should only be specific to the kd-tree.
       new  c65afd1   This is premature; wait for this until later.
       new  325d80d   If the root node ends up having an implicit child (not an illicit child!), remove the implicit node.
       new  f528e01   Remove unnecessary functions that were originally for kd-tree compatibility.
       new  72e4f86   Handle cases where the reference map is empty a little better.
       new  198a8f3   Overhaul RASearchRules so that they will work correctly with cover trees.
       new  3069fdb   Test RANN with cover trees.
       new  678ee06   Add a note that this does not work.
       new  c038343   Do not compile MVU.
       new  6da2e91   Fix some comments.  No functionality change, and also this was probably pointless.
       new  0928a53   Yeah, it makes a difference to inline the BaseCase function (#281).
       new  d2c7108   Force inlining (#281).
       new  eefddd0   Backport batch insertion constructor to Armadillo < 3.810.0.
       new  f02d8cc   Remove backporting for versions earlier than 3.6.0 because that's just not necessary anymore (3.6.0 is the minimum Armadillo version).
       new  16939b5   Oh, right, update the least maintainable part of the entire build system that I haven't figured out a solution to yet.  Argh...
       new  d767b3d   Update copyright file to include new contributors.
       new  be2f994   Update citation.
       new  765487c   Update changelogs.
       new  172be16   Minor updates for normalized kernels.
       new  8b6c954   One more thing...
       new  32a27dd   Update to latest version number.
       new  4b4f09d   Widen tolerances slightly.
       new  00a5f42   Move DTBStat into a separate file.
       new  567b0da   Check the matrix dimension before dropping unnecessary rows.
       new  d3ff55c   Add Epanechnikov kernel for kernel PCA.
       new  d9c3a8c   Allow GMMs to be trained using the existing model as a starting point.  This could probably all use some serious refactoring now.
       new  984a8d9   Add tests for estimation with the existing model as the initial point.
       new  8a9c715   Add logistic regression directory.
       new  335045b   Initial commit of logistic regression by Sumedh Ghaisas (#305).
       new  78b9fa0   Add some comments and fix a little bit of formatting.
       new  42a03ca   Rename LogisticRegressionFunction to LogisticFunction.
       new  871799f   LogisticFunction is incorrect; it's actually the objective function for logistic regression, which is not the logistic function.  Also remove unnecessary overloads in LogisticRegressionFunction.
       new  698b2bc   Refactor Evaluate() function so that it works alright, and eliminate unnecessary parameters to the function.  Move LogisticRegressionFunction implementation into a .cpp file because it is not templatized (for now).
       new  06bb2d3   Add test for LogisticRegressionFunction::Evaluate().
       new  ff1966e   Oh yeah, this is necessary...
       new  15c3d75   Add a randomized test for the logistic regression likelihood function that is not just comprised of simple examples.
       new  40014dd   Add test for regularization of objective function.
       new  12db4ed   Add test for Gradient().
       new  7893e52   Add correct implementation of Gradient() function.
       new  7f8e28e   Make Gradient() const and add comments.
       new  1961f9a   Add some comments.
       new  b7cbf6a   Remove getSigmoid() and add class documentation.
       new  65e175e   Break Predict() instead of the whole build.
       new  168fd7b   Revamp Evaluate(parameters, i) for SGD and related optimizers.  NumFunctions() also needed to be fixed.
       new  c13fbc9   Add test for Evaluate(parameters, i) for SGD and related optimizers.
       new  d9a32b0   Test regularization for separable Evaluate().
       new  6fd7543   Update Gradient() for the separable case.
       new  4829cc7   Test Gradient() in the separable case.
       new  ca88a14   No need to multiply by responses[i] or (1 - responses[i]) because those quantities will always be 1.
       new  d348140   Add test for regularization in Gradient().
       new  e6a2271   Add a test for the separable Gradient() function.
       new  0b823db   And this is why I hate maintaining documentation for things that I don't control; it goes out of date really quickly and people get confused...
       new  8795626   Remove memory leak (#310).  Thanks to bianjiang for pointing this out.
       new  b98df60   Don't print "Iteration X of 0."; just "Iteration X".
       new  f67281f   Refactor functions so that they do not expect the extra column of ones for the intercept term.
       new  f3d6ef3   Refactor tests so that they do not give the extra column of ones for the intercept term.
       new  a070c32   Make predictors and responses const.
       new  f819772   Make predictors and responses const.
       new  022dc4b   Don't hold lambda in LogisticRegression because it isn't necessary.  Also make predictors and responses const because we don't need to modify them.
       new  950b81f   Refactor LogisticRegression class.  LearnModel() can be private, and we can const-ize a lot of the parameters and functions.  Also restore functionality to Predict(), ComputeError(), and ComputeAccuracy().  This does not ever make a copy of the predictors matrix and doesn't add a column for the intercept, which is faster.
       new  8c3e1a0   Add tests for actual LogisticRegression object.
       new  bd7e239   Goodbye, slightly misleading documentation.
       new  561e64d   Add function to get the function that is being optimized.
       new  4aa1314   Add function to get predictors and responses.
       new  72374fa   Add a constructor that allows passing an instantiated optimizer.
       new  944e8ec   Test constructor that takes an instantiated optimizer.
       new  1cba5ab   Update history file incrementally, because doing this all at once at release time is difficult.
       new  421d5dd   Add FurthestPointDistance() function.
       new  11389df   Test BinarySpaceTree::FurthestPointDistance().
       new  c79f19b   Implement FurthestPointDistance() for cover trees.
       new  f433dd8   Regularization gets subtracted, not added.  Thanks to Sumedh for pointing this out.
       new  57ae1f9   Update test for positive regularization... oops...
       new  373a197   Clarify comment.
       new  62ec825   Remove predictors and responses because they don't need to be stored by the LogisticRegression class, and then add a constructor so you can pass a given set of parameters.
       new  364e896   Don't hold the optimizer and error function since they are only needed at construction time.
       new  7c94d4f   Add main executable for logistic regression.
       new  5123690   I don't remember doing this, and I have no idea when it was, but hey, using namespace std in cpp files is a cool idea.
       new  2a98956   Add information so a version can be obtained easily during runtime and also at compile time.
       new  07cd6c6   Some documentation on versioning information.
       new  535786e   Oops, a typo.
       new  bad554e   Link to tutorial on versioning information in core.hpp.
       new  648a84b   Fix typo: furthest <-> nearest.
       new  dcc1b8b   Update so that it gets compiled into libmlpack.so.
       new  e643278   CMake script to create svnversion.hpp, if needed.
       new  af0a03c   CMake scripts to find and update svnversion.hpp, if necessary.
       new  b996908   Fix dependency on stringstream.
       new  533293d   Safe check for if we are in an svn repo.
       new  b07bbf7   Remove redundant check for working copy.
       new  ebe3b1f   Add svnversion.hpp to list of sources to track, if necessary.
       new  0569ee0   Fix error so that core.hpp is properly included.
       new  815154c   Ignore svnversion.hpp.
       new  aff75c6   Update copyright for the new year.
       new  0055ea1   Add Mudit's name to the list of contributors.
       new  c75fdcf   Increase precision of saves.
       new  f857b8c   When using the constructors that don't specify a model, make sure we create an actual valid GMM and not just random memory.
       new  1300e4a   svn:ignore --> 'build*' in case you have multiple build directories.
       new  058ec36   This wasn't actually calculating the variance correctly.
       new  1dbdf57   Handle cases where scales are 0 correctly.
       new  791d88e   Pull in updated history from version 1.0.8.
       new  e2f936e   Ticket #314 resulted in a bunch of useful changes.
       new  da5727c   Fix from Michael Fox for #242.
       new  43f1db6   Add tests when the data matrix has linearly dependent features.
       new  feb4f90   Add new contributor.
       new  0f3d893   Fix spacing.
       new  76d029d   Added ToString() to core/dists, core/kernels, and core/metrics Added a test for the ToString() methods
       new  1995b0c   Updated Test for working optimizers
       new  e1c7c55   Added Tostring to SGD.
       new  e98a940   Addes Tostring here early, mostly because SGD required it.
       new  43ff56d   Changed so that "dimension" is not declared, to avoid compiler warning.
       new  3a75faf   Changed so that "numPrunes" is not declared, to avoid compiler warning.
       new  5b18bba   Added L_BFGS
       new  944e800   Added ToString to LBFGS
       new  eccf54d   Fixed AugLagFunction Test; working on AugLag proper.
       new  ad85909   Added ToString method
       new  718f9c1   Added ToString for AugLag Itself.
       new  a00daa0   Fixed AugLag Test
       new  b1f958a   Fixed my own error in ToString of AugLagrangian
       new  654fed8   Fixed Test Error
       new  0858f70   Add CMake configuration for LRSDP, and split it properly into cpp/hpp/_impl.hpp files.
       new  7e14740   The Problem was the Test; Added ToString to AugLag's Test.
       new  963158b   Added BallBound ToString test.
       new  8f210eb   Don't make an extra line when indenting things.
       new  5c9af5e     convert << util::Indent(probabilities); Minor modifications to ToString()s in distributions.
       new  4c4e884   Add new contributor.
       new  e6f8646   Update ToString() for all kernels except the PSpectrumStringKernel.
       new  27853e3   Update so filename is like other filenames.
       new  c968db4   fixed ticket #316 (hmm::Predict() in hmm_impl.hpp)
       new  eee8865   Remove license, that doesn't get applied until a release (until then it's implicit, yo).
       new  df138ed   Inline non-templated constructor.
       new  7e06575   Update documentation (thanks Yubao).
       new  f321f84   Fix documentation (#321); from Siddharth.
       new  45d5020   Fixed Positive Def Constaint under gmm; previous error was "/gmm/positive_definite_constraint.hpp:28: error: expected primary-expression before ‘(’ token" at lines 27 and 33.
       new  3a227e8   Added ToString to GMM
       new  52b6b22   Some ToString added, some updated (typos and indent). Test updated.
       new  1eef878   Fixed my subversion error, hopefully.
       new  29ddcea   Fixed a Mistake in HMM's ToString
       new  63a6f66   Added and Modified more ToString methods.
       new  ad83624   Fix collaborative filtering test (#323).
       new  c3b1d4a   Add a boolean specifying whether or not the dataset is rearranged when the tree is built.
       new  b839382   Cache the distance from the center of the node to the center of the parent node.
       new  f9aef70   Test BinarySpaceTree<...>::ParentDistance().
       new  da95379   Also test ParentDistance() in the case where the tree is built and mappings are used.
       new  be55426   TraversalInfo, a new idea for doing things.  This will need to be further documented...
       new  77b2e69   TraversalInfo class used by nearest-neighbor-like problems.  Maybe it could be the same as the one in src/mlpack/core/tree/.
       new  a843a89   Change build to include ns_traversal_info.hpp.
       new  9e25c61   Add traversal_info.hpp to build system although I don't think it's used anywhere.
       new  5272fb2   Make rules classes for various dual-tree algorithms support (but not use) the idea of TraversalInfo classes.
       new  8a799d7   Minor changes to SortDistance().
       new  d889f08   Overhaul NeighborSearchRules to work correctly with TraversalInfo objects.  This is related to #243.
       new  3d04d0e   Modify SortDistance() usage because SortDistance() API has changed slightly.
       new  6b5733c   Modify BinarySpaceTree::DualTreeTraverser to properly handle TraversalInfo objects.
       new  997efc7   Modify CoverTree::DualTreeTraverser to properly handle TraversalInfo objects.
       new  d6b0eb0   Adapt SortPolicyTest for new API.
       new  f64d795   Remove unused score variable; this fixes a lot of warnings.
       new  4926fce   Modified StringUtil to take a number on Indent, implemented LSHSearch ToString, updated Test.
       new  fdcbea8   Added more ToString, updated test, took advantage of new tab function.
       new  986626f   Patch from Siddharth for #324.
       new  3f9e7b5   Finished toString of the methods folder ( sparse coding and rann ); updated test.
       new  be82046   fix forHMMTest/SimpleDiscreteHMMTestViterbi
       new  f28995d   Remove license text.
       new  96c2ae2   Slight code formatting modifications.
       new  c5e9f79   Don't initialize empty distributions.
       new  c47c355   Remove unnecessary newlines from after mean and covariance output.
       new  7731a5c   Actually print the kernel.
       new  19b21fe   Minor fixes to ToString().
       new  1670352   Minor fixes to ToString().
       new  6226f37   Minor changes to ToString().
       new  e17583b   Minor changes to ToString().
       new  7a344fb   Minor fixes to AugLagrangian ToString() methods.
       new  4ee6d99   Move things around so LRSDP can actually be included in stuff.
       new  3a81582   Some updates to what has been going on (lots of things!).
       new  502c36b   Ah, right, one more thing.
       new  48e6ea5   Minor changes to ToString() output.
       new  82940cf   Minor changes to tests; in some cases matrices/vectors are now initialized so they provide more output.
       new  c575385   Remove PeriodicHRectBound (#30).
       new  2c7cf54   Remove this file too...
       new  4e3d03c   Remove PeriodicHRectBound from tree tests.
       new  baff477   Denote that we removed PeriodicHRectBound.
       new  31f163d   PeriodicHRectBound is removed (#30).
       new  e4a1c23   Updated Test and pspectrum_string_kernel
       new  156a775   Updated Test and some info for ToString.
       new  a205f41   git-svn-id: http://svn.cc.gatech.edu/fastlab/mlpack/trunk@16273 9d5b8971-822b-0410-80eb-d18c1038ef23
       new  2b02777   Revert commit by unknown contributor.
       new  b7ac346   Test commit
       new  8a836b3   Revert test commit.
       new  3403a83   Update citation format.
       new  9bb6000   Fix from Siddharth, fixes #324.
       new  d488300   Add new contributor.
       new  764a1c1   Fix formatting and fix contributor information.
       new  3cca93a   Didn't mean to check in arma_traits.hpp...
       new  a33ea2b   Oops, forgot to check in this change from Siddharth.
       new  815d470   Example tree.  Not really to be used, but for documentation.
       new  528809f   Refactoring from Saheb: don't do naive search with trees.
       new  b86d4fd   Add new contributor.
       new  49aa1eb   Clean up RangeSearch implementation so it works with TraversalInfo struct.
       new  7bb869a   Use TraversalInfo for FastMKS.  Right now, the parent-child prune is not implementd, so this is significantly slower than the released version (but it at least works, unlike the last svn revision).
       new  cb763a1   When the parent-child rule can't be applied, the correct bound wasn't being used before.  This fixes that.
       new  677f1d8   Do child-parent and parent-parent prunes correctly for FastMKS.  This actually accelerates the dual-tree implementation, which is cool.  By how much?  Not really sure, maybe 10%-20%?
       new  a108498   Update the line about dual-tree algorithms being faster.  'cause they are.
       new  77250b9   The Prescore() and PrescoreQ() functions aren't used anymore because I figured out how to do child-parent and parent-parent prunes without them using the TraversalInfo object.
       new  c4f91a4   Patch from Saheb: do actual naive search for RangeSearch and NeighborSearch instead of using the hack for BinarySpaceTree with leafSize = n_cols.
       new  4ed8e73   Add some Armadillo traits for template metaprogramming.  This abstraction may change as time goes on.
       new  df79aaa   By default, include arma_traits.hpp.
       new  600d33f   Refactor MinDistance(), MaxDistance(), and RangeDistance() to accept any Armadillo vector type.
       new  d3f8b71   Refactor MinDistance(), MaxDistance(), and RangeDistance() to accept arbitrary types of Armadillo vectors using IsVector<>.
       new  3979dab   Having an implementation for the example tree is kind of a dumb idea.  Also make sure CMake knows about example_tree.hpp so it keeps it up to date.
       new  f47d673   Clean up some namespacing, and add a test for sparse AllkNN using kd-trees. Also add one for cover trees, although it does not work yet.
       new  263b5e0   Templatize arguments for BestPointToNodeDistance().
       new  5d6bb9b   Refactor NeighborSearch so it works with arbitrary TreeType::Mat types.  That abstraction should probably be cleaned up a bit.
       new  0653608   No more implementation.
       new  ca45205   Stop timers correctly when Log::Fatal is called (or when Load() or Save() return early).
       new  7c316eb   Rank is not yet a parameter, but this heuristic from Siddharth improves upon the previous "rank = 2".
       new  deecafd   Fix mixup of rows and columns.
       new  bf508a2   Widen tolerances ... again.
       new  1db619f   Patch from Siddharth: make the rank parameterizable, and merge the constructors into one.
       new  4e51ea9   Update for changed CF API (patch from Siddharth).
       new  fcf5dee   Some changes to LaTeX options in the Doxyfile.
       new  c1b8faf   Explicitly use namespace mlpack::neighbor.
       new  3ce28f0   Remove using directive that has been there for six years.  Sigh...
       new  669f91a   Remove numPrunes -- it isn't used.
       new  d4c2373   The maxLeafSize parameter is unused (other than an assert) so remove it entirely.
       new  4a32b1c   Initialize uninitialized variable (#336).
       new  ea76866   Remove numberOfPrunes variable, and initialize baseCase (#336).
       new  69cdcd5   Patch from Siddharth: templatize CF to accept arbitrary types of factorizers.
       new  d0ed633   Fix regression in r16308, which slowed down cover tree traversals by potentially up to 50% (at least, that's the slowdown I saw...).
       new  c54bed8   Actually use the right parameter name.
       new  d67356a   Ok, handle NaNs correctly, and also check this in in trunk, not in the tags...
       new  e96b008   Remove incorrect comments.
       new  46796ca   Better rule, which forces the score to 0 for AllkNN.  Not sure if it'll work for AllkFN.  Also, I think there may be a bug in the traversal info handling for the BinarySpaceTree DualTreeTraverser.
       new  d7ad8de   What was I thinking?  This is a _far_ better solution than r16359.
       new  d528eda   Modified patch from Saheb for #301; this unifies the constructors for NeighborSearch so they work with all tree types.  The modifications I've made make it so that the referenceCopy and queryCopy matrices aren't full copies of the referenceSet and querySet matrices when the tree doesn't modify them (in the case where they aren't modified, it's not necessary to copy them, that's just a waste of memory).
       new  9933b43   Fix to go with patch from Saheb... forgot to check this in earlier.
       new  46da253   Make the ExhaustiveSyntheticTest use kd-trees with a leafSize of 1.  This changeset brought to you by the magic of regular expressions, which mostly worked...
       new  3010bd9   Oops, use single-tree for the second iteration.
       new  7626468   Through the magic of regular expressions, I've refactored this test to use kd-trees with one-point leaves.
       new  0fa3501   Fixed arma_traits by removing duplicate template instantiation, so that visual studio would be able to use it too.
       new  5c612b9   Update documentation to reflect changes in RangeSearch.
       new  f84c023   Incorporate patch from yashdv to move splitting procedure to a different class.
       new  22c7af5   Add new contributor.
       new  5363972   Make parameter const because const-correctness is a good thing.
       new  ce1bcd2   Don't use the SquaredEuclideanDistance.
       new  b100fd6   Don't use the squared Euclidean distance.
       new  e480941   Fix minor error that I didn't correct last time.
       new  4a11ed1   Refactor LRSDP into the main class and a separate function (LRSDPFunction). This is a patch from Abhishek Laddha for #318.
       new  f6084b6   Better ToString() output.
       new  8c022cf   Annotate changes to LRSDP.
       new  4177afa   Add new contributor.
       new  cb9a458   Whatever bug used to be here before isn't here now.
       new  61f3866   Use const reference parameter so it works with temporaries too.
       new  94f640b   Doxygen fix so that local paths aren't included in the built documentation.
       new  8eaafe4   Actually catch all of the instances where single quotes start lines.
       new  d3c0652   Patch from Siddharth for #342.
       new  ca752b3   Document API change in an attempt to piss people off less when their programs are broken.
       new  c4d28a5   Clean up implementation of GetRecommendations().
       new  a2f5fd2   Update documentation due to API change.
       new  32b0aa7   Spelling fix; thanks Barak!
       new  a4ef8fa   Patch from Saheb for #301; refactor RangeSearch constructors so that leafSize is not a parameter.
       new  5071776   Modify test for new RangeSearch API.

The 2119 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "adds" were already present in the repository and have only
been added to this reference.


-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/mlpack.git



More information about the debian-science-commits mailing list