Fixed bug in MaxSpanningTree
[libdai.git] / ChangeLog
index 467c507..a056d74 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,75 @@
+* Added work-around for bug in Boost Graph Library
+* [Frederik Eaton] Added Gibbs::state() accessors/mutators
+* [Frederik Eaton] Fixed Gibbs::getVarDist(size_t) to return uniform 
+  distribution if no state is allowed
+* [Frederik Eaton] Improved parsing code in tests/testdai to allow recursive
+  alias substitutions
+* Interface changes:
+    TProb<T>::minVal()     -> TProb<T>::min()
+    TFactor<T>::minVal()   -> TFactor<T>::min()
+    TProb<T>::maxVal()     -> TProb<T>::max()
+    TFactor<T>::maxVal()   -> TFactor<T>::max()
+    TProb<T>::totalSum()   -> TProb<T>sum()
+    TFactor<T>::totalSum() -> TFactor<T>::sum()
+* [Frederik Eaton] Added methods setUniform (), sumAbs(), argmax() to TProb<T>
+* [Frederik Eaton] Added TAGS, lib targets to Makefile
+* [Frederik Eaton] Add useful aliases to aliases.conf
+* [Frederik Eaton] Removed unnecessary copy constructors and assignment
+  operators
+* [Frederik Eaton] Change cout to cerr in warnings and error messages
+* [Giuseppe Passino] Optimised maximum-residual BP by using a reversed ordered
+  set instead of the linear search (which can yield enormous speedups - a 
+  factor 500 has been measured on a binary Ising grid with 128x128 variables!)
+* Added debug assertions to Var which check for inconsistent dimensions of 
+  variables with the same labels
+* [Giuseppe Passino] Added prefix ++ operator to State (State::operator++())
+* [Giuseppe Passino] Added iterators to FactorGraph (FactorGraph::begin, 
+  FactorGraph::end)
+* [Giuseppe Passino] Added iterators to TFactor (TFactor::begin, TFactor::end)
+* [Giuseppe Passino] Added iterators to TProb (TProb::begin, TProb::end)
+* [Giuseppe Passino] Added BP::findMaximum(), which can be used after running
+  max-product BP to construct a global state with maximum probability
+* Improved Makefile (libDAI now also builds out-of-the-box on MacOSX, 
+  thanks to Dan Preston; merged Makefile.win and Makefile.shared into Makefile)
+* Fixed bug in calcMarginal, calcPairBeliefs, calcPairBeliefsNew where
+  states with zero probability mass were clamped, leading to NaNs or assertion
+  errors (thanks to Dan Preston for reporting this)
+* toc() now returns POSIX system time with maximum accuracy of microseconds
+* Exception objects now remember their error code
+* Added examples/example_sprinkler.cpp
+
+
+git 065eae35cbfcc36f1a945ae3053c80c23f366306
+--------------------------------------------
+* [Peter Gober] Made libDAI build out-of-the-box on Cygwin.
+* [Frederik Eaton] Added Gibbs sampler to algorithms
+* Improved documentation of include/dai/{bipgraph.h, prob.h, smallset.h,
+  var.h, varset.h, factor.h, enum.h} and of examples/example.cpp
+  Merged TODO and FILEFORMAT into doxygen documentation
+* examples/
+  - Moved example.cpp to examples/ 
+  - Added examples/example_bipgraph.cpp
+  - Added examples/example_varset.cpp
+* Interface changes:
+  - Replaced TProb<T>::log0() by TProb<T>::log(true)
+  - Replaced TProb<T>::takeLog0() by TProb<T>::takeLog(true)
+  - Replaced TFactor<T>::log0() by TFactor<T>::log(true)
+  - Removed TProb<T>::hasNonPositives()
+  - Renamed smallSet<T> to SmallSet<T>
+  - Removed TFactor<T>::divided_by, use operator/ instead
+  - Removed TFactor<T>::divide, use operator/= instead
+  - Removed TFactor<T>::partSum(const VarSet&), use marginal(const VarSet&,true) instead
+  - Improved constructors of TProb and TFactor to use iterators instead of pointers
+* Miscellaneous small changes and cleanups:
+  - Changed regression test so that it also works under Windows
+  - Changed output stream operator<< for Var and VarSet
+  - Added TProb::draw() function, which draws a random index
+  - Cleanup of matlab interface code
+  - Small improvement of utils/fginfo
+  - Small cleanup of BP code
+  - Switched Makefile.win to GNU Make syntax
+
+
 libDAI-0.2.2 (2008-09-30)
 -------------------------
 
@@ -56,7 +128,8 @@ Code cleanup:
   to warrant the additional "complexity" :)).
 
 Miscellaneous improvements:
-* Now compiles also with MS Visual C++ and with GCC under cygwin.
+* Now compiles also with MS Visual C++ (thanks to Jiuxiang Hu) and with 
+  GCC under cygwin.
 * Contributions by Peter Gober:
   - Renamed variable _N in mr.* for compatibility with g++ under cygwin.
 * Misc contributions by Giuseppe Passino: