2008-06-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/SGInterface.cpp: R tests don't run yet, fix stupid
	  error for WDS 3 kernel
	* ChangeLog: updated changelog
	* Makefile, distance/GeodesicMetric.cpp: run R tests with R_PATH
	  set and trap division by zero and acos input outside [-1,+1]
	  range
	* ChangeLog: updated changelog

2008-06-13  Sebastian Henschel <shogun@kodeaffe.de>

	* NEWS: Add Ocas changes to News.

2008-06-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/SGInterface.cpp: move structure commands to separate
	  group

2008-06-13  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/libocas.cpp, classifier/svm/qpssvmlib.cpp:
	  classifier:
	  - Transformed SG_SINFO into SG_ABS_PROGRESS in Ocas.

2008-06-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS, guilib/GUIStructure.h, interface/SGInterface.cpp,
	  structure/DynProg.cpp, structure/DynProg.h, structure/Plif.cpp:
	  merge changes from structure branch

2008-06-12  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/SVMOcas.cpp, classifier/svm/WDSVMOcas.cpp,
	  classifier/svm/libocas.cpp, classifier/svm/libocas.h,
	  classifier/svm/qpssvmlib.cpp, classifier/svm/qpssvmlib.h:
	  classifier:
	  - Made Ocas less verbose, actually modifying the way it prints
	  out error
	  messages.

2008-06-12  Christian Gehl <Christian.Gehl@first.fraunhofer.de>

	* distance/GeodesicMetric.cpp: -changed distance function to arcos(
	  x*y/sqrt( (x*x) * (y*y) ) )
	  -distance can handle data, which has not be normalized

2008-06-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS, interface/OctaveInterface.cpp, kernel/Kernel.cpp:
	  -refresh+resize kernel cache after we actually erease lhs or rhs
	  -fix a bug+warning in octave interface when setting strings

2008-06-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/KernelMachine.cpp: minor code cleanup
	* Makefile: include test and doc for cmdline interface

2008-06-11  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.h, kernel/Kernel.h, kernel/PyramidChi2.h,
	  lib/File.h, structure/DynProg.h, structure/Plif.h: documentation:
	  - Fixed some doxygen warnings.
	* ., NEWS, classifier, clustering, distance, distributions,
	  evaluation, features, kernel, lib, preproc, regression,
	  structure: - Slightly modified NEWS
	  - updated svn:ignores in various places.

2008-06-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, Makefile, NEWS, interface/SGInterface.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: updated changelog
	* ChangeLog, Makefile, NEWS: updated changelog
	* ChangeLog: updated changelog
	* interface/SGInterface.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h, lib/Trie.h: fix a couple of
	  crashers due to uninited tries by making sure tables that are
	  cleaned up on cleanup() are inited on init() - this is yet
	  another side effect of correctly removing lhs/rhs and calling
	  kernel cleanup()
	* interface/SGInterface.cpp, kernel/Kernel.cpp, kernel/Kernel.h: -
	  add a function remove_lhs_and_rhs() which simply calls
	  remove_rhs() and remove_lhs() in the right order (recall that the
	  case lhs==rhs is valid and currently needs extra treatment)
	  - add assertions for WDS kernel 2/3

2008-06-11  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.h, kernel/WeightedDegreeStringKernel.cpp:
	  kernel/features:
	  - Previous method to check for vector lengths was wrong.
	* kernel/Kernel.cpp: kernel:
	  - Possibly fixed an issue with regression and kernel cache.

2008-06-10  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.h, kernel/WeightedDegreeStringKernel.cpp:
	  kernel/features:
	  - Check that all vectors have the same length when new features
	  are set for
	  WeightedDegreeString kernel.

2008-06-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIStructure.cpp, interface/CmdLineInterface.cpp,
	  interface/CmdLineInterface.h, interface/OctaveInterface.cpp,
	  interface/OctaveInterface.h, interface/PythonInterface.cpp,
	  interface/PythonInterface.h, interface/RInterface.cpp,
	  interface/RInterface.h, lib/Mathematics.h, structure/Plif.cpp,
	  structure/Plif.h: try to get nd-array support also for python and
	  octave (dummy for cmdline and R) + a couple of compile fixes
	* structure/DynProg.cpp: fix compile warnings, logical and mismatch
	* features/StringFeatures.h, guilib/GUICommands.h,
	  guilib/GUIStructure.cpp, guilib/GUIStructure.h,
	  interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h,
	  structure/DynProg.cpp, structure/DynProg.h, structure/Plif.cpp,
	  structure/Plif.h, structure/PlifArray.cpp, structure/PlifArray.h,
	  structure/PlifBase.h, structure/Structure.i: merge jonas'
	  structure changes back to svn-trunk
	* lib/Mathematics.h, structure/DynProg.cpp: fix a couple of gcc-4.3
	  compiler warnings
	* interface/CmdLineInterface.cpp, interface/CmdLineInterface.h,
	  lib/Mathematics.h, lib/Signal.cpp: unset signal handler as soon
	  as we enter handle() to fix an issue when ctrl+c was pressed more
	  than once in a row
	* interface/OctaveInterface.cpp, interface/PythonInterface.cpp,
	  interface/RInterface.cpp: remove double error printing

2008-06-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/SGInterface.cpp: fix error msg when command is mistyped
	* Makefile, configure, guilib/GUICommands.h,
	  interface/CmdLineInterface.cpp, interface/SGInterface.cpp,
	  interface/SGInterface.h, interface/SyntaxHighLight.h, lib/io.cpp:
	  - add a make reference to automagically create
	  pages/Static*Interface.mainpage command references
	  - add option to disable syntax hilighting
	  - attempt to compile when atlas takes over lapack functions
	  completely (suse build problems...)

2008-06-09  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp: documentation:
	  - Added help command 'all' to give a brief listing of all
	  commands.

2008-06-06  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/CmdLineInterface.cpp: examples/interface:
	  - Interface cmdline now can read cube matrices.
	* interface/CmdLineInterface.cpp: examples:
	  - Enabled examples for sparse real features with new data set.
	  Something makes
	  shogun segfault within classifiers, though.

2008-06-05  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIClassifier.cpp, interface/CmdLineInterface.cpp,
	  interface/CmdLineInterface.h: interface
	  - Cmdline interface now tranposes matrices read from a file.
	* guilib/GUICommands.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Added command print to print messages via SG_PRINT.

2008-06-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: support cplex11
	* kernel/Kernel.cpp: at least add an assertion that lhs!=NULL and
	  totdoc>0
	* configure: clarify that MKL in configure denotes Intel MKL

2008-06-03  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/DistanceKernel.cpp: kernel:
	  - Fixed an issue with unproperly referenced distance.
	* kernel/CustomKernel.cpp, kernel/CustomKernel.h: kernel:
	  - Fixed an issue about missing features (another problem which
	  needs to be
	  addressed on this kernel at some time).

2008-06-02  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/Kernel.cpp: kernel:
	  - Fixed a segfault issue on kernel cleanup when lhs == rhs.

2008-05-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/AUCKernel.cpp, kernel/AUCKernel.h, kernel/Chi2Kernel.cpp,
	  kernel/Chi2Kernel.h, kernel/CombinedKernel.cpp,
	  kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordStringKernel.cpp, kernel/ConstKernel.h,
	  kernel/CustomKernel.cpp, kernel/DiagKernel.cpp,
	  kernel/DiagKernel.h, kernel/DistanceKernel.cpp,
	  kernel/DistanceKernel.h, kernel/FixedDegreeStringKernel.cpp,
	  kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/HistogramWordKernel.cpp, kernel/Kernel.cpp,
	  kernel/Kernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearKernel.cpp, kernel/LinearStringKernel.cpp,
	  kernel/LinearWordKernel.cpp,
	  kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/MindyGramKernel.cpp, kernel/PolyKernel.cpp,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchWordKernel.cpp,
	  kernel/PyramidChi2.cpp, kernel/SalzbergWordKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseLinearKernel.cpp,
	  kernel/SparsePolyKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h: call
	  remove_rhs() and remove_lhs() in cleanup()
	* interface/SGInterface.cpp: colorify outputs
	* guilib/GUICommands.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: add command to enable progress for
	  static interfaces ( progress ON / progress OFF )
	* NEWS: update news
	* .r-install.sh, Makefile: check in forgotten .r-install.sh file
	  and finish make install for r-modular
	* Makefile: make install for r-modular half working
	* Makefile, configure: get static R interface of shogun to install
	  via make install again

2008-05-29  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/Perceptron.cpp: classifier:
	  - Made Perceptron spit out a warning, instead of info when not
	  converged.

2008-05-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/SGInterface.cpp: fix a memory leak in set_custom_kernel
	* Makefile: on clean also rm .RData files

2008-05-28  Sebastian Henschel <shogun@kodeaffe.de>

	* Makefile: - Big move of testcases/examples.
	* interface/CmdLineInterface.h: interface:
	  - Compile fix for cmdline.

2008-05-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/SGObject.h: revert accidental change - r-modular is crashy
	  when we do proper garbage collection so better leak memory for
	  now
	* base/SGObject.h, lib/io.cpp: don't show progress by default

2008-05-28  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/KNN.cpp, classifier/KernelPerceptron.cpp,
	  classifier/LDA.cpp, classifier/LPBoost.cpp, classifier/LPM.cpp,
	  classifier/LinearClassifier.cpp, classifier/Perceptron.cpp,
	  classifier/PluginEstimate.cpp,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SubGradientLPM.cpp, classifier/svm/CPLEXSVM.cpp,
	  classifier/svm/CPLEXSVM.h, classifier/svm/GMNPSVM.cpp,
	  classifier/svm/GNPPSVM.cpp, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/LibLinear.cpp, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVMMultiClass.cpp, classifier/svm/MPDSVM.cpp,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVMLin.cpp, classifier/svm/SVMOcas.cpp,
	  classifier/svm/SVMSGD.cpp, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, classifier/svm/SVM_linear.cpp,
	  classifier/svm/SubGradientSVM.cpp, classifier/svm/Tron.cpp,
	  classifier/svm/WDSVMOcas.cpp, classifier/svm/gmnplib.cpp,
	  classifier/svm/gnpplib.cpp, classifier/svm/gpdt.cpp,
	  classifier/svm/qpbsvmlib.cpp, clustering/Hierarchical.cpp,
	  clustering/KMeans.cpp, distance/CanberraWordDistance.cpp,
	  distance/Distance.cpp, distance/DistanceMachine.cpp,
	  distance/HammingWordDistance.cpp, distance/MinkowskiMetric.cpp,
	  distributions/Distribution.cpp,
	  distributions/histogram/Histogram.cpp,
	  distributions/hmm/GHMM.cpp, distributions/hmm/LinearHMM.cpp,
	  features/Alphabet.cpp, features/ByteFeatures.cpp,
	  features/ByteFeatures.h, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CombinedFeatures.cpp,
	  features/FKFeatures.cpp, features/Features.cpp,
	  features/Labels.cpp, features/MindyGramFeatures.h,
	  features/RealFeatures.h, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/SimpleFeatures.h,
	  features/SparseFeatures.h, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/TOPFeatures.h,
	  features/WordFeatures.cpp, features/WordFeatures.h,
	  guilib/GUIClassifier.cpp, guilib/GUIDistance.cpp,
	  guilib/GUIFeatures.cpp, guilib/GUIHMM.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIMath.cpp, guilib/GUIPreProc.cpp, guilib/GUITime.cpp,
	  interface/OctaveInterface.h, interface/PythonInterface.cpp,
	  interface/PythonInterface.h, interface/RInterface.cpp,
	  interface/SGInterface.cpp, kernel/AUCKernel.cpp,
	  kernel/Chi2Kernel.cpp, kernel/CombinedKernel.cpp,
	  kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.cpp, kernel/CustomKernel.cpp,
	  kernel/DiagKernel.cpp, kernel/DistanceKernel.cpp,
	  kernel/FixedDegreeStringKernel.cpp,
	  kernel/HistogramWordKernel.cpp, kernel/Kernel.cpp,
	  kernel/KernelMachine.cpp, kernel/LinearByteKernel.cpp,
	  kernel/LinearKernel.cpp, kernel/LinearStringKernel.cpp,
	  kernel/LinearWordKernel.cpp,
	  kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/MindyGramKernel.cpp, kernel/PolyKernel.cpp,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchWordKernel.cpp,
	  kernel/PyramidChi2.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseLinearKernel.cpp,
	  kernel/SparsePolyKernel.cpp,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WordMatchKernel.cpp, lib/Array.h, lib/Array2.h,
	  lib/Array3.h, lib/Cache.h, lib/Cplex.cpp, lib/DynamicArray.h,
	  lib/File.cpp, lib/Mathematics.cpp, lib/Signal.cpp,
	  lib/SimpleFile.h, lib/Time.cpp, lib/Trie.h,
	  preproc/LogPlusOne.cpp, preproc/NormOne.cpp, preproc/PreProc.cpp,
	  preproc/SortUlongString.cpp, preproc/SortWord.cpp,
	  preproc/SortWordString.cpp, preproc/StringPreProc.h,
	  regression/KRR.cpp, regression/svr/LibSVR.cpp,
	  regression/svr/SVR_light.cpp, structure/DynProg.cpp,
	  structure/Plif.cpp, structure/PlifArray.cpp: - All derived
	  classes should now call their parent classes on construction.

2008-05-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreeStringKernel.cpp, lib/Trie.h: fix a bug in
	  linadd/batch computation for WD* kernels when degree=1 + minor
	  code cleanup

2008-05-26  Sebastian Henschel <shogun@kodeaffe.de>

	* TODO: - Removed TODO, it is now to be found in trac.

2008-05-25  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/SVM_light.cpp, lib/io.cpp, lib/io.h,
	  preproc/PCACut.cpp, regression/svr/SVR_light.cpp: library:
	  - Modified SG_DONE to only display a message when progress bar is
	  enabled.

2008-05-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/lapack.cpp, lib/lapack.h, lib/python_typemaps.i: fix
	  dysfunctional lapack bug (it was only working OK with atlas or
	  when neither atlas or lapack were available)

2008-05-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* TODO: update TODO
	* classifier/svm/gmnplib.cpp, classifier/svm/gnpplib.cpp: allow
	  cachesize == 2 as lower limit

2008-05-23  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  distance/Distance.cpp, distributions/hmm/HMM.cpp,
	  features/FKFeatures.cpp, features/RealFileFeatures.cpp,
	  features/TOPFeatures.cpp, kernel/Kernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp, lib/io.h,
	  preproc/PCACut.cpp, regression/svr/SVR_light.cpp: library:
	  - Introduced SG_DONE.
	* TODO, lib/io.cpp, lib/io.h: library:
	  - Fixed issue of not terminating when loglevel is set high
	  enough.
	  - Improved efficiency of message printing.
	* interface/SGInterface.cpp: interface:
	  - Extended static interface to support loglevels NOTICE,
	  CRITICAL, ALERT and
	  EMERGENCY. It is arguable if the last 3 are feasible, because
	  Shogun is
	  currently terminated if these situations occur.

2008-05-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIPreProc.cpp: compile fix when lapack is not available
	* TODO: updated TODO
	* guilib/GUIClassifier.cpp: compile fix when LAPACK/ATLAS is not
	  available

2008-05-23  Sebastian Henschel <shogun@kodeaffe.de>

	* TODO: - Introduced new section ALMOST DONE.

2008-05-22  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUICommands.h, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  interface/CmdLineInterface.cpp, interface/CmdLineInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - More cleanup for guilib:
	  + Made CGUIHMM::append_model available for SGInterface (to be
	  used by
	  CmdLineInterface)
	  + Removed 'commands' N_COMMENT1 and N_COMMENT2, moving the
	  defines into
	  CmdLineInterface.
	* guilib/GUICommands.h, guilib/GUIDistance.cpp,
	  guilib/GUIDistance.h, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  guilib/GUIKNN.cpp, guilib/GUIKNN.h, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, interface/SGInterface.cpp,
	  interface/SGInterface.h, lib/memory.cpp: interface:
	  - Cleaned up some stuff in guilib, notably:
	  + Removed KNN-specific stuff.
	  + Removed command N_ALPHABET, N_SET_MAX_DIM.
	  + Removed CGUIDistance::clean_distance.
	  + Added commands baum_welch_viterbi_train_defined,
	  del_last_kernel,
	  del_last_features.
	  + Moved implementation of entropy and relative_entropy into
	  CGUIHMM.
	  
	  library:
	  - Saved a function call in overloaded operator delete.

2008-05-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* TODO: updated todo
	* TODO: updated TODO
	* NEWS, TODO: we no catch out of memory errors, so move remove from
	  TODO and add to NEWS :)

2008-05-21  Sebastian Henschel <shogun@kodeaffe.de>

	* lib/ShogunException.i, lib/memory.cpp: memory handling:
	  - bad_alloc is now caught for modular interfaces.
	  - Cosmetic fixes in overloaded new.

2008-05-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/memory.cpp, lib/memory.h: memory handling exceptions now work
	  for all interfaces

2008-05-21  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/CmdLineInterface.cpp, interface/MatlabInterface.cpp,
	  interface/OctaveInterface.cpp, interface/PythonInterface.cpp,
	  interface/RInterface.cpp, lib/memory.cpp: interface:
	  - Improved exception handling for static interfaces.
	  - Better info string in exception thrown by overloaded operator
	  new.

2008-05-20  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/Classifier.cpp, classifier/KNN.cpp,
	  classifier/LDA.cpp, classifier/LPBoost.cpp, classifier/LPM.cpp,
	  classifier/LinearClassifier.cpp, classifier/Perceptron.cpp,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SubGradientLPM.cpp, classifier/svm/CPLEXSVM.cpp,
	  classifier/svm/GMNPSVM.cpp, classifier/svm/GNPPSVM.cpp,
	  classifier/svm/GPBTSVM.cpp, classifier/svm/LibLinear.cpp,
	  classifier/svm/LibSVM.cpp, classifier/svm/LibSVMMultiClass.cpp,
	  classifier/svm/LibSVMOneClass.cpp, classifier/svm/MPDSVM.h,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVMLin.cpp, classifier/svm/SVMOcas.cpp,
	  classifier/svm/SVMSGD.cpp, classifier/svm/SVM_light.cpp,
	  classifier/svm/SubGradientSVM.cpp, classifier/svm/WDSVMOcas.cpp,
	  classifier/svm/WDSVMOcas.h, classifier/svm/gmnplib.cpp,
	  classifier/svm/gnpplib.cpp, classifier/svm/qpbsvmlib.cpp,
	  clustering/Hierarchical.cpp, clustering/KMeans.cpp,
	  clustering/KMeans.h, distance/Distance.cpp, distance/Distance.h,
	  distance/SimpleDistance.h, distance/SparseDistance.h,
	  distance/SparseEuclidianDistance.cpp, distance/StringDistance.h,
	  distributions/histogram/Histogram.cpp, distributions/hmm/HMM.cpp,
	  distributions/hmm/LinearHMM.cpp, features/Alphabet.cpp,
	  features/Alphabet.h, features/FKFeatures.cpp,
	  features/Features.cpp, features/Labels.cpp,
	  features/MindyGramFeatures.cpp, features/RealFeatures.cpp,
	  features/RealFileFeatures.cpp, features/ShortFeatures.cpp,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/StringFeatures.h, features/TOPFeatures.cpp,
	  features/WordFeatures.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIFeatures.cpp, guilib/GUIHMM.cpp, guilib/GUIKNN.cpp,
	  guilib/GUIKernel.cpp, guilib/GUIPreProc.cpp, guilib/GUITime.cpp,
	  interface/CmdLineInterface.cpp, interface/MatlabInterface.cpp,
	  interface/OctaveInterface.cpp, interface/PythonInterface.cpp,
	  interface/SGInterface.cpp, kernel/Chi2Kernel.cpp,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordStringKernel.cpp, kernel/CustomKernel.cpp,
	  kernel/CustomKernel.h, kernel/FixedDegreeStringKernel.cpp,
	  kernel/GaussianKernel.cpp, kernel/GaussianShiftKernel.cpp,
	  kernel/HistogramWordKernel.cpp, kernel/Kernel.cpp,
	  kernel/Kernel.h, kernel/KernelMachine.cpp,
	  kernel/LinearByteKernel.cpp, kernel/LinearWordKernel.cpp,
	  kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/MindyGramKernel.cpp, kernel/PolyKernel.cpp,
	  kernel/PolyMatchStringKernel.cpp, kernel/PyramidChi2.cpp,
	  kernel/SalzbergWordKernel.cpp, kernel/SigmoidKernel.cpp,
	  kernel/SimpleKernel.h, kernel/SparseGaussianKernel.cpp,
	  kernel/SparseKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/StringKernel.h, kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WordMatchKernel.cpp, lib/Array.h, lib/Cache.h,
	  lib/Cplex.cpp, lib/File.cpp, lib/Mathematics.cpp,
	  lib/Mathematics.h, lib/Trie.cpp, lib/lapack.cpp,
	  preproc/LogPlusOne.cpp, preproc/NormDerivativeLem3.cpp,
	  preproc/NormOne.cpp, preproc/PCACut.cpp,
	  preproc/PruneVarSubMean.cpp, preproc/SortUlongString.cpp,
	  preproc/SortWord.cpp, preproc/SortWordString.cpp,
	  regression/KRR.cpp, regression/svr/LibSVR.cpp,
	  regression/svr/SVR_light.cpp, structure/DynProg.cpp,
	  structure/Plif.cpp, structure/PlifArray.cpp: - Big deletion of
	  ASSERT where used unnecessarily in conjuntion with operator
	  new.
	  - Also added a couple of whitespace fixes, although this,
	  together with
	  coding-style fixes should be done for real some time later.

2008-05-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/SGObject.cpp, classifier/svm/SVM_libsvm.cpp,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  lib/common.h, lib/memory.cpp, lib/memory.h, lib/new.cpp,
	  lib/new.h: rename new memory... and *sigh* use std new
	* base/SGObject.cpp, lib/new.cpp, lib/new.h: custom new (seems to
	  work here)

2008-05-19  Sebastian Henschel <shogun@kodeaffe.de>

	* TODO: TODO:
	  - Marked items to take charge of for next release.

2008-05-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/MPDSVM.cpp, lib/Cache.h: fix spelling mistake in
	  cache and add some assertions to MPD

2008-05-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: update configure to also use 'native' as march/mcpu
	  flag
	* .authors:

2008-05-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* TODO: more ideas
	* classifier/svm/pr_loqo.cpp: this should fix yaroslavs latest and
	  greatest memory leak :-)
	* guilib/GUICommands.h, interface/SGInterface.cpp,
	  interface/SGInterface.h, kernel/CombinedKernel.cpp: - add debug
	  code for initing subkernels of combined kernel
	  - add command to enable speedup of commwordstringkernel (useful
	  for whole genome predictions)
	* interface/MatlabInterface.cpp: fall back to the matlab prompt on
	  error instead of ignoring errors (though they were printed)

2008-05-16  Yaroslav Halchenko <yoh@psychology.rutgers.edu>

	* distance/Distance.cpp, features/FKFeatures.cpp,
	  features/TOPFeatures.cpp, kernel/Kernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp, preproc/PCACut.cpp: BF:
	  some SG_PRINT and printf statements into SG_INFO and SG_DEBUG

2008-05-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .authors, TODO: add cheng to authors, fix footer and add a
	  comment to remind me to run make ChangeLog before actually doing
	  a release

2008-05-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* TODO: brain storming idea

2008-05-15  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.h: features:
	  - Alphabet un/refing bug squished.

2008-05-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h: fix delete alphabet/missing SG_REF bug
	* features/Alphabet.cpp: assert that alphabet is not NULL
	* NEWS: update news, fix directory name R -> r
	* lib/File.cpp: transpose bug fix
	* NEWS, interface/CmdLineInterface.cpp: exit with code 1 instead of
	  throwing exception when error occurs on cmdline if
	* features/StringFeatures.h, interface/CmdLineInterface.cpp,
	  lib/File.cpp: -fix yet another overflow bug in string
	  features+cmdline if
	  -fix parsing of commands (with return arguments but no
	  parameters) - occured when executing scripts only
	  -implement reading and writing of vectors
	  -rename test scripts to have .sg suffix
	  -add bigger test dataset
	* interface/SGInterface.cpp, lib/File.cpp: -fix bug for reading
	  sparse features in cmdline if (1st dimension was always not read)
	  -use SG_ERROR if command is not known
	  -add some more examples / datasets:
	  
	  status:
	  - things work from cmdline but lhs args not from file (why??)
	  - string features: reading last line still broken (for strings
	  not of same length)
	* features/StringFeatures.h, lib/File.cpp: fix writing of char
	  features and sparse features
	  fix a bug in reading charstring features (forgotten overflow
	  buffer *ugh*)

2008-05-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: remove now (that the
	  alphabet is a protected member variable) the obsoleted get lhs
	  features (which was used to determine the alphabet only)

2008-05-14  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/CmdLineInterface.cpp, lib/File.cpp, lib/File.h:
	  interface:
	  - Added support for writing STRING CHAR features and SPARSE REAL.
	  Dunno if
	  it works, though. reading STRING CHAR is b0rked atm and not sure
	  about
	  SPARSE REAL.
	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: kernel:
	  - Got rid of two compiler warnings about unused variables.
	* interface/CmdLineInterface.cpp, interface/SGInterface.h:
	  interface:
	  - Added newline to error message in SGInterface.
	  - Removed the necessity of spaces before and after equal sign for
	  lhs/rhs in
	  command-line interface.

2008-05-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h: Finally found the bug:
	  get_alphabet() did a SG_REF for the modular interfaces
	  but not for the static ones. This function was heavily used when
	  converting DNA
	  to 0,1,2,3 in the core loops of the string kernels, thus causing
	  a massive
	  slowdown for them (factor 5-30).
	  
	  Also modfied the WD kernels to work with alphabets != DNA/RNA
	  (but disable
	  linadd/batch comp. in this case + add a couple of assertions to
	  trap misuse)
	* classifier/svm/SVM_light.h: remove typedefs, use plain struct FOO
	  only (otherwise older swig versions don't understand the %ignore
	  FOO)
	* features/StringFeatures.h, interface/CmdLineInterface.cpp,
	  interface/CmdLineInterface.h, kernel/Kernel.h, lib/File.cpp,
	  lib/File.h: -also parse lhs
	  -simple ascii reading for cmdline interface should work for
	  simple/sparse/string features now
	  -simple ascii writing for dense real features

2008-05-14  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/CmdLineInterface.cpp, lib/File.cpp, lib/File.h:
	  interface:
	  - Implemented CFile::read_real_valued_dense() for starters. There
	  might be a
	  more elegent way, though.

2008-05-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/File.cpp, lib/File.h: drafty i/o

2008-05-13  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/CmdLineInterface.cpp: interface:
	  - Little compile warning fix.

2008-05-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS, interface/CmdLineInterface.cpp, interface/SGInterface.cpp:
	  add readline completion and filetype guessing (based on 1st 1024
	  bytes) if signature is not present

2008-05-13  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/CmdLineInterface.cpp: interface:
	  - Poked at reading features from files...

2008-05-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/CmdLineInterface.cpp, interface/SGInterface.cpp: -
	  remove erraneous readline part from SGInterface
	  - delimit also on '\t\n'
	  - don't exit if shogun exception happens on interactive interface
	  (merely display an error) and only quit on ctrl+D or quit/exit
	* interface/CmdLineInterface.cpp, interface/CmdLineInterface.h,
	  interface/SGInterface.cpp: recover code from GUI/TextGUI to get
	  interactive cmdline and tcp interface to work again
	* interface/CmdLineInterface.cpp,
	  kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h, kernel/LinearKernel.h,
	  kernel/PolyKernel.h, kernel/SparseLinearKernel.h,
	  kernel/SparsePolyKernel.h: more documentation and compile fix for
	  cmdline if

2008-05-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/Chi2Kernel.h, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.h, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.h, kernel/CustomKernel.h, kernel/DiagKernel.h,
	  kernel/DistanceKernel.h: add some documentation for these kernels

2008-05-10  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/CmdLineInterface.cpp, interface/CmdLineInterface.h,
	  sg.m: interface:
	  - Command line interface can read scalars now and is a bit more
	  relaxed about
	  the command file's contents wrt comments and newlines.
	  - Added section cmdline and one testing command file in its
	  subsection
	  examples.

2008-05-09  Sebastian Henschel <shogun@kodeaffe.de>

	* lib/io.cpp, lib/io.h: library:
	  - Extended class CIO by method skip_blanks to skip spaces and
	  tabs in strings.
	* interface/SGInterface.cpp: interface:
	  - Improved implementation of command '!' (system) to make it
	  suitable for
	  command line interface and increase flexibility for other
	  interfaces - you
	  can now pass several arguments to the command.
	* interface/SGInterface.cpp: interface:
	  - Fixed little bug in help string for command 'loglevel'.
	* configure, interface/CmdLineInterface.cpp,
	  interface/CmdLineInterface.h, interface/SGInterface.cpp,
	  lib/io.cpp: interface:
	  - Made command-line interface operational, it does not do
	  anything at the
	  moment, though.
	  io:
	  - Added some ifdef WIN32 around CSignal::unset_handler() in
	  io::message().

2008-05-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_light.cpp: remove debug code
	* classifier/svm/SVM_light.cpp: init kernel caches when multiple
	  kernels are in use for svm light
	* Makefile: - create symlinks for octave and matlab and introduce
	  make check-examples to
	  check examples for current interface.
	  - make spec/wd/lik kernel examples run non interactively
	  - don't even try to run examples on matlab (as it doesn't give
	  reasonable return codes!)
	  - speed up modular R by precompiling R files (and loading the
	  ones in the examples)
	  - fix distribution octave-modular example
	  
	  AFAICT all examples for all interface run through.
	* Makefile: add tests to also run examples

2008-05-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_light.cpp: fix crasher when precompute is true

2008-05-08  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUICommands.h, interface/SGInterface.cpp:
	  interface/examples:
	  - Added commands train_clustering, new_clustering, get_clustering
	  and modified
	  examples accordingly.
	* guilib/GUICommands.h, interface/SGInterface.cpp: interface:
	  - Added new commands new_regression and train_regression (alias
	  to
	  new_classifier/train_classifier) and adjusted examples.
	  - Completely enabled KRR in examples.

2008-05-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_libsvm.cpp: add some progress to libsvm

2008-05-08  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIClassifier.cpp, interface/SGInterface.cpp,
	  regression/KRR.cpp: interface:
	  - Fixed KRR in static interface.

2008-05-07  Yaroslav Halchenko <yoh@psychology.rutgers.edu>

	* classifier/svm/gpm.cpp: printf -> SG_S{WARNING,ERROR} withing
	  svm/gpm.cpp

2008-05-06  Sebastian Henschel <shogun@kodeaffe.de>

	* .scrub_docstrings.py: documentation:
	  - Possibly improved issue with CFeatures in
	  swig-autodoc-generation.
	* interface/SGInterface.cpp: interface:
	  - Fixed order of parameters in Poly kernel.
	  - Extended help string of train_classifier to include optional
	  parameters.
	* interface/MatlabInterface.cpp: interface:
	  - Improved bool handling in Matlab interface.

2008-05-05  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIKernel.cpp: interface:
	  - Clearer output when kernel is initialised with wrong target.
	* interface/SGInterface.cpp: interface:
	  - Fixed recognition of WEIGHTEDDEGREEPOS2_NONORM.

2008-05-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS, kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.i: allow setting of custom
	  weights for W.C.W.S.K :-)

2008-05-05  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUICommands.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Completed support for KRR. KRR seems broken, though.
	* interface/SGInterface.cpp: interface:
	  - Usage of send_command will spit out a warning now.
	  - Help texts adjusted to not use strings as method arguments.

2008-05-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/SGObject.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h: the compute_helper function in
	  commwordstringkernel was not anymore declared
	  virtual. this broke weightedcommwordstringkernel for quite some
	  releases :(
	  
	  extract the diagonal optimization into a separate function
	  compute_diag, this
	  should not be turned on for the weightedcommwordstringkernel

2008-05-03  Cheng Soon Ong <chengsoon.ong@tuebingen.mpg.de>

	* kernel/CommWordStringKernel.cpp: Removed irritating Done prints

2008-05-03  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIClassifier.cpp, guilib/GUIDistance.cpp,
	  guilib/GUIFeatures.cpp, guilib/GUIHMM.cpp, guilib/GUIKNN.cpp,
	  guilib/GUIKernel.cpp, guilib/GUIPluginEstimate.cpp,
	  guilib/GUIPreProc.cpp, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Made command 'clear' do something useful.
	* guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - It is unnecessary now to supply the number of chars you want to
	  have
	  matched in strmatch if you want to have an exact match.
	  - Some more little fixes.

2008-05-02  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Improved error handling for vectors and handling of spaces in
	  command
	  strings.
	* interface/SGInterface.cpp: interface:
	  - Fixed a bug in default value for SVM C2.
	* guilib/GUIKernel.cpp, interface/SGInterface.cpp: interface:
	  - Made little changes on how WEIGHTEDDEGREEPOS2/3 are
	  implemented.

2008-05-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/MatlabInterface.cpp: better do explicit casts, mxChar
	  is 16bit, CHAR only 8
	* Makefile: speed up loading shogun modules from R a lot

2008-05-02  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIHMM.cpp, guilib/GUIKernel.cpp, guilib/GUIPreProc.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Fixed a couple of issues, including
	  WeightedDegreePositionString. There
	  seems be a problem with support vectors somewhere, though.

2008-05-01  Sebastian Henschel <shogun@kodeaffe.de>

	* gui, guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIDistance.cpp, guilib/GUIDistance.h,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h, guilib/GUIHMM.cpp,
	  guilib/GUIHMM.h, guilib/GUIKNN.cpp, guilib/GUIKNN.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUILabels.cpp,
	  guilib/GUILabels.h, guilib/GUIMath.cpp, guilib/GUIMath.h,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUITime.cpp,
	  guilib/GUITime.h, interface/MatlabInterface.cpp,
	  interface/MatlabInterface.h, interface/OctaveInterface.cpp,
	  interface/OctaveInterface.h, interface/PythonInterface.cpp,
	  interface/PythonInterface.h, interface/RInterface.cpp,
	  interface/RInterface.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Obliterated gui/.
	  - The previous check-in should have meant that WeightedDegree* is
	  b0rked.
	* gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h, guilib/GUIDistance.cpp,
	  guilib/GUIDistance.h, guilib/GUIFeatures.h, guilib/GUIHMM.cpp,
	  guilib/GUIHMM.h, guilib/GUIKernel.cpp, guilib/GUIKernel.h,
	  guilib/GUILabels.cpp, guilib/GUILabels.h, guilib/GUIMath.cpp,
	  guilib/GUIMath.h, guilib/GUIPluginEstimate.cpp,
	  guilib/GUIPluginEstimate.h, guilib/GUIPreProc.cpp,
	  guilib/GUIPreProc.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Implemented all changes necessary to support old and new
	  interface.
	  WeightedDegree* (read: vectors in a string) is apparently,
	  though.

2008-04-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/SGObject.i, lib/r.h, lib/r_typemaps.i: - really disable
	  garbage collection in r-modular (crashes if on)
	  - implement r-typemaps for setting strings
	  - classifier and regression examples for R work now (except for
	  string based/enum requiring functions)

2008-04-30  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/Perceptron.cpp: classifier:
	  - Fix: Perceptron::train even returned false when it had
	  converged.
	* lib/common.h: lib:
	  - Introduced EPreProcType.

2008-04-28  Sebastian Henschel <shogun@kodeaffe.de>

	* gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIFeatures.h,
	  interface/SGInterface.cpp: interface:
	  - Interface now supports new and legacy way to handle features.

2008-04-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS: ported regression examples to r-modular - Rswig seems to
	  work now with my
	  recent fixes - the other examples are still missing though WIP

2008-04-25  Sebastian Henschel <shogun@kodeaffe.de>

	* gui/TextGUI.cpp, guilib/GUIKernel.cpp, guilib/GUIKernel.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface
	  - Implemented command set/add_kernel in a legacy-tolerant way.
	  all_* examples
	  in octave run through, so there are only spiteful bugs.

2008-04-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/SGObject.h, classifier/svm/SVM_light.i, lib/Mathematics.i,
	  lib/Signal.i, lib/Trie.i, lib/io.i, lib/r_typemaps.i: There was
	  actually no bug in SWIG but in R 2.7 (and still is - long input
	  lines
	  cause it to crash, solution posted to Rd mailinglist). Which
	  means R+swig works
	  in principle. However are definitely a couple of (minor/easily
	  fixable) bugs in
	  the R wrapper that need further fixes before shogun fully works:
	  
	  1) the dispatcher (called when an object is constructed) wrongly
	  calls
	  extends(argtypes[1], 'numeric')) which will never be true for a
	  matrix (some
	  magic is needed here). Workaround for now is to not use
	  RealFeatures(my_matrix), but
	  rf=RealFeatures()
	  rf$copy_feature_matrix(rf, my_matrix)
	  2) arguments that take a double* will all be modified via
	  as.numeric(arg) which
	  converts matrices -> vectors. IMHO it does not make sense to do
	  any conversion
	  at all but for compatibility a workaround for now is to use
	  %{ if (!is.numeric($input)) $input = as.numeric($input) %}
	  in the scoercein typemap
	  3) the R2.7 swig mkCharEnc fix (patch submitted)
	* Makefile, configure: rename R-modular / R to r-modular / r (all
	  lowercase )

2008-04-24  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/OctaveInterface.cpp: interface:
	  - Fixed an erroneous check for boolean scalar in Octave
	  interface.

2008-04-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.cpp, structure/DynProg.cpp: - fix crasher in
	  dynprog (double free)
	  - cosmetic code formatting in svm

2008-04-21  Cheng Soon Ong <chengsoon.ong@tuebingen.mpg.de>

	* classifier/svm/SVM.cpp, lib/io.h: Hack to make sure that static
	  sg_io has same display progress settings as svm.io

2008-04-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: install octave files with executable bit set
	* Makefile: fix PYTHONPATH on make test
	* ChangeLog: Preparing for new Release shogun_0.6.1
	* Makefile: let make distclean also remove octave-core files,
	  cplex.log and .swp files
	* NEWS, interface/SGInterface.cpp: categorize help in topics

2008-04-18  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp: interface:
	  - Extended help command to list commands in groups.
	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Renamed all 'action' to 'command', incl. relating names
	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added remaining commands to make send_command obsolete.

2008-04-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS: update news
	* kernel/Kernel.h: type : -> ;
	* kernel/Kernel.h: resize cache fix, thanks Christian Widmer
	* classifier/Classifier.i, clustering/Clustering.i,
	  distance/Distance.i, distributions/Distribution.i,
	  evaluation/Evaluation.i, features/Features.i, kernel/Kernel.i,
	  lib/Library.i, preproc/PreProc.i, regression/Regression.i:
	  Disable director in all swig files. This has big impact on
	  
	  a) speed
	  b) wrapper code size
	  c) inheritance.
	  
	  Good news first, every virtual function should be *much faster*
	  now, as the
	  call is not anymore rerouted via the director wrapper to python
	  and then from
	  there to the correct c++ function. Furthermore the wrapper code
	  size decreases
	  a lot, the inheritance chain is shorter and compile times are
	  reduced.
	  
	  The sad news is that virtual functions that *were overloaded via
	  python code*
	  will not be used from inside the C++ code (not sure if anyone
	  expected this to
	  work - so it might not actually be that bad).
	* NEWS: further preps for the release

2008-04-18  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added a few more commands to make send_command obsolete in the
	  near future.

2008-04-17  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added a bunch of commands to make send_command obsolete in the
	  near future.

2008-04-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, clustering/Hierarchical.i, lib/octave_typemaps.i,
	  lib/python_typemaps.i, regression/KRR.cpp,
	  regression/svr/SVR_light.h: - fix a memory leak in KRR
	  - add forgotten typemap in Hierarchical
	  - add semicolon on make install for octave-modular
	  - add the same examples we have for python-modular to
	  octave-modular: there
	  seems to be still a bug leading to infinity recursions for
	  virtual functions in
	  the octave swig wrapper ... to be debugged

2008-04-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/SparseFeatures.h, kernel/CommWordStringKernel.cpp,
	  kernel/HistogramWordKernel.cpp,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/SalzbergWordKernel.cpp: fix a couple of compile warnings
	  on 64bit arch
	* features/ShortRealFeatures.h, features/WordFeatures.h: - compile
	  fix
	  - fix crasher due to united variable in wordfeatures
	  - adjust python examples/testsuite to match new syntax
	* classifier/svm/SVM.i, features/ByteFeatures.i,
	  features/CharFeatures.i, features/IntFeatures.h,
	  features/IntFeatures.i, features/RealFeatures.h,
	  features/RealFeatures.i, features/ShortFeatures.h,
	  features/ShortFeatures.i, features/ShortRealFeatures.h,
	  features/ShortRealFeatures.i, features/SimpleFeatures.i,
	  features/WordFeatures.h, features/WordFeatures.i: * get rid of
	  most %pythoncode extensions, which brings the following
	  incompatible changes:
	  - Byte/Char features have to be created like stringfeatures, i.e.
	  bf=ByteFeatures(alphabet)
	  bf.copy_feature_matrix(array(...))
	  * only the convenience function for SVM remains (for the python
	  interface), in
	  case we later do some define magic we might do
	  a) magic multi argument typemaps, e.g. ByteFeatures(alphabet,
	  feat)
	  b) functions with multiple numpy arrays... e.g. SVM(svs, alphas,
	  b)
	  with CSVM(INT* svs, INT num_svs, DREAL* alphas, INT num_alpha,
	  DREAL b)
	* features/Labels.i, lib/octave_typemaps.i, lib/python_typemaps.i,
	  lib/r_typemaps.i: - resolved conflict, for multiple same name
	  (but with different type) functions
	  - we won't need the elstupido %pythoncode class derivation stuff
	  :-)

2008-04-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/LinearClassifier.i,
	  classifier/SparseLinearClassifier.i, classifier/svm/SVM.i,
	  clustering/Clustering.i, clustering/KMeans.i, configure,
	  distance/Distance.i, distributions/Distribution.i,
	  evaluation/Evaluation.i, features/Alphabet.i,
	  features/ByteFeatures.i, features/CharFeatures.i,
	  features/IntFeatures.i, features/Labels.i,
	  features/RealFeatures.i, features/ShortFeatures.i,
	  features/ShortRealFeatures.i, features/SimpleFeatures.i,
	  features/StringFeatures.i, features/WordFeatures.i,
	  interface/RInterface.cpp, kernel/CustomKernel.i, kernel/Kernel.i,
	  kernel/LinearKernel.i,
	  kernel/WeightedDegreePositionStringKernel.i,
	  kernel/WeightedDegreeStringKernel.i, lib/R.h, lib/Signal.cpp,
	  lib/io.cpp, lib/matlab.h, lib/octave.h, lib/python.h, lib/r.h,
	  lib/r_typemaps.i, lib/swig_typemaps.i, structure/Structure.i: -
	  wrap all typemaps in lib/swig_typemaps.i (that include
	  python_typemaps.i etc...)
	  - only ever use include lib/r.h when including R files
	  - R does not need a prefix for .so files, e.g. Kernel.R and
	  Kernel.so is the swig output
	  - add python swig support (including typemaps for i/o of vectors
	  and matrices),
	  while it should fully work it does not, guessing:
	  
	  a) debian's R 2.7-prerelease is too new
	  b) swig R wrapper support is far from mature
	  c) subtleties of the R swig/interface or R even, e.g. the test
	  works via R < ../R-modular/examples/first_shot.R
	  but crashes when pasted in interactive mode. as long as the R
	  swig
	  maintainer does not respond this has 0 chance to improve in the
	  future.
	* Makefile, TODO, interface/SGInterface.cpp: - add make install for
	  octave-modular
	  - fix typo in usage help
	  - update todo list
	* lib/Mathematics.h: fix another compile warning
	* features/Alphabet.cpp, features/WordFeatures.cpp,
	  features/WordFeatures.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/PyramidChi2.h,
	  kernel/WeightedDegreePositionStringKernel.h,
	  lib/octave_typemaps.i, structure/DynProg.cpp,
	  structure/DynProg.h: - fix a large number of gcc4.3 compile
	  warnings
	  - add missing documentation
	  - add copyright header to octave_typemaps.i

2008-04-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/octave_typemaps.i: force variable to be in the outer context
	  for IN1/IN2 octave typemaps. they
	  might have been deallocated (as they were local variables)
	  before.
	* ChangeLog: - bugfix in R package building
	  - add a make update-webpage to simplify the release mechanism
	* base/SGObject.h, base/SGObject.i, clustering/KMeans.i,
	  features/Labels.i, kernel/Kernel.i: - add forgotten includes for
	  python_typemap and variable renaming
	  - use ref counting for octave interface too
	  - ignore all further constructors when creating Labels(lab), this
	  seems to please typemaps (as in they are now applied)

2008-04-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS, classifier/LinearClassifier.i,
	  classifier/SparseLinearClassifier.i, classifier/svm/SVM.i,
	  clustering/Clustering.i, distance/Distance.i,
	  distributions/Distribution.i, evaluation/Evaluation.i,
	  features/Alphabet.i, features/ByteFeatures.i,
	  features/CharFeatures.i, features/IntFeatures.i,
	  features/Labels.cpp, features/Labels.h, features/Labels.i,
	  features/RealFeatures.i, features/ShortFeatures.i,
	  features/ShortRealFeatures.i, features/SimpleFeatures.i,
	  features/StringFeatures.i, features/WordFeatures.i,
	  kernel/CustomKernel.i, kernel/Kernel.i, kernel/LinearKernel.i,
	  kernel/WeightedDegreePositionStringKernel.i,
	  kernel/WeightedDegreeStringKernel.i, lib/octave_typemaps.i,
	  lib/python.h, lib/python_typemaps.i, structure/Structure.i:
	  increadibly, swig for octave is basically working for everything,
	  vectors,
	  matrices and strings (in and out...)... thanks to the swig team
	  and
	  especially Xavier Delacour for the help... needs swig from svn to
	  work

2008-04-13  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp: interface:
	  - Updated help command to give the user a hint how to invoke help
	  for a single
	  command.

2008-04-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* clustering/KMeans.h, features/SimpleFeatures.h,
	  features/StringFeatures.h, kernel/Kernel.h,
	  kernel/KernelMachine.h: fixed a few doxygen documentation
	  warnings

2008-04-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* COPYRIGHT, LICENSE, LICENSE.SVMlight, NEWS: - lots more of
	  documentation

2008-04-12  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Little bugfix to usage string of set_features and proper
	  delete[] in a_help.
	  - Reshuffling of methods to have them grouped properly.
	  - Added many commands which merely call send_command for the time
	  being.
	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Removed superflous command test.
	  - Improved help function.

2008-04-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/Kernel.i: - remove vignette and include documentation in
	  doxygen
	  - get swig-octave to work for Kernels.
	* .authors: add yaroslav to authors, minimal documentation
	* Makefile, base/Documentation.mainpage, classifier/svm/SVM.h,
	  kernel/KernelMachine.h: - svn put tests into tests/ directory
	  - move/merge documenation form .txt files to doxygen
	  - update README and fix doc generation

2008-04-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/RInterface.cpp, interface/SGInterface.cpp: fix the hmm
	  viterbi path: it returns a WORD not real-vector: using
	  set_word_vector is the fix. as R does not support WORD add some
	  fuzzing (return ints for WORD, DREAL for shortreal etc...)
	* .generate_link_dependencies.py, .scrub_docstrings.py, Makefile,
	  base/SGObject.h, base/SGObject.i, classifier/KNN.h,
	  classifier/LinearClassifier.h, classifier/PluginEstimate.cpp,
	  classifier/PluginEstimate.h, classifier/SparseLinearClassifier.h,
	  configure, kernel/Kernel.cpp, kernel/Kernel.h, lib/Signal.cpp:
	  octave-modular compile support

2008-04-10  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp: interface:
	  - Possibly fixed HMM issue.
	  - Forgot to add R toy examples previously.
	* guilib/GUIKernel.cpp, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Fixed a memory access issue, all interfaces with each all_*
	  example file are
	  valgrind-clear. HMM segfault issue is pending.
	* distributions/hmm/HMM.cpp, interface/SGInterface.cpp:
	  HMM/interface:
	  - Mucked around with a bug in HMM, only did some cosmetic fixes.
	  Maybe
	  CHMM::model_probability_comp must be changed? dunno how.

2008-04-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, lib/lapack.cpp, lib/lapack.h: add jochens fixes to
	  properly detect acml and intel mkl
	* classifier/svm/SVM_light.cpp, distance/CanberraMetric.cpp,
	  distance/ChebyshewMetric.cpp, distance/GeodesicMetric.cpp,
	  distance/JensenMetric.cpp, distance/ManhattanMetric.cpp,
	  distance/MinkowskiMetric.cpp, kernel/DiagKernel.cpp,
	  kernel/SigmoidKernel.cpp, preproc/PCACut.cpp,
	  regression/svr/SVR_light.cpp: -don't ever directly include
	  <cblas.h> but use lib/lapack.h instead
	  -remove <cblas.h> from many files that just don't need it

2008-04-09  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/RInterface.cpp: interface:
	  - Added toy examples for R interface and moved plotting examples
	  into plots/.
	  - Mostly cosmetic fixed to other interfaces.

2008-04-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/Tron.cpp, configure: convert tron to use cblas

2008-04-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: fix definition of dpotrf_
	* configure: link with cblas in case of atlas
	* configure: Use --dis/enable-lapack again: the HAVE_LAPACK switch
	  is on if blas and any
	  of ACML, MKL, ATLAS or vanilla LAPACK are found (each of which
	  implement the
	  lapack standard). In configure detect if we have one of the many
	  and as we use
	  clapack in case of atlas fall back to Jochen's wrappers if atlas
	  is not available.
	  
	  Tested with lapack and atlas, still needs testing for MKL and
	  ACML (which I don't have)
	* NEWS: update NEWS
	* classifier/PluginEstimate.cpp, configure: - fix compile warning
	  (NULL vs. 0) mismatch
	  - require octave version 3.0
	* interface/MatlabInterface.cpp, lib/matlab.h: compile fix for
	  matlab 6.5 (logical does not exist there...)
	* classifier/svm/SVM_light.cpp: fix single kernel SVM-light
	* lib/Mathematics.h, lib/lapack.cpp, lib/lapack.h: attempt to fix
	  building w/ atlas
	* classifier/svm/pr_loqo.cpp, configure, lib/Mathematics.cpp,
	  lib/Mathematics.h, lib/lapack.cpp, lib/lapack.h,
	  preproc/PCACut.cpp, regression/KRR.cpp: Add ACML and MKL support
	  based on the patches from Jochen Garcke - thanks!

2008-04-08  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp: interface:
	  - Fix double free corruption in SGInterface::a_get_classifier.
	  - Fix python examples for clustering.

2008-04-07  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/LinearClassifier.i, kernel/LinearKernel.h,
	  kernel/LinearKernel.i: add a get_w / set_w to linear kernel

2008-04-07  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIDistance.cpp, guilib/GUIKernel.cpp,
	  interface/SGInterface.cpp: interface:
	  - Added examples for Python interface.
	  - Fixed typo in GUIDistance.
	  - Made error message in GUIKernel more useful.
	  - Fixed bug in SGInterface.

2008-04-06  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Implemented set_int/real/bool for all 4 interfaces.

2008-04-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .scrub_docstrings.py, Makefile, clustering/Hierarchical.h,
	  clustering/KMeans.h, configure, features/Features.i,
	  features/SimpleFeatures.h,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h, lib/DynamicArray.h,
	  lib/DynamicArray.i, sg.m: - fix hmm example
	  - fix several naming conflicts (e.g. result is used by swig for
	  return arguments)
	  - get modular R interface to at least compile

2008-04-06  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Replaced set/get_*_matrix by set/get_*_vector where
	  appropriate.
	  - Fixed octave-incompatible example.

2008-04-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* TODO, gui/GUI.h, gui/Python.h, gui/TextGUI.h,
	  guilib/GUIMatlab.cpp, interface/MatlabInterface.cpp,
	  interface/OctaveInterface.cpp, interface/PythonInterface.cpp,
	  interface/RInterface.cpp, lib/R.h, lib/Signal.cpp, lib/io.cpp: -
	  delete remainders of old interfaces and minor compile and
	  cosmetic fixes
	  - update TODO
	* classifier/svm/SVM_light.cpp, gui/Matlab.cpp, gui/Octave.cpp,
	  gui/Python.cpp, gui/R.cpp, guilib/GUIMatlab.h,
	  guilib/GUIOctave.cpp, guilib/GUIOctave.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, guilib/GUIR.cpp, guilib/GUIR.h,
	  interface/MatlabInterface.cpp, interface/OctaveInterface.cpp,
	  interface/RInterface.cpp, lib/R.h, lib/Signal.cpp, lib/octave.h:
	  - add signal handling for octave
	  - attempt to get signal handling for R/python to work - it may
	  not - we should
	  use a different (cleaner) mechanism anyway: set a flag when
	  ctrl-c occured, in
	  long loops check that flag every now and then and then return
	  - put extension includes in lib/{R,octave,python,matlab}.h
	  - remove old (and now obsolete) interface files

2008-04-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/OctaveInterface.cpp, interface/PythonInterface.cpp,
	  interface/PythonInterface.h: mostly fixed static python interface
	  (set/get features etc)
	  fixed examples
	* configure, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/RInterface.cpp,
	  interface/RInterface.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: - compile fix for octave
	  - use set_real_vector for HMM in SGInterface
	  - R interface cleanups
	  - use a single directory for octave and matlab as octave 3.0
	  supports all
	  matlab types/functions now

2008-04-03  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/PythonInterface.cpp, interface/PythonInterface.h:
	  interface:
	  - Added some safeguards to PythonInterface.
	  - Broke out set_real_matrix for debugging; it is still not
	  working
	  properly.

2008-04-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp: fix examples for new R interface. we
	  still need to fix get/set vectors for all
	  interfaces

2008-04-03  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/PythonInterface.cpp, interface/PythonInterface.h:
	  interface:
	  - Fixed compilation and implemented create_return_values() in
	  PythonInterface.

2008-04-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/RInterface.cpp: completed R interface - not many
	  datatypes are supported in R :(
	* configure, interface/MatlabInterface.cpp,
	  interface/MatlabInterface.h, interface/OctaveInterface.cpp,
	  interface/OctaveInterface.h, interface/PythonInterface.cpp,
	  interface/PythonInterface.h, interface/RInterface.cpp,
	  interface/RInterface.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: - argh, we need to link to -llapack too
	  as some functions are not clapack
	  - remove submit_return_values, and modify create_return_values,
	  to return true
	  if successfull. change interfaces accordingly
	* configure: we actually require atlas for compilation, not lapack.
	  (clapack_* functions are
	  required) thus always link with -llapack_atlas

2008-04-02  Yaroslav Halchenko <yoh@psychology.rutgers.edu>

	* features/SparseFeatures.h: fix possible segfault in
	  SparseFeatures.h (thanks to Andrey T)

2008-04-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: test swig version

2008-04-02  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/PythonInterface.cpp: interface:
	  - Fixed initialisation of PythonInterface.
	  - Modified examples to use new interface.

2008-04-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/python_typemaps.i: potentially fix a bug in make contiguous

2008-04-01  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/PythonInterface.cpp: interface:
	  - Implemented methods for PythonInterface - they compile but most
	  likely won't work.

2008-04-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp: get/set_features for R interface: note
	  that the number of arguments check in
	  interface/SGInterface.cpp was disabled - we need an interface
	  change here

2008-03-31  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp: interface:
	  - Fixed a copy&paste bug.
	* interface/MatlabInterface.cpp: interface:
	  - Improved handling of cell arrays in get_argument_type in
	  MatlabInterface.
	* interface/PythonInterface.cpp: interface:
	  - Implemented get_argument_type() in PythonInterface.
	* interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/SGInterface.h: interface:
	  - Made Python interface compile again.

2008-03-30  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/OctaveInterface.cpp, interface/SGInterface.cpp:
	  interface:
	  - Fixed an erroneous delete[] (and now unnecessary copying of
	  data) while
	  checking octave interface on matlab examples.

2008-03-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/RInterface.cpp, interface/RInterface.h: get R interface
	  to compile again

2008-03-29  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/OctaveInterface.cpp,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Got rid of SINGLE_STRING

2008-03-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/SparseFeatures.h: free the matrix as long as num_vectors
	  is still correct
	* interface/OctaveInterface.cpp, interface/SGInterface.h: octave
	  interface mostly works now (at least svm_classification,
	  test_wd_kernel,
	  svr_regression ...)
	* configure: don't remove configure.log when --help is called
	* classifier/svm/LibSVM.cpp, classifier/svm/LibSVMOneClass.cpp,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  clustering/Hierarchical.cpp, clustering/KMeans.cpp,
	  distance/Distance.cpp, distance/Distance.h,
	  interface/SGInterface.cpp, kernel/AUCKernel.cpp,
	  kernel/CombinedKernel.cpp, kernel/CustomKernel.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/KernelMachine.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp, regression/KRR.cpp: - fix
	  another SG_REF / UNREF mismatch: the kernel get_lhs()/rhs()
	  functions need
	  to increment reference counts when returning a feature object,
	  use rhs/lhs
	  internally and otherwise make sure that SG_UNREF is called for
	  each SG_REF
	  (same for CDistance)
	  - add an assertion for get_features to not crash if no feature
	  object is available
	* guilib/GUIPluginEstimate.cpp: adjust for changes in
	  pluginestimate
	* classifier/LinearClassifier.h, classifier/PluginEstimate.cpp,
	  classifier/PluginEstimate.h, classifier/SparseLinearClassifier.h,
	  classifier/svm/MultiClassSVM.cpp, clustering/Hierarchical.cpp,
	  clustering/KMeans.cpp, clustering/KMeans.h,
	  distance/SparseEuclidianDistance.cpp,
	  kernel/HistogramWordKernel.cpp,
	  kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp,
	  regression/svr/LibSVR.cpp, regression/svr/SVR_light.cpp,
	  regression/svr/SVR_light.h: - fix several further memory leaks
	  - make (Simple)LocalityImproved kernel thread safe
	  - PluginEstimate is now derived from classifier (removed obsolete
	  test
	  function, make classifier framework compatible and adjust test
	  suite/examples)

2008-03-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: one further leak
	  (forgotten to free block weights on object destruction)
	* classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/LinearClassifier.i,
	  classifier/SparseLinearClassifier.h,
	  classifier/SparseLinearClassifier.i,
	  classifier/svm/LibLinear.cpp,
	  classifier/svm/LibSVMMultiClass.cpp, classifier/svm/MPDSVM.cpp,
	  classifier/svm/MultiClassSVM.i, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM.i,
	  classifier/svm/SVMLin.cpp, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/ssl.cpp, features/Labels.cpp,
	  features/SparseFeatures.h: fix several further memory leaks and a
	  stupid double free
	* classifier/svm/SVM.h, classifier/svm/SVM.i,
	  features/SimpleFeatures.h, features/SparseFeatures.h:
	  get_labels() returns a new object so mark it with %newobject
	* classifier/Classifier.h, classifier/LinearClassifier.h,
	  classifier/SparseLinearClassifier.h, distance/DistanceMachine.h,
	  kernel/Kernel.cpp, kernel/KernelMachine.h: in all set_ routines,
	  UNREF the old objects first before overwriting them, this should
	  fix another set of memory leaks like:
	  
	  gk=GaussianKernel(f1,f2,sigma)
	  ..
	  gk.init(f3,f4)
	  ..
	  gk.init(f5,f6)
	* classifier/KNN.cpp, classifier/LDA.cpp, classifier/LPBoost.cpp,
	  classifier/LPM.cpp, classifier/Perceptron.cpp,
	  classifier/SubGradientLPM.cpp, clustering/Hierarchical.cpp,
	  clustering/KMeans.cpp: this should fix another couple of leaks
	  for linear/sparselinear classifiers and
	  distancemachines
	* classifier/svm/SVMSGD.cpp: fix double free
	* classifier/LDA.cpp, classifier/LinearClassifier.cpp,
	  classifier/LinearClassifier.h, classifier/Perceptron.cpp,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h,
	  classifier/svm/LibLinear.cpp, classifier/svm/SVMLin.cpp,
	  classifier/svm/SVMOcas.cpp, classifier/svm/SVMSGD.cpp,
	  classifier/svm/SubGradientSVM.cpp, distance/DistanceMachine.cpp,
	  distance/DistanceMachine.h, interface/OctaveInterface.cpp: fix
	  missing SG_REF/UNREFs on many places: whenever possible use the
	  set_features/set_labels/set_kernel functions as they will take
	  care of
	  SG_REFfing things. UNREFfing is done in the baseclasses, like
	  DistanceMachine,KernelMachine,Classifier,
	  Linear/SparseLinearClassifier
	* configure, interface/MatlabInterface.cpp,
	  interface/OctaveInterface.cpp: - link octave w/ -lcruft (for
	  exception handling)
	  - get/set features at least for double matrices works

2008-03-27  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Went through all matlab examples, except those requiring CPLEX
	  and aborted
	  those taking longer than 5 minutes. Fixed some of the examples
	  and fixed the
	  new interface in the process.

2008-03-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/OctaveInterface.cpp, interface/OctaveInterface.h: get
	  octave interface to at least compile again
	* classifier/svm/GMNPSVM.cpp, classifier/svm/GNPPSVM.cpp,
	  classifier/svm/GPBTSVM.cpp, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVMMultiClass.cpp,
	  classifier/svm/LibSVMOneClass.cpp,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, regression/KRR.cpp,
	  regression/svr/LibSVR.cpp, regression/svr/SVR_light.cpp,
	  regression/svr/SVR_light.h: use kernel instead of get_kernel()
	  for all classes derived from CKernelMachine
	  to fix the 'get_kernel()' memory leak
	* features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/FKFeatures.cpp, features/IntFeatures.cpp,
	  features/RealFeatures.cpp, features/RealFileFeatures.cpp,
	  features/ShortFeatures.cpp, features/ShortRealFeatures.cpp,
	  features/SimpleFeatures.h, features/SparseFeatures.h: based on
	  yaroslavs patch fix the memoryleaks occuring on load and
	  set_(sparse)_feature_matrix
	* classifier/KNN.cpp, classifier/KernelPerceptron.cpp,
	  classifier/LDA.cpp, classifier/LPBoost.cpp, classifier/LPM.cpp,
	  classifier/Perceptron.cpp, classifier/SubGradientLPM.cpp,
	  classifier/svm/CPLEXSVM.cpp, classifier/svm/GMNPSVM.cpp,
	  classifier/svm/GNPPSVM.cpp, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/LibLinear.cpp, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVMMultiClass.cpp, classifier/svm/MPDSVM.cpp,
	  classifier/svm/MPDSVM.h, classifier/svm/MultiClassSVM.cpp,
	  classifier/svm/SVM.cpp, classifier/svm/SVMLin.cpp,
	  classifier/svm/SVMOcas.cpp, classifier/svm/SVMSGD.cpp,
	  classifier/svm/SVM_light.cpp, classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/WDSVMOcas.cpp, regression/KRR.cpp,
	  regression/svr/LibSVR.cpp, regression/svr/SVR_light.cpp: attempt
	  to fix the memory leaks for get_labels():
	  now we don't use get_labels in the classes derived from
	  CClassifier, but
	  just the protected member variable 'labels' directly

2008-03-26  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/SGInterface.cpp:
	  interface:
	  - Fixes, fixes, fixes!

2008-03-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/MatlabInterface.cpp: use mxGetPr instead of mxGetData
	  for sparse matrix

2008-03-26  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Getting closer...

2008-03-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h: use
	  nnz for SET_SPARSe

2008-03-26  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/SGInterface.cpp,
	  interface/SGInterface.h, lib/io.h: interface:
	  - Even more fixes, still not quite working
	  lib/io:
	  - Added macro NOTIMPLEMENTED

2008-03-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/MatlabInterface.cpp: another attempt to fix stringf
	* interface/MatlabInterface.cpp: bug fix in SET_STRINGLIST
	* features/StringFeatures.h: add get_featurs functions to string
	  features
	* features/IntFeatures.cpp, features/IntFeatures.i,
	  features/ShortRealFeatures.cpp, features/ShortRealFeatures.h,
	  features/ShortRealFeatures.i, features/SimpleFeatures.h,
	  features/SimpleFeatures.i, features/SparseFeatures.h,
	  lib/File.cpp, lib/File.h, lib/common.h: fix shortreal/int
	  features

2008-03-26  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/SGInterface.cpp:
	  interface:
	  - Some more tidbits

2008-03-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/IntFeatures.cpp, features/IntFeatures.h,
	  features/ShortRealFeatures.cpp, features/ShortRealFeatures.h,
	  kernel/GaussianKernel.cpp: add short/int features

2008-03-26  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - First stab at getting set_features to work.

2008-03-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/SGInterface.h: use macros for everthing in matlab
	  interface

2008-03-25  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.h, interface/SGInterfaceDataType.h,
	  interface/SGInterfaceMatrix.h, interface/SGInterfaceStringList.h,
	  interface/SGInterfaceVector.h: interface:
	  - Removed interface helper classes
	* interface/SGInterface.cpp: interface:
	  - Switch from InterfaceVector/Matrix/StringList back to old (but
	  improved)
	  functions get/set_<type>_vector/matrix/string_list

2008-03-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/SGInterface.h: use macros for interface
	* configure: fall back magic to -lutil and -ldl

2008-03-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/LibSVMOneClass.cpp: add missing model=NULL
	* classifier/svm/LibSVMMultiClass.cpp,
	  classifier/svm/LibSVMOneClass.cpp: fix leak also for
	  libsvmone/multi class

2008-03-20  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/WeightedDegreeStringKernel.cpp: kernel:
	  - Added patch from 2706+raetsch: fixed a bug in clean_kernel for
	  the WD kernel

2008-03-20  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* classifier/svm/LibSVM.cpp: included Alexander binders bugfix.

2008-03-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, lib/Mathematics.h: fix compilation if sqrtl is not
	  available (fall back to sqrt)

2008-03-19  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* classifier/svm/MultiClassSVM.cpp: included Alexander Binders
	  bugfix.

2008-03-17  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/SGInterface.cpp, interface/SGInterfaceMatrix.h,
	  interface/SGInterfaceStringList.h, interface/SGInterfaceVector.h:
	  interface:
	  - Removed most const stuff, as it seemed too much hassle
	  - Converted interface methods to use new
	  InterfaceVector/Matrix/StringList

2008-03-14  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h,
	  interface/SGInterfaceDataType.h, interface/SGInterfaceMatrix.h,
	  interface/SGInterfaceStringList.h, interface/SGInterfaceVector.h:
	  interface:
	  - Hopefully this approach sucks less in regard to code
	  duplication, templates
	  and polymorphism.

2008-03-10  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/io.cpp: fixed a minor issue in progress reporting.

2008-03-10  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/OctaveInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.h: interface:
	  - Fixed a couple of compilation issues
	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - A bit of cleanup, made sure that basic input/output still works

2008-03-10  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: clear the
	  cancel_computation flag before starting a new computation.
	  Otherwise, they are all canceled.

2008-03-07  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: features:
	  - Fixed typo in docstring
	  interface:
	  - Added remaining methods. set_features and the methods with
	  zillions of
	  parameters need discussion and coding, though. And naturally
	  nothing is
	  bound to work yet. :)

2008-03-06  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Even more methods
	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added more methods (best path)

2008-03-05  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added a few more methods
	  - Included previously forgotten implementation for F_WORD in
	  C_STRING in
	  get_features
	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Scrapped template stuff, seems to be too hard at the moment
	  - Added get/set functions for SHORT/WORD sparse/dense
	  vectors/matrices
	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added some more functions and made some preparations for
	  templating stuff

2008-03-05  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/CommWordStringKernel.cpp: removed debug output
	* kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h:
	  implemented a speedup for the kernel normalization.
	  This helps when you have many, long sequences with a relatively
	  low degree (<8).
	* kernel/Kernel.cpp, kernel/Kernel.h: added a function for allowing
	  the direct use of kernel_optimization from python

2008-03-04  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* features/StringFeatures.h: removed debug output
	* features/StringFeatures.h: *** empty log message ***
	* features/StringFeatures.h: fixed a logical bug, which appears
	  when having more than one
	  preprocessor.

2008-03-03  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interfaces:
	  - Added methods to get/set char vectors/matrices as need by
	  CSGInterface::a_get_WD_consensus
	* kernel/WeightedDegreePositionStringKernel.cpp: kernel:
	  - Compile fix for WeightedDegreePositionString kernel
	* interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added some more interface methods.

2008-02-29  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionStringKernel.i: One typemap still
	  has a problem (get_POIM2).
	* kernel/WeightedDegreePositionStringKernel.cpp:
	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h: initial version of a
	  swiggable POIM interface.

2008-02-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.i: draft: split up poim
	  computation
	* kernel/Kernel.h: add set cache size option

2008-02-29  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Added about 1/3 of interface methods in gui/Matlab.cpp to
	  interface/SGInterface.cpp
	  - Introduced a second counter for arguments (now: in and out)
	  - Made set functions to take a const as first argument

2008-02-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: assume the python libraries are in the standard
	  library paths (should fix a
	  compile failure on opensuse) - not clear if it breaks compilation
	  on OSX etc

2008-02-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_light.cpp, features/Labels.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/KernelMachine.cpp:
	  this should fix a few more memoryleaks reported by Yaroslav
	  including the one for svmlight (kernel cache not being cleaned
	  up)

2008-02-28  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/SGInterface.cpp:
	  interface:
	  - All get/set functions should now be implemented and working in
	  MatlabInterface

2008-02-27  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/SGInterface.cpp:
	  interface:
	  - Implemented most set functions for Matlab (sparse not working
	  correctly,
	  though)

2008-02-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/GNPPSVM.cpp: fix leak, by deleting history...

2008-02-27  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - Replaced get_current_argument by get_arg_increment and
	  implemented
	  set_arg_increment for the interfaces
	  - Added usage of jump list for accessing Shogun methods in a loop
	  instead of
	  endless case switches.

2008-02-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/GPBTSVM.cpp, classifier/svm/LibSVM.cpp: fix
	  another delete / free mismatch and another leak (in libsvm)
	* features/SimpleFeatures.h, lib/python_typemaps.i: as we own the
	  features we should erase them whenever they are set, and of
	  course also on exit
	* features/SimpleFeatures.h, lib/python_typemaps.i: fix delete[] /
	  free mismatch
	* interface/MatlabInterface.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: fix compile error with python-modular
	  interface
	* classifier/svm/GPBTSVM.cpp: this should fix the kernel cache
	  memeory leak with gpdtsvm

2008-02-26  Sebastian Henschel <shogun@kodeaffe.de>

	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/PythonInterface.cpp,
	  interface/RInterface.cpp, interface/SGInterface.cpp,
	  interface/SGInterface.h: interface:
	  - Implemented a first set function in MatlabInterface and a test
	  function for
	  it in SGInterface
	* interface/MatlabInterface.cpp, interface/MatlabInterface.h,
	  interface/OctaveInterface.cpp, interface/OctaveInterface.h,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp, interface/SGInterface.h: interface:
	  - switched get functions to call by reference
	  - implemented get functions in MatlabInterface (dunno if it
	  works, though)

2008-02-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Python.cpp, interface/OctaveInterface.cpp,
	  interface/PythonInterface.cpp, interface/PythonInterface.h,
	  interface/RInterface.cpp, lib/io.cpp: - Implement python
	  interface
	  - Now always throw shogun exceptions on SG_ERROR. These
	  exceptions are catched if
	  thrown by the global interface handle(), catch for octave and R,
	  python for
	  now. We might want to do the same with matlab etc.
	* gui/R.cpp, interface/RInterface.cpp, interface/RInterface.h,
	  interface/SGInterface.cpp: add basic R interface functionality
	  (currently breaks everything except send_command), switch R
	  interface to use .External method
	  
	  to test, use:
	  
	  ./configure --interface=R
	  make
	  
	  R
	  
	  dyn.load('sg.so')
	  sg <- function(...) .External("sg", ...)
	  sg('send_command','help')
	* gui/Octave.cpp, interface/MatlabInterface.cpp,
	  interface/MatlabInterface.h, interface/OctaveInterface.cpp,
	  interface/OctaveInterface.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: - remove get_int_from_string from all
	  interfaces and do this directly in SGInterface (using get_string)
	  - increment arg_counter on retrieval of values in matlab
	  interface
	  - add octave interface functions:
	  NOTE THAT THIS FOR NOW BREAKS THE WHOLE OCTAVE INTERFACE

2008-02-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* interface/MatlabInterface.cpp: more interface functions to deal
	  with int/float/ etc
	* gui/Matlab.cpp, interface/MatlabInterface.cpp,
	  interface/MatlabInterface.h, interface/SGInterface.cpp,
	  interface/SGInterface.h: - generic interface extended
	  - minimal matlab interface based on generic interface, with fall
	  back on old guiinterface
	* interface, interface/SGInterface.h: general interface
	* features/SparseFeatures.h: allow to increase number of dimensions
	  in sparse features

2008-02-21  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/PerformanceMeasures.cpp: evaluation:
	  - Fixed balanced error in PerformanceMeasures

2008-02-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, features/SparseFeatures.h: - fix
	  stupid bug in sparse features & svmlight file loading
	  - fix memory leak in ocas

2008-02-20  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h,
	  evaluation/PerformanceMeasures.i: evaluation:
	  - PerformanceMeasures improved: no alignment to ROC/PRC of
	  accuracy/F-measure,
	  2 dimensional arrays with sorted outputs + measure instead (see
	  get_all_*);
	  code-efficient usage of compute_confusion_matrix; no exception
	  handling hack in
	  constructor

2008-02-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/SparseFeatures.h: add example on how to read svm light
	  format
	  fix crasher when writing and labels are None

2008-02-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.h: really fix building...
	* guilib/GUIMatlab.cpp, structure/DynProg.h: compile & style fixes
	  for dynprog & matlab
	* structure/DynProg.cpp, structure/DynProg.h: reorder definition
	  and add m prefix to member variable
	* AUTHORS, Makefile, NEWS, kernel/PyramidChi2.cpp,
	  kernel/PyramidChi2.h: - remove svmlight tests when svmlight is
	  disabled
	  - prepare for 0.5.1
	  - replace ShogunException by SG_ERROR
	  - include sebastian in AUTHORS

2008-02-19  Jonas Behr <Jonas.Behr@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp, structure/DynProg.h:
	  precompute content svm values; preliminary modifications; not
	  functionalmake -j 5!

2008-02-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/pr_loqo.cpp, configure,
	  evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h: - fix warning in pr_loqo
	  - make configure work with newer atlas/blas/lapack
	  - several performance measure fixes

2008-02-18  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/Evaluation.i, evaluation/PerformanceMeasures.i:
	  evaluation:
	  - Updated swig-related documation
	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h: evaluation:
	  - Added get_error0() to PerformanceMeasures
	  - Added a few more explicit typecasts to DREAL for various
	  calculations
	* .doxy2swig.py: documentation:
	  - Improved doxy2swig when handling documented exceptions
	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h: evaluation:
	  - Various cleanups and docstring updates in PerformanceMeasures

2008-02-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/SparseFeatures.h: fix documentation when writing
	  features in svm light format..
	* evaluation/PerformanceMeasures.cpp, features/SparseFeatures.h:
	  implement efficient (and hacky) reading of svm light format (>
	  twice as fast as
	  svmperf2.5) and fix minor warning in perfmeasures

2008-02-16  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h: evaluation:
	  - Added DET to PerformanceMeasures

2008-02-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/PyramidChi2.cpp, kernel/PyramidChi2.h: cleanups

2008-02-15  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h: evaluation:
	  - Added CC, WRacc and balance to PerformanceMeasures
	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h: evaluation:
	  - Added PRC + F-measure to PerformanceMeasures

2008-02-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: ignore error when trying to version Doxyfile

2008-02-13  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h,
	  evaluation/PerformanceMeasures.i: evaluation:
	  - Added auROC, aoROC and accuracy + error aligned to ROC to
	  PerformanceMeasures
	  - Updated example accordingly

2008-02-12  Alexander Binder <alexander.binder@first.fraunhofer.de>

	* kernel/PyramidChi2.cpp, kernel/PyramidChi2.h,
	  kernel/PyramidChi2.i, lib/common.h: 1)added EKernel_Type
	  K_PYRAMIDCHI2 in common.h
	  2) added PyramidChi2.{h,cpp} as a pyramid kernel over Chi2
	  Kernels in a version which is adapted to shogun

2008-02-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: enable building when doxygen is not installed

2008-02-08  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h: evaluation:
	  - Added example for peformance measures ROC, including plotting.
	  Does not work
	  nicely, though.

2008-02-06  Sebastian Henschel <shogun@kodeaffe.de>

	* evaluation/Evaluation.i, evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h,
	  evaluation/PerformanceMeasures.i: evaluation:
	  - PerformanceMeasures: first stab at ROC
	* lib/Mathematics.h: lib/Mathematics:
	  - CMath::sign is properly templated now.

2008-02-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/MultiClassSVM.h: fix the > 0 thanks yaroslav

2008-02-05  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/SVMSGD.h, evaluation/PerformanceMeasures.h,
	  lib/Mathematics.h: documentation:
	  - Added 2 docstrings
	  lib/Mathematics:
	  - Fixed a compiler warning about 'comparison always true' when
	  template type
	  is something unsigned.
	* .doxy2swig.py, Makefile: documentation:
	  - Added an option --quiet to doxy2swig and applied the option to
	  the Makefile
	  to quieten doxy2swig's output during compilation when everything
	  is ok.
	* lib/Array.h, lib/Array2.h, lib/Array3.h, lib/Cache.h,
	  lib/DynamicArray.h, lib/Library.doxy, lib/List.h,
	  lib/Mathematics.h, lib/ShogunException.h, lib/Signal.h,
	  lib/SimpleFile.h, lib/Time.h, lib/Trie.h, lib/io.h, lib/lapack.h:
	  documentation:
	  - Added docstrings to items in lib/ which got somehow forgotten
	  before the
	  release.
	  lib/Trie:
	  - Renamed one method mistakenly named set_weights_in_tree() to
	  get_weights_in_tree()
	* .generate_link_dependencies.py, evaluation,
	  evaluation/Evaluation.doxy, evaluation/Evaluation.i,
	  evaluation/PerformanceMeasures.cpp,
	  evaluation/PerformanceMeasures.h,
	  evaluation/PerformanceMeasures.i: evaluation:
	  - Added new section 'evaluation' which includes a stub for its
	  first member:
	  PerformanceMeasures

2008-02-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.h, classifier/svm/SVMSGD.h,
	  guilib/GUIClassifier.cpp, lib/common.h: also allow for bias being
	  disabled in ocas/sgd; add matlab test code, seems to
	  work, sgd and ocas deliver very similar objectives when run for
	  many
	  iterations/low epsilon.
	* classifier/SparseLinearClassifier.i, classifier/svm/SVMSGD.cpp,
	  classifier/svm/SVMSGD.h, guilib/GUIClassifier.cpp,
	  lib/Mathematics.h: add tests and examples for SGD

2008-02-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* CONTRIBUTIONS: add leon
	* classifier/svm/SVMSGD.cpp, classifier/svm/SVMSGD.h,
	  classifier/svm/SVMSGD.i, classifier/svm/WDSVMOcas.cpp,
	  features/SparseFeatures.h, lib/Mathematics.h: add SGD and extend
	  mathmatics/sparse features with a number of helpers
	* Makefile: set PYTHONPATH and PYTHON on make tests, for this
	  test_all.sh was modified to
	  execute $PYTHON

2008-02-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog: Preparing for new Release shogun_0.5.0
	* lib/io.cpp, lib/io.h: Apply patch from Yaroslav Halchenko to
	  inherit show_progress
	* distributions/hmm/HMM.cpp, features/SimpleFeatures.h: fix crasher
	  when feature ``matrix'' is not existent, copy HMM model
	  parameters in CHMM(CHMM* h)
	* gui/Octave.cpp: built shogun for all interfaces, fixed minor
	  warning for octave

2008-02-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/FKFeatures.cpp, features/TOPFeatures.cpp,
	  lib/DynamicArray.h, lib/Mathematics.h: - INCREF HMM models when
	  inserted into TOP/FK Features.
	  - limit linesearch for prior to 1e-6 ... 1-1e-6
	  - Fix warning in dynamic array
	  - random initialization of random number generator
	* Makefile, distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  lib/Mathematics.h: hopefully fix HMM derivative enumeration and
	  automagically fill in version number in Doxyfile

2008-02-01  Sebastian Henschel <shogun@kodeaffe.de>

	* distributions/hmm/HMM.cpp: distribution:
	  - Previous SG_UNREFing was too aggressive...
	* distributions/hmm/HMM.cpp: distribution:
	  - Hopefully fixed some issues with refcounting

2008-02-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/FKFeatures.cpp, features/TOPFeatures.h: add assertions
	  in FKFeatures too and minor docu fix for TOP Features
	* base/Documentation.mainpage: use some more fancy verbatim
	  formatting
	* CONTRIBUTIONS, base/Documentation.mainpage: update contributions,
	  and add some user documentation
	* Makefile: add a make doc target

2008-01-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/TOPFeatures.cpp, kernel/PolyKernel.cpp,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchWordKernel.cpp,
	  kernel/SparsePolyKernel.cpp: argh, really fix warnings (and fix
	  cleverly introduced build errors)

2008-01-31  Sebastian Henschel <shogun@kodeaffe.de>

	* features/TOPFeatures.h: testsuite:
	  - Added testcase generation for TOP/FKFeatures in kernel Linear.
	  This reverts
	  the previous assumption that each kernel can only work on one
	  specific
	  feature type and hence the testsuite has to be reworked in that
	  regard.

2008-01-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/TOPFeatures.cpp, kernel/LinearKernel.cpp,
	  kernel/PolyKernel.cpp, kernel/PolyMatchStringKernel.cpp,
	  kernel/PolyMatchWordKernel.cpp, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: fix many warnings and add
	  assertions for TOP features
	* .authors, NEWS, classifier/svm/SVM_linear.cpp,
	  classifier/svm/Tron.cpp, features/TOPFeatures.h: update NEWS,
	  authors, liblinear to 1.22
	* kernel/SalzbergWordKernel.cpp: remove ;

2008-01-30  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/AUCKernel.h, kernel/Chi2Kernel.h, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.h, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.h, kernel/CustomKernel.h, kernel/DiagKernel.h,
	  kernel/DistanceKernel.h, kernel/FixedDegreeStringKernel.h,
	  kernel/GaussianKernel.h, kernel/GaussianShiftKernel.h,
	  kernel/HistogramWordKernel.h, kernel/Kernel.doxy,
	  kernel/Kernel.h, kernel/KernelMachine.h,
	  kernel/LinearByteKernel.h, kernel/LinearKernel.h,
	  kernel/LinearStringKernel.h, kernel/LinearWordKernel.h,
	  kernel/LocalAlignmentStringKernel.h,
	  kernel/LocalityImprovedStringKernel.h, kernel/PolyKernel.h,
	  kernel/PolyMatchStringKernel.h, kernel/PolyMatchWordKernel.h,
	  kernel/SalzbergWordKernel.h, kernel/SigmoidKernel.h,
	  kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedStringKernel.h,
	  kernel/SparseGaussianKernel.h, kernel/SparseKernel.h,
	  kernel/SparseLinearKernel.h, kernel/SparsePolyKernel.h,
	  kernel/StringKernel.h, kernel/WeightedCommWordStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.h, kernel/WordMatchKernel.h:
	  documentation:
	  - Added docstrings to anything touched by doxygen in kernel/

2008-01-30  Alexander Binder <alexander.binder@first.fraunhofer.de>

	* kernel/Chi2Kernel.cpp: in Chi2Kernel::compute() checking for d!=0
	  before dividing by d, note: the case d==0 is common for using
	  this kernel with sparse histograms

2008-01-29  Sebastian Henschel <shogun@kodeaffe.de>

	* preproc/LogPlusOne.h, preproc/NormDerivativeLem3.h,
	  preproc/NormOne.h, preproc/PCACut.h, preproc/PreProc.doxy,
	  preproc/PreProc.h, preproc/PruneVarSubMean.h,
	  preproc/SimplePreProc.h, preproc/SortUlongString.h,
	  preproc/SortWord.h, preproc/SortWordString.h,
	  preproc/SparsePreProc.h, preproc/StringPreProc.h: documentation:
	  - Added docstrings to anything touched by doxygen in preproc/

2008-01-28  Sebastian Henschel <shogun@kodeaffe.de>

	* regression/KRR.h, regression/Regression.doxy,
	  regression/svr/LibSVR.h, regression/svr/SVR_light.h:
	  documentation:
	  - Added docstrings to anything touched by doxygen in regression/
	* structure/DynProg.h, structure/Plif.h, structure/PlifArray.h,
	  structure/PlifBase.h, structure/Structure.doxy: documentation:
	  - Added docstrings to anything touched by doxygen in structure/
	* features/Alphabet.h, features/ByteFeatures.h,
	  features/CharFeatures.h, features/CombinedFeatures.h,
	  features/FKFeatures.h, features/Features.doxy,
	  features/Features.h, features/Labels.h, features/RealFeatures.h,
	  features/RealFileFeatures.h, features/ShortFeatures.h,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/StringFeatures.h, features/TOPFeatures.h,
	  features/WordFeatures.h: documentation:
	  - Added docstrings to anything touched by doxygen in features/

2008-01-27  Sebastian Henschel <shogun@kodeaffe.de>

	* distributions/Distribution.doxy, distributions/Distribution.h,
	  distributions/histogram/Histogram.h, distributions/hmm/GHMM.h,
	  distributions/hmm/HMM.h, distributions/hmm/LinearHMM.h:
	  documentation:
	  - Added docstrings to anything touched by doxygen in
	  distribution/
	* distance/CanberraMetric.h, distance/CanberraWordDistance.h,
	  distance/ChebyshewMetric.h, distance/Distance.doxy,
	  distance/Distance.h, distance/DistanceMachine.h,
	  distance/EuclidianDistance.h, distance/GeodesicMetric.h,
	  distance/HammingWordDistance.h, distance/JensenMetric.h,
	  distance/ManhattanMetric.h, distance/ManhattanWordDistance.h,
	  distance/MinkowskiMetric.h, distance/RealDistance.h,
	  distance/SimpleDistance.h, distance/SparseDistance.h,
	  distance/SparseEuclidianDistance.h, distance/StringDistance.h:
	  documentation:
	  - Added docstrings to anything touched by doxygen in distance/
	* clustering/Clustering.doxy, clustering/Hierarchical.h,
	  clustering/KMeans.h: documentation:
	  Added docstrings to anything touched by doxygen in clustering/

2008-01-25  Sebastian Henschel <shogun@kodeaffe.de>

	* .doxy2swig.py: documentation
	  - Fix for doxy2swig's handling of the tag parametername when it
	  has got a
	  child tag
	* classifier/Classifier.doxy, classifier/Classifier.h,
	  classifier/KNN.h, classifier/KernelPerceptron.h,
	  classifier/LDA.h, classifier/LinearClassifier.h,
	  classifier/Perceptron.h, classifier/PluginEstimate.h,
	  classifier/SparseLinearClassifier.h, classifier/svm/GMNPSVM.h,
	  classifier/svm/GNPPSVM.h, classifier/svm/GPBTSVM.h,
	  classifier/svm/LibLinear.h, classifier/svm/LibSVM.h,
	  classifier/svm/LibSVMMultiClass.h,
	  classifier/svm/LibSVMOneClass.h, classifier/svm/MPDSVM.h,
	  classifier/svm/MultiClassSVM.h, classifier/svm/Optimizer.h,
	  classifier/svm/SVM.h, classifier/svm/SVMLin.h,
	  classifier/svm/SVMOcas.h, classifier/svm/SVM_libsvm.h,
	  classifier/svm/SVM_light.h, classifier/svm/SVM_linear.h,
	  classifier/svm/SubGradientSVM.h, classifier/svm/Tron.h,
	  classifier/svm/WDSVMOcas.h, classifier/svm/gmnplib.h,
	  classifier/svm/gnpplib.h, classifier/svm/gpdt.h,
	  classifier/svm/gpdtsolve.h, classifier/svm/libocas.h,
	  classifier/svm/qpbsvmlib.h, classifier/svm/ssl.h: documentation
	  - Added docstrings to anything touched by doxygen in classifer/

2008-01-24  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/SVM.h, distributions/hmm/HMM.h,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/StringFeatures.h, kernel/CombinedKernel.h,
	  kernel/Kernel.h, lib/File.h, lib/List.h, structure/DynProg.h:
	  documentation:
	  - Added many docstrings to quieten doxygen, more to come.

2008-01-23  Sebastian Henschel <shogun@kodeaffe.de>

	* lib/io.h: lib:
	  - Enabled proper handling of {en,dis}able_progress from within
	  static
	  functions (hopefully)

2008-01-23  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* base/Version.h: fixed typo.

2008-01-23  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/KNN.cpp: classifier:
	  - KNN now uses SG_PROGESS instead of SG_PRINT
	* LICENSE, NEWS, README, base/Parallel.cpp, base/Parallel.h,
	  base/SGObject.h, base/Version.cpp, base/Version.h,
	  classifier/Classifier.cpp, classifier/Classifier.h,
	  classifier/KNN.cpp, classifier/KNN.h,
	  classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/LDA.cpp, classifier/LDA.h, classifier/LPBoost.cpp,
	  classifier/LPBoost.h, classifier/LPM.cpp, classifier/LPM.h,
	  classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/Perceptron.cpp, classifier/Perceptron.h,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h,
	  classifier/SubGradientLPM.cpp, classifier/SubGradientLPM.h,
	  classifier/svm/CPLEXSVM.cpp, classifier/svm/CPLEXSVM.h,
	  classifier/svm/GMNPSVM.cpp, classifier/svm/GMNPSVM.h,
	  classifier/svm/GNPPSVM.cpp, classifier/svm/GNPPSVM.h,
	  classifier/svm/GPBTSVM.cpp, classifier/svm/GPBTSVM.h,
	  classifier/svm/LibLinear.cpp, classifier/svm/LibLinear.h,
	  classifier/svm/LibSVM.cpp, classifier/svm/LibSVM.h,
	  classifier/svm/LibSVMMultiClass.cpp,
	  classifier/svm/LibSVMMultiClass.h,
	  classifier/svm/LibSVMOneClass.cpp,
	  classifier/svm/LibSVMOneClass.h, classifier/svm/MPDSVM.cpp,
	  classifier/svm/MPDSVM.h, classifier/svm/MultiClassSVM.cpp,
	  classifier/svm/MultiClassSVM.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVMLin.cpp,
	  classifier/svm/SVMLin.h, classifier/svm/SVMOcas.cpp,
	  classifier/svm/SVMOcas.h, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_libsvm.h, classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/WDSVMOcas.cpp,
	  classifier/svm/WDSVMOcas.h, classifier/svm/gmnplib.cpp,
	  classifier/svm/gmnplib.h, classifier/svm/gnpplib.cpp,
	  classifier/svm/gnpplib.h, classifier/svm/gpdt.cpp,
	  classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/gpdtsolve.h, classifier/svm/gpm.cpp,
	  classifier/svm/gpm.h, classifier/svm/libocas.cpp,
	  classifier/svm/libocas.h, classifier/svm/pr_loqo.cpp,
	  classifier/svm/pr_loqo.h, classifier/svm/qpbsvmlib.cpp,
	  classifier/svm/qpbsvmlib.h, classifier/svm/qpssvmlib.cpp,
	  classifier/svm/qpssvmlib.h, clustering/Hierarchical.cpp,
	  clustering/Hierarchical.h, clustering/KMeans.cpp,
	  clustering/KMeans.h, configure, distance/CanberraMetric.cpp,
	  distance/CanberraMetric.h, distance/CanberraWordDistance.cpp,
	  distance/CanberraWordDistance.h, distance/ChebyshewMetric.cpp,
	  distance/ChebyshewMetric.h, distance/Distance.cpp,
	  distance/Distance.h, distance/DistanceMachine.cpp,
	  distance/DistanceMachine.h, distance/EuclidianDistance.cpp,
	  distance/EuclidianDistance.h, distance/GeodesicMetric.cpp,
	  distance/GeodesicMetric.h, distance/HammingWordDistance.cpp,
	  distance/HammingWordDistance.h, distance/JensenMetric.cpp,
	  distance/JensenMetric.h, distance/ManhattanMetric.cpp,
	  distance/ManhattanMetric.h, distance/ManhattanWordDistance.cpp,
	  distance/ManhattanWordDistance.h, distance/MinkowskiMetric.cpp,
	  distance/MinkowskiMetric.h, distance/RealDistance.h,
	  distance/SimpleDistance.h, distance/SparseDistance.h,
	  distance/SparseEuclidianDistance.cpp,
	  distance/SparseEuclidianDistance.h, distance/StringDistance.h,
	  distributions/Distribution.cpp, distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h, distributions/hmm/GHMM.cpp,
	  distributions/hmm/GHMM.h, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/LinearHMM.cpp,
	  distributions/hmm/LinearHMM.h, features/Alphabet.cpp,
	  features/Alphabet.h, features/ByteFeatures.cpp,
	  features/ByteFeatures.h, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CombinedFeatures.cpp,
	  features/CombinedFeatures.h, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/Features.cpp,
	  features/Features.h, features/Labels.cpp, features/Labels.h,
	  features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  features/RealFeatures.cpp, features/RealFeatures.h,
	  features/RealFileFeatures.cpp, features/RealFileFeatures.h,
	  features/ShortFeatures.cpp, features/ShortFeatures.h,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/StringFeatures.cpp, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/TOPFeatures.h,
	  features/WordFeatures.cpp, features/WordFeatures.h, gui/GUI.cpp,
	  gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp,
	  gui/Python.h, gui/R.cpp, gui/TextGUI.cpp, gui/TextGUI.h,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUICommands.h, guilib/GUIDistance.cpp,
	  guilib/GUIDistance.h, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  guilib/GUIKNN.cpp, guilib/GUIKNN.h, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, guilib/GUILabels.cpp, guilib/GUILabels.h,
	  guilib/GUIMath.cpp, guilib/GUIMath.h, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, guilib/GUIOctave.cpp, guilib/GUIOctave.h,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, guilib/GUIR.cpp, guilib/GUIR.h,
	  guilib/GUITime.cpp, guilib/GUITime.h, kernel/AUCKernel.cpp,
	  kernel/AUCKernel.h, kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.cpp, kernel/ConstKernel.h,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/DiagKernel.cpp, kernel/DiagKernel.h,
	  kernel/DistanceKernel.cpp, kernel/DistanceKernel.h,
	  kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h, kernel/GaussianShiftKernel.cpp,
	  kernel/GaussianShiftKernel.h, kernel/HistogramWordKernel.cpp,
	  kernel/HistogramWordKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/KernelMachine.cpp, kernel/KernelMachine.h,
	  kernel/LinearByteKernel.cpp, kernel/LinearByteKernel.h,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/LinearStringKernel.cpp, kernel/LinearStringKernel.h,
	  kernel/LinearWordKernel.cpp, kernel/LinearWordKernel.h,
	  kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalAlignmentStringKernel.h,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchStringKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/StringKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h, kernel/WordMatchKernel.cpp,
	  kernel/WordMatchKernel.h, lib/Array.h, lib/Array2.h,
	  lib/Array3.h, lib/Cache.h, lib/Cplex.cpp, lib/Cplex.h,
	  lib/DynamicArray.h, lib/File.cpp, lib/File.h, lib/List.h,
	  lib/Mathematics.cpp, lib/Mathematics.h, lib/Signal.cpp,
	  lib/Signal.h, lib/SimpleFile.h, lib/Time.cpp, lib/Time.h,
	  lib/Trie.h, lib/common.h, lib/io.cpp, lib/io.h, lib/lapack.cpp,
	  lib/lapack.h, preproc/LogPlusOne.cpp, preproc/LogPlusOne.h,
	  preproc/NormDerivativeLem3.cpp, preproc/NormDerivativeLem3.h,
	  preproc/NormOne.cpp, preproc/NormOne.h, preproc/PCACut.cpp,
	  preproc/PCACut.h, preproc/PreProc.cpp, preproc/PreProc.h,
	  preproc/PruneVarSubMean.cpp, preproc/PruneVarSubMean.h,
	  preproc/SimplePreProc.h, preproc/SortUlongString.cpp,
	  preproc/SortUlongString.h, preproc/SortWord.cpp,
	  preproc/SortWord.h, preproc/SortWordString.cpp,
	  preproc/SortWordString.h, preproc/SparsePreProc.h,
	  preproc/StringPreProc.h, regression/KRR.cpp, regression/KRR.h,
	  regression/svr/LibSVR.cpp, regression/svr/LibSVR.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h,
	  structure/DynProg.cpp, structure/DynProg.h, structure/Plif.cpp,
	  structure/Plif.h, structure/PlifArray.cpp, structure/PlifArray.h,
	  structure/PlifBase.h: The big license switch to GPL v3 and
	  copyright switch to 2008

2008-01-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/io.cpp, lib/io.h: fix inverted meaning
	* lib/io.cpp, lib/io.h: disable -> show_progress
	* classifier/svm/MultiClassSVM.h, lib/io.cpp, lib/io.h: option to
	  disable progress and to get number of svms for multiclass svm

2008-01-22  Sebastian Henschel <shogun@kodeaffe.de>

	* .scrub_docstrings.py, Makefile: documentation:
	  - Include a script to scrub the autogenerated python
	  documentation, i.e.
	  replacing DREAL by float, in the make process

2008-01-21  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/Classifier.i, classifier/LinearClassifier.i,
	  classifier/SparseLinearClassifier.i, classifier/svm/SVM.i,
	  clustering/Clustering.i, clustering/Hierarchical.i,
	  clustering/KMeans.i, distance/Distance.i,
	  distributions/Distribution.i,
	  distributions/histogram/Histogram.i,
	  distributions/hmm/LinearHMM.i, features/Alphabet.i,
	  features/Features.i, features/Labels.i, features/RealFeatures.i,
	  features/ShortFeatures.i, features/StringFeatures.i,
	  features/WordFeatures.i, kernel/Kernel.i, lib/Library.i,
	  preproc/PreProc.i, regression/Regression.i, structure/DynProg.i:
	  documentation:
	  - Use swig feature "autodoc" "0" to prevent occurrence of types
	  in function
	  arguments
	  - Use swig feature "autodoc" "docstring" to have correct doc for
	  typemapped
	  functions
	* Makefile: documentation:
	  - Adjusted Makefile to use doxy2swig with option
	  --no-function-definition
	* .doxy2swig.py: documentation:
	  - Bugfix for new option include_function_definition
	* .doxy2swig.py: documentation:
	  - Updated doxy2swig.py from
	  http://www.aero.iitb.ac.in/~prabhu/software/code/python/

2008-01-17  Sebastian Henschel <shogun@kodeaffe.de>

	* distributions/hmm/HMM.cpp, distributions/hmm/HMM.h:
	  distribution/HMM:
	  - Added some (commented) print statements for debugging
	  - Got rid of compiler warning due to call of parent class'
	  constructor at the
	  wrong place

2008-01-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distributions/hmm/HMM.cpp: call constructor

2008-01-13  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp, structure/DynProg.h:
	  changes for alt_splice mSplicer

2008-01-12  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp: minor changes in argument processing

2008-01-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.h, distance/Distance.cpp, kernel/Kernel.cpp:
	  fix valgrind delete[] delete free mismatches triggered by
	  python-modular testsuite

2008-01-11  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h: kernel:
	  - Converted tries of WeightedDegreeStringKernel to use dynamic
	  memory
	  allocation
	  - WeighteddegreeStringKernel::set_max_mismatch() calls ::init()
	  when
	  appropriate
	* distributions/hmm/HMM.cpp: distribution/testsuite:
	  - Some more tweaking of HMM, still unfinished

2008-01-10  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/Kernel.cpp: kernel:
	  - Fixed a little issue with memory created with new (now malloc)
	  when being
	  free'd (from the outside)
	* kernel/HistogramWordKernel.cpp, kernel/SalzbergWordKernel.cpp:
	  kernel:
	  - Fixed memory/NaN issue with in test matrices in
	  {Salzberg,Histogram}WordKernel

2008-01-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/libocas.cpp, lib/Mathematics.cpp,
	  lib/Mathematics.h: * fix crasher on clear sg :
	  
	  for some reason matlab newer shogun version reliably crashed on
	  <do things with sg> ; clear sg ; sg ... fix the potentially stack
	  overflow by
	  dynamically allocating memory for the random number generator.
	  
	  * fix warning in ocas

2008-01-09  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/PluginEstimate.h, features/StringFeatures.h,
	  kernel/HistogramWordKernel.cpp, kernel/HistogramWordKernel.h,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h:
	  classifier/kernel:
	  - Modified {Salzberg, Histogram}Word to use StringFeatures<WORD>
	  and bugfixed
	  them a little, so that Shogun does not crash anymore.
	  - Constructor of PluginEstimate now uses default values for
	  pseudos (as taken
	  from Distribution's constructor)
	  - Both kernels spit out nans and wierd test kernel matrices.
	  Apparently, they
	  need more fixing
	  testsuite/examples:
	  - Integrated {Salzberg, Histogram}Word

2008-01-08  Sebastian Henschel <shogun@kodeaffe.de>

	* distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  guilib/GUIHMM.cpp, guilib/GUIHMM.h: distribution:
	  - Some more bits for a better HMM, unfortunately still incomplete
	  due to yet
	  another road block (see mailing-list).

2008-01-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, guilib/GUIMatlab.cpp: - fix crash
	  in figuring out alphabet
	  - allow order 8 for wdocas
	* classifier/svm/WDSVMOcas.cpp: fix compile error in python-modular
	  interface
	* classifier/svm/libocas.cpp: update of libocas, fixes bug in
	  linesearch

2008-01-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h,
	  classifier/svm/libocas.cpp: parallelize WDOcas
	* classifier/svm/libocas.cpp: fix rarely occuring bug in libocas
	  (vf)

2008-01-05  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/SubGradientSVM.cpp: classifier:
	  - Silenced SubGradientSVM

2008-01-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: hopefully fix dependency building with gcc -MM -MT ...

2008-01-05  Sebastian Henschel <shogun@kodeaffe.de>

	* distributions/Distribution.cpp, distributions/Distribution.h,
	  distributions/Distribution.i: distribution/examples:
	  - Modified Distribution::get_log_likelihood to be wrappable by
	  swig
	  - Added this method to the examples for Distribution

2008-01-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distributions/hmm/LinearHMM.cpp, features/StringFeatures.h: * fix
	  warning in linear hmm (cast num_symbols to int)
	  * fix loading of strings when lines are longer than 1MB
	  * add progress bar for linecounting and loading

2008-01-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, classifier/svm/WDSVMOcas.cpp, configure,
	  features/Alphabet.cpp, features/StringFeatures.h,
	  guilib/GUIMatlab.cpp, lib/Mathematics.cpp, lib/common.h: add
	  read_dna_file function to directly read in strings without having
	  to transfer them from matlab or so
	  
	  example:
	  sg('set_features', 'TRAIN', 'dat.fa', 'DNABINFILE');

2008-01-04  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/PluginEstimate.h,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  distributions/hmm/LinearHMM.i: distribution:
	  - LinearHMM: Renamed hist to transition_probs
	  - Histogram: Moved get/set_histogram into .cpp
	  
	  classifier/testsuite/examples:
	  - Adjusted to changes above
	* clustering/Hierarchical.h: testsuite:
	  - Jury-rigged random initialisation in clustering to produce
	  constant values,
	  helped by yesterday's new init_random() in Mathematics
	  clustering:
	  - Fixed Hierarchical::get_merge_distance() and ::get_pairs()
	  wrapped for swig
	  similarly to yesterday's fix of KMeans::get_radi() and
	  ::get_centers()

2008-01-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* clustering/KMeans.h, distributions/Distribution.cpp,
	  distributions/histogram/Histogram.h,
	  distributions/hmm/LinearHMM.cpp, lib/Cache.h,
	  lib/Mathematics.cpp, lib/Mathematics.h: several fixes and
	  enhancements caused by todays kodeaffe-questioning

2008-01-02  Sebastian Henschel <shogun@kodeaffe.de>

	* features/RealFileFeatures.cpp, preproc/LogPlusOne.cpp,
	  preproc/LogPlusOne.h, preproc/NormDerivativeLem3.cpp,
	  preproc/NormDerivativeLem3.h, preproc/NormOne.cpp,
	  preproc/NormOne.h, preproc/PCACut.cpp, preproc/PCACut.h,
	  preproc/PreProc.i, preproc/PruneVarSubMean.cpp,
	  preproc/PruneVarSubMean.h, preproc/RealPreProc.h,
	  preproc/RealPreProc.i, preproc/ShortPreProc.cpp,
	  preproc/ShortPreProc.h, preproc/ShortPreProc.i,
	  preproc/SimplePreProc.h, preproc/SortUlongString.h,
	  preproc/SortWord.cpp, preproc/SortWord.h,
	  preproc/SortWordString.h, preproc/StringPreProc.h,
	  preproc/WordPreProc.cpp, preproc/WordPreProc.h,
	  preproc/WordPreProc.i: preproc:
	  - Obliterated {Real,Short,Word}PreProc

2007-12-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.h: fix error in header
	  file (gcc 4.3 reports this as error multiple parameters named
	  'posweights_lhs')

2007-12-29  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h: kernel:
	  - Made a few little improvements in WeightedDegreeStringKernel
	  wrt
	  set_max_mismatch()

2007-12-27  Sebastian Henschel <shogun@kodeaffe.de>

	* distributions/hmm/HMM.cpp, distributions/hmm/HMM.h: distribution:
	  - kind of integrated HMM into testsuite; a few things unclear
	  yet, hence no
	  updated examples.

2007-12-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, classifier/svm/WDSVMOcas.cpp: bugfix
	* classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h,
	  lib/Mathematics.cpp, lib/Mathematics.h: traverse data dimension
	  wise, to reduce cache hits. speeds up output
	  computation by factor 3. however it requires data to be
	  transposed(!!!)
	  
	  ...debugging
	* classifier/svm/WDSVMOcas.cpp, lib/Mathematics.h: dyn alloc things
	* classifier/svm/WDSVMOcas.cpp: adding code to figure out why
	  computing output to wd ocas is slow (95% is spend
	  in computing output) - as expected the random access to w is the
	  cause. we need
	  to use the batch computation idea to minimize cache misses. still
	  this
	  implementation is 2 times faster than svm light w/ linadd

2007-12-21  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIKernel.cpp, kernel/WeightedDegreeStringKernel.h:
	  kernel:
	  - Added some get/set functions to WeightedDegreeStringKernel to
	  reestablish
	  functionality lost through changes in the constructors a few
	  commits before

2007-12-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, classifier/svm/libocas.cpp: fix
	  timing, minor tuning
	* classifier/svm/SVMOcas.cpp, classifier/svm/WDSVMOcas.cpp,
	  classifier/svm/WDSVMOcas.h: output timing statistics
	* classifier/svm/libocas.cpp, classifier/svm/libocas.h: updated to
	  new ocas

2007-12-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h: seems
	  to work now - the meaning of epsilon is really completely
	  different so
	  don't expect a solution even close to svmlight...
	* classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h,
	  guilib/GUIKernel.cpp, kernel/CustomKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h: - fix parts of WD kernel
	  (broken since ABI change)
	  - debugging WDSVMOcas

2007-12-20  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIPluginEstimate.cpp: guilib:
	  - Forgot to adapt PluginEstimate in guilib
	* classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h:
	  distribution:
	  - Converted LinearHMM from WordFeatures to StringFeatures<WORD>
	  - Swapped arguments in Histogram::get_log_derivative to match the
	  order in
	  LinearHMM and Distribution
	  - Renamed param_num to num_param in Distribution
	  classifier:
	  - Adapted PluginEstimate accordingly to changes in LinearHMM
	  testsuite/examples:
	  - Adapted accordingly to changes in LinearHMM/Histogram

2007-12-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h:
	  introduce WD kernel normalization const
	* classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h,
	  features/Alphabet.cpp, features/Alphabet.h,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h, lib/common.h:
	  finally a working WDOCAS

2007-12-19  Sebastian Henschel <shogun@kodeaffe.de>

	* clustering/Clustering.i, distributions/Distribution.cpp,
	  distributions/Distribution.h, distributions/Distribution.i,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h,
	  distributions/histogram/Histogram.i: distribution:
	  - Extended Histogram to get/set histogram from outside
	  - Converted Histogram from WordFeatures to StringFeatures<WORD>
	  - Misc little fixed in Histogram
	  - Renamed get_log_likelihood_all_examples to get_log_likelihood
	  in
	  Distribution
	  testsuite/examples:
	  - Changed test for Histogram accordingly
	  clustering:
	  - Fixed typo in doc-string of Clustering.i

2007-12-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h: wdocas needs bytefeatures, adjust
	  interfaces
	* classifier/svm/SVMOcas.cpp, classifier/svm/WDSVMOcas.cpp,
	  classifier/svm/WDSVMOcas.h: tuned WDSVM based on OCAS

2007-12-18  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIKernel.cpp: kernel:
	  - Fix instantiation of WeightedDegreeString in guilib

2007-12-17  Sebastian Henschel <shogun@kodeaffe.de>

	* clustering/Hierarchical.h, clustering/Hierarchical.i: clustering:
	  - Implemented overload functions for get_merge_distance and
	  get_pairs in
	  Hierarchical, so it can be picked up bei swig.
	  testsuite:
	  - Modified testing for clustering entities accordingly.

2007-12-16  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h: kernel:
	  - Cleanup in constructors of WeightedDegreeStringKernel
	  testsuite/examples:
	  - Adjusted to aforementioned changes
	* classifier/Classifier.i, classifier/svm/LibSVMMultiClass.cpp,
	  classifier/svm/LibSVMMultiClass.h,
	  classifier/svm/LibSVMMultiClass.i,
	  classifier/svm/LibSVMOneClass.cpp,
	  classifier/svm/LibSVMOneClass.h, classifier/svm/LibSVMOneClass.i,
	  classifier/svm/LibSVM_multiclass.cpp,
	  classifier/svm/LibSVM_multiclass.h,
	  classifier/svm/LibSVM_multiclass.i,
	  classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/LibSVM_oneclass.h,
	  classifier/svm/LibSVM_oneclass.i, classifier/svm/MPD.cpp,
	  classifier/svm/MPD.h, classifier/svm/MPD.i,
	  classifier/svm/MPDSVM.cpp, classifier/svm/MPDSVM.h,
	  classifier/svm/MPDSVM.i, classifier/svm/MultiClassSVM.i,
	  guilib/GUIClassifier.cpp: classifier:
	  - Renamed MPD.*, LibSVM_* to file names corresponding to their
	  class name
	  - Adjusted a few accuracies for testing
	* distance/EuclidianDistance.cpp, distance/EuclidianDistance.h:
	  distance:
	  - Added switch to disable sqrt in EuclidianDistance
	  - Added example for NormSquared accordingly
	  - Also added different lengths of feature vectors for some
	  distances in
	  examples
	* distance/CanberraMetric.cpp, distance/ChebyshewMetric.cpp,
	  distance/JensenMetric.cpp, distance/ManhattanMetric.cpp,
	  distance/MinkowskiMetric.cpp, kernel/GaussianKernel.cpp,
	  kernel/GaussianShiftKernel.cpp, kernel/PolyMatchWordKernel.cpp,
	  kernel/SigmoidKernel.cpp: kernel/distance:
	  - Removed unnecessary variable ialen
	* distance/HammingWordDistance.cpp: distance:
	  - Removed unnecessary assertion if vectors of lhs and rhs have
	  same length
	  testsuite:
	  - Adapted DNA features to have different lengths in train and
	  test

2007-12-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h,
	  classifier/svm/WDSVMOcas.i, guilib/GUIClassifier.cpp: start OCAS
	  variant tuned to training low order WD kernel SVMs
	* classifier/KNN.cpp, classifier/KNN.h, classifier/Perceptron.cpp,
	  classifier/svm/MultiClassSVM.h,
	  classifier/svm/SubGradientSVM.cpp, clustering/Hierarchical.cpp,
	  clustering/Hierarchical.h, clustering/KMeans.cpp,
	  clustering/KMeans.h, clustering/KMeans.i,
	  distance/CanberraWordDistance.cpp, distance/GeodesicMetric.cpp,
	  distance/ManhattanWordDistance.cpp, distributions/hmm/HMM.h,
	  features/Labels.cpp, kernel/WeightedDegreeStringKernel.h: various
	  fixes based on sebastians many questions
	* ., .authors, .doxy2swig.py, .generate_link_dependencies.py,
	  .version.sh, AUTHORS, CONTRIBUTIONS, ChangeLog, INSTALL, LICENSE,
	  LICENSE.SVMlight, Makefile, NEWS, README, README.developer, TODO,
	  base, base/Parallel.cpp, base/Parallel.h, base/Parallel.i,
	  base/SGObject.cpp, base/SGObject.h, base/SGObject.i,
	  base/Version.cpp, base/Version.h, base/Version.i, classifier,
	  classifier/Classifier.cpp, classifier/Classifier.doxy,
	  classifier/Classifier.h, classifier/Classifier.i,
	  classifier/KNN.cpp, classifier/KNN.h, classifier/KNN.i,
	  classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/KernelPerceptron.i, classifier/LDA.cpp,
	  classifier/LDA.h, classifier/LDA.i, classifier/LPBoost.cpp,
	  classifier/LPBoost.h, classifier/LPBoost.i, classifier/LPM.cpp,
	  classifier/LPM.h, classifier/LPM.i,
	  classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/LinearClassifier.i, classifier/Perceptron.cpp,
	  classifier/Perceptron.h, classifier/Perceptron.i,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/PluginEstimate.i,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h,
	  classifier/SparseLinearClassifier.i,
	  classifier/SubGradientLPM.cpp, classifier/SubGradientLPM.h,
	  classifier/SubGradientLPM.i, classifier/__init__.py,
	  classifier/svm, classifier/svm/CPLEXSVM.cpp,
	  classifier/svm/CPLEXSVM.h, classifier/svm/GMNPSVM.cpp,
	  classifier/svm/GMNPSVM.h, classifier/svm/GMNPSVM.i,
	  classifier/svm/GNPPSVM.cpp, classifier/svm/GNPPSVM.h,
	  classifier/svm/GNPPSVM.i, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/GPBTSVM.h, classifier/svm/GPBTSVM.i,
	  classifier/svm/LibLinear.cpp, classifier/svm/LibLinear.h,
	  classifier/svm/LibLinear.i, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVM.h, classifier/svm/LibSVM.i,
	  classifier/svm/LibSVM_multiclass.cpp,
	  classifier/svm/LibSVM_multiclass.h,
	  classifier/svm/LibSVM_multiclass.i,
	  classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/LibSVM_oneclass.h,
	  classifier/svm/LibSVM_oneclass.i, classifier/svm/MPD.cpp,
	  classifier/svm/MPD.h, classifier/svm/MPD.i,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/MultiClassSVM.h,
	  classifier/svm/MultiClassSVM.i, classifier/svm/Optimizer.cpp,
	  classifier/svm/Optimizer.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM.i,
	  classifier/svm/SVMLin.cpp, classifier/svm/SVMLin.h,
	  classifier/svm/SVMLin.i, classifier/svm/SVMOcas.cpp,
	  classifier/svm/SVMOcas.h, classifier/svm/SVMOcas.i,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_libsvm.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  classifier/svm/SVM_light.i, classifier/svm/SVM_linear.cpp,
	  classifier/svm/SVM_linear.h, classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/SubGradientSVM.i,
	  classifier/svm/Tron.cpp, classifier/svm/Tron.h,
	  classifier/svm/WDSVMOcas.i, classifier/svm/__init__.py,
	  classifier/svm/gmnplib.cpp, classifier/svm/gmnplib.h,
	  classifier/svm/gnpplib.cpp, classifier/svm/gnpplib.h,
	  classifier/svm/gpdt.cpp, classifier/svm/gpdt.h,
	  classifier/svm/gpdtsolve.cpp, classifier/svm/gpdtsolve.h,
	  classifier/svm/gpm.cpp, classifier/svm/gpm.h,
	  classifier/svm/libocas.cpp, classifier/svm/libocas.h,
	  classifier/svm/libocas_common.h, classifier/svm/pr_loqo.cpp,
	  classifier/svm/pr_loqo.h, classifier/svm/qpbsvmlib.cpp,
	  classifier/svm/qpbsvmlib.h, classifier/svm/qpssvmlib.cpp,
	  classifier/svm/qpssvmlib.h, classifier/svm/ssl.cpp,
	  classifier/svm/ssl.h, clustering, clustering/Clustering.doxy,
	  clustering/Clustering.i, clustering/Hierarchical.cpp,
	  clustering/Hierarchical.h, clustering/Hierarchical.i,
	  clustering/KMeans.cpp, clustering/KMeans.h, clustering/KMeans.i,
	  configure, distance, distance/CanberraMetric.cpp,
	  distance/CanberraMetric.h, distance/CanberraMetric.i,
	  distance/CanberraWordDistance.cpp,
	  distance/CanberraWordDistance.h, distance/CanberraWordDistance.i,
	  distance/ChebyshewMetric.cpp, distance/ChebyshewMetric.h,
	  distance/ChebyshewMetric.i, distance/Distance.cpp,
	  distance/Distance.doxy, distance/Distance.h, distance/Distance.i,
	  distance/DistanceMachine.cpp, distance/DistanceMachine.h,
	  distance/DistanceMachine.i, distance/EuclidianDistance.cpp,
	  distance/EuclidianDistance.h, distance/EuclidianDistance.i,
	  distance/GeodesicMetric.cpp, distance/GeodesicMetric.h,
	  distance/GeodesicMetric.i, distance/HammingWordDistance.cpp,
	  distance/HammingWordDistance.h, distance/HammingWordDistance.i,
	  distance/JensenMetric.cpp, distance/JensenMetric.h,
	  distance/JensenMetric.i, distance/ManhattanMetric.cpp,
	  distance/ManhattanMetric.h, distance/ManhattanMetric.i,
	  distance/ManhattanWordDistance.cpp,
	  distance/ManhattanWordDistance.h,
	  distance/ManhattanWordDistance.i, distance/MinkowskiMetric.cpp,
	  distance/MinkowskiMetric.h, distance/MinkowskiMetric.i,
	  distance/RealDistance.h, distance/RealDistance.i,
	  distance/SimpleDistance.h, distance/SimpleDistance.i,
	  distance/SparseDistance.h, distance/SparseDistance.i,
	  distance/SparseEuclidianDistance.cpp,
	  distance/SparseEuclidianDistance.h,
	  distance/SparseEuclidianDistance.i, distance/StringDistance.h,
	  distance/StringDistance.i, distributions,
	  distributions/Distribution.cpp, distributions/Distribution.doxy,
	  distributions/Distribution.h, distributions/Distribution.i,
	  distributions/histogram, distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h,
	  distributions/histogram/Histogram.i, distributions/hmm,
	  distributions/hmm/GHMM.cpp, distributions/hmm/GHMM.h,
	  distributions/hmm/GHMM.i, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/HMM.i,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  distributions/hmm/LinearHMM.i, features, features/Alphabet.cpp,
	  features/Alphabet.h, features/Alphabet.i,
	  features/ByteFeatures.cpp, features/ByteFeatures.h,
	  features/ByteFeatures.i, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CharFeatures.i,
	  features/CombinedFeatures.cpp, features/CombinedFeatures.h,
	  features/CombinedFeatures.i, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/FKFeatures.i,
	  features/Features.cpp, features/Features.doxy,
	  features/Features.h, features/Features.i, features/Labels.cpp,
	  features/Labels.h, features/Labels.i,
	  features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  features/MindyGramFeatures.i, features/RealFeatures.cpp,
	  features/RealFeatures.h, features/RealFeatures.i,
	  features/RealFileFeatures.cpp, features/RealFileFeatures.h,
	  features/RealFileFeatures.i, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/ShortFeatures.i,
	  features/SimpleFeatures.h, features/SimpleFeatures.i,
	  features/SparseFeatures.h, features/SparseFeatures.i,
	  features/StringFeatures.cpp, features/StringFeatures.h,
	  features/StringFeatures.i, features/TOPFeatures.cpp,
	  features/TOPFeatures.h, features/TOPFeatures.i,
	  features/WordFeatures.cpp, features/WordFeatures.h,
	  features/WordFeatures.i, features/__init__.py, gui, gui/GUI.cpp,
	  gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp,
	  gui/Python.h, gui/R.cpp, gui/TextGUI.cpp, gui/TextGUI.h, guilib,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUICommands.h, guilib/GUIDistance.cpp,
	  guilib/GUIDistance.h, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  guilib/GUIKNN.cpp, guilib/GUIKNN.h, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, guilib/GUILabels.cpp, guilib/GUILabels.h,
	  guilib/GUIMath.cpp, guilib/GUIMath.h, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, guilib/GUIOctave.cpp, guilib/GUIOctave.h,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, guilib/GUIR.cpp, guilib/GUIR.h,
	  guilib/GUITime.cpp, guilib/GUITime.h, kernel,
	  kernel/AUCKernel.cpp, kernel/AUCKernel.h, kernel/AUCKernel.i,
	  kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h, kernel/Chi2Kernel.i,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CombinedKernel.i, kernel/CommUlongStringKernel.cpp,
	  kernel/CommUlongStringKernel.h, kernel/CommUlongStringKernel.i,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/CommWordStringKernel.i, kernel/ConstKernel.cpp,
	  kernel/ConstKernel.h, kernel/ConstKernel.i,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/CustomKernel.i, kernel/DiagKernel.cpp,
	  kernel/DiagKernel.h, kernel/DiagKernel.i,
	  kernel/DistanceKernel.cpp, kernel/DistanceKernel.h,
	  kernel/DistanceKernel.i, kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h,
	  kernel/FixedDegreeStringKernel.i, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h, kernel/GaussianKernel.i,
	  kernel/GaussianShiftKernel.cpp, kernel/GaussianShiftKernel.h,
	  kernel/GaussianShiftKernel.i, kernel/HistogramWordKernel.cpp,
	  kernel/HistogramWordKernel.h, kernel/HistogramWordKernel.i,
	  kernel/Kernel.cpp, kernel/Kernel.doxy, kernel/Kernel.h,
	  kernel/Kernel.i, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/KernelMachine.i,
	  kernel/LinearByteKernel.cpp, kernel/LinearByteKernel.h,
	  kernel/LinearByteKernel.i, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearKernel.i,
	  kernel/LinearStringKernel.cpp, kernel/LinearStringKernel.h,
	  kernel/LinearStringKernel.i, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LinearWordKernel.i,
	  kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalAlignmentStringKernel.h,
	  kernel/LocalAlignmentStringKernel.i,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/LocalityImprovedStringKernel.i,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h,
	  kernel/MindyGramKernel.i, kernel/PolyKernel.cpp,
	  kernel/PolyKernel.h, kernel/PolyKernel.i,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchStringKernel.h,
	  kernel/PolyMatchStringKernel.i, kernel/PolyMatchWordKernel.cpp,
	  kernel/PolyMatchWordKernel.h, kernel/PolyMatchWordKernel.i,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SalzbergWordKernel.i, kernel/SigmoidKernel.cpp,
	  kernel/SigmoidKernel.h, kernel/SigmoidKernel.i,
	  kernel/SimpleKernel.h, kernel/SimpleKernel.i,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h,
	  kernel/SimpleLocalityImprovedStringKernel.i,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseGaussianKernel.i, kernel/SparseKernel.h,
	  kernel/SparseKernel.i, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseLinearKernel.i,
	  kernel/SparsePolyKernel.cpp, kernel/SparsePolyKernel.h,
	  kernel/SparsePolyKernel.i, kernel/StringKernel.h,
	  kernel/StringKernel.i, kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.i,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.i,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h,
	  kernel/WeightedDegreeStringKernel.i, kernel/WordMatchKernel.cpp,
	  kernel/WordMatchKernel.h, kernel/WordMatchKernel.i,
	  kernel/__init__.py, lib, lib/Array.h, lib/Array.i, lib/Array2.h,
	  lib/Array2.i, lib/Array3.h, lib/Array3.i, lib/Cache.h,
	  lib/Cache.i, lib/Cplex.cpp, lib/Cplex.h, lib/DynamicArray.h,
	  lib/DynamicArray.i, lib/File.cpp, lib/File.h, lib/File.i,
	  lib/Library.doxy, lib/Library.i, lib/List.h, lib/List.i,
	  lib/Mathematics.cpp, lib/Mathematics.h, lib/Mathematics.i,
	  lib/ShogunException.cpp, lib/ShogunException.h,
	  lib/ShogunException.i, lib/Signal.cpp, lib/Signal.h,
	  lib/Signal.i, lib/SimpleFile.h, lib/SimpleFile.i, lib/Time.cpp,
	  lib/Time.h, lib/Time.i, lib/Trie.cpp, lib/Trie.h, lib/Trie.i,
	  lib/__init__.py, lib/common.h, lib/common.i, lib/io.cpp,
	  lib/io.h, lib/io.i, lib/lapack.cpp, lib/lapack.h, lib/lapack.i,
	  lib/matlab.h, lib/python.h, lib/python_typemaps.i, preproc,
	  preproc/LogPlusOne.cpp, preproc/LogPlusOne.h,
	  preproc/LogPlusOne.i, preproc/NormDerivativeLem3.cpp,
	  preproc/NormDerivativeLem3.h, preproc/NormDerivativeLem3.i,
	  preproc/NormOne.cpp, preproc/NormOne.h, preproc/NormOne.i,
	  preproc/PCACut.cpp, preproc/PCACut.h, preproc/PCACut.i,
	  preproc/PreProc.cpp, preproc/PreProc.doxy, preproc/PreProc.h,
	  preproc/PreProc.i, preproc/PruneVarSubMean.cpp,
	  preproc/PruneVarSubMean.h, preproc/PruneVarSubMean.i,
	  preproc/RealPreProc.h, preproc/RealPreProc.i,
	  preproc/ShortPreProc.cpp, preproc/ShortPreProc.h,
	  preproc/ShortPreProc.i, preproc/SimplePreProc.h,
	  preproc/SimplePreProc.i, preproc/SortUlongString.cpp,
	  preproc/SortUlongString.h, preproc/SortUlongString.i,
	  preproc/SortWord.cpp, preproc/SortWord.h, preproc/SortWord.i,
	  preproc/SortWordString.cpp, preproc/SortWordString.h,
	  preproc/SortWordString.i, preproc/SparsePreProc.h,
	  preproc/SparsePreProc.i, preproc/StringPreProc.h,
	  preproc/StringPreProc.i, preproc/WordPreProc.cpp,
	  preproc/WordPreProc.h, preproc/WordPreProc.i, regression,
	  regression/KRR.cpp, regression/KRR.h, regression/KRR.i,
	  regression/Regression.doxy, regression/Regression.i,
	  regression/svr, regression/svr/LibSVR.cpp,
	  regression/svr/LibSVR.h, regression/svr/LibSVR.i,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h,
	  regression/svr/SVR_light.i, sg.m, structure,
	  structure/DynProg.cpp, structure/DynProg.h, structure/DynProg.i,
	  structure/Plif.cpp, structure/Plif.h, structure/Plif.i,
	  structure/PlifArray.cpp, structure/PlifArray.h,
	  structure/PlifArray.i, structure/PlifBase.h,
	  structure/PlifBase.i, structure/Structure.doxy,
	  structure/Structure.i: now the *final* nice correctly set props
	* ., .authors, .doxy2swig.py, .generate_link_dependencies.py,
	  .version.sh, AUTHORS, CONTRIBUTIONS, ChangeLog, INSTALL, LICENSE,
	  LICENSE.SVMlight, Makefile, NEWS, README, README.developer, TODO,
	  base, base/Parallel.cpp, base/Parallel.h, base/Parallel.i,
	  base/SGObject.cpp, base/SGObject.h, base/SGObject.i,
	  base/Version.cpp, base/Version.h, base/Version.i, classifier,
	  classifier/Classifier.cpp, classifier/Classifier.doxy,
	  classifier/Classifier.h, classifier/Classifier.i,
	  classifier/KNN.cpp, classifier/KNN.h, classifier/KNN.i,
	  classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/KernelPerceptron.i, classifier/LDA.cpp,
	  classifier/LDA.h, classifier/LDA.i, classifier/LPBoost.cpp,
	  classifier/LPBoost.h, classifier/LPBoost.i, classifier/LPM.cpp,
	  classifier/LPM.h, classifier/LPM.i,
	  classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/LinearClassifier.i, classifier/Perceptron.cpp,
	  classifier/Perceptron.h, classifier/Perceptron.i,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/PluginEstimate.i,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h,
	  classifier/SparseLinearClassifier.i,
	  classifier/SubGradientLPM.cpp, classifier/SubGradientLPM.h,
	  classifier/SubGradientLPM.i, classifier/__init__.py,
	  classifier/svm, classifier/svm/CPLEXSVM.cpp,
	  classifier/svm/CPLEXSVM.h, classifier/svm/GMNPSVM.cpp,
	  classifier/svm/GMNPSVM.h, classifier/svm/GMNPSVM.i,
	  classifier/svm/GNPPSVM.cpp, classifier/svm/GNPPSVM.h,
	  classifier/svm/GNPPSVM.i, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/GPBTSVM.h, classifier/svm/GPBTSVM.i,
	  classifier/svm/LibLinear.cpp, classifier/svm/LibLinear.h,
	  classifier/svm/LibLinear.i, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVM.h, classifier/svm/LibSVM.i,
	  classifier/svm/LibSVM_multiclass.cpp,
	  classifier/svm/LibSVM_multiclass.h,
	  classifier/svm/LibSVM_multiclass.i,
	  classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/LibSVM_oneclass.h,
	  classifier/svm/LibSVM_oneclass.i, classifier/svm/MPD.cpp,
	  classifier/svm/MPD.h, classifier/svm/MPD.i,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/MultiClassSVM.h,
	  classifier/svm/MultiClassSVM.i, classifier/svm/Optimizer.cpp,
	  classifier/svm/Optimizer.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM.i,
	  classifier/svm/SVMLin.cpp, classifier/svm/SVMLin.h,
	  classifier/svm/SVMLin.i, classifier/svm/SVMOcas.cpp,
	  classifier/svm/SVMOcas.h, classifier/svm/SVMOcas.i,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_libsvm.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  classifier/svm/SVM_light.i, classifier/svm/SVM_linear.cpp,
	  classifier/svm/SVM_linear.h, classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/SubGradientSVM.i,
	  classifier/svm/Tron.cpp, classifier/svm/Tron.h,
	  classifier/svm/WDSVMOcas.cpp, classifier/svm/WDSVMOcas.h,
	  classifier/svm/WDSVMOcas.i, classifier/svm/__init__.py,
	  classifier/svm/gmnplib.cpp, classifier/svm/gmnplib.h,
	  classifier/svm/gnpplib.cpp, classifier/svm/gnpplib.h,
	  classifier/svm/gpdt.cpp, classifier/svm/gpdt.h,
	  classifier/svm/gpdtsolve.cpp, classifier/svm/gpdtsolve.h,
	  classifier/svm/gpm.cpp, classifier/svm/gpm.h,
	  classifier/svm/libocas.cpp, classifier/svm/libocas.h,
	  classifier/svm/libocas_common.h, classifier/svm/pr_loqo.cpp,
	  classifier/svm/pr_loqo.h, classifier/svm/qpbsvmlib.cpp,
	  classifier/svm/qpbsvmlib.h, classifier/svm/qpssvmlib.cpp,
	  classifier/svm/qpssvmlib.h, classifier/svm/ssl.cpp,
	  classifier/svm/ssl.h, clustering, clustering/Clustering.doxy,
	  clustering/Clustering.i, clustering/Hierarchical.cpp,
	  clustering/Hierarchical.h, clustering/Hierarchical.i,
	  clustering/KMeans.cpp, clustering/KMeans.h, clustering/KMeans.i,
	  configure, distance, distance/CanberraMetric.cpp,
	  distance/CanberraMetric.h, distance/CanberraMetric.i,
	  distance/CanberraWordDistance.cpp,
	  distance/CanberraWordDistance.h, distance/CanberraWordDistance.i,
	  distance/ChebyshewMetric.cpp, distance/ChebyshewMetric.h,
	  distance/ChebyshewMetric.i, distance/Distance.cpp,
	  distance/Distance.doxy, distance/Distance.h, distance/Distance.i,
	  distance/DistanceMachine.cpp, distance/DistanceMachine.h,
	  distance/DistanceMachine.i, distance/EuclidianDistance.cpp,
	  distance/EuclidianDistance.h, distance/EuclidianDistance.i,
	  distance/GeodesicMetric.cpp, distance/GeodesicMetric.h,
	  distance/GeodesicMetric.i, distance/HammingWordDistance.cpp,
	  distance/HammingWordDistance.h, distance/HammingWordDistance.i,
	  distance/JensenMetric.cpp, distance/JensenMetric.h,
	  distance/JensenMetric.i, distance/ManhattanMetric.cpp,
	  distance/ManhattanMetric.h, distance/ManhattanMetric.i,
	  distance/ManhattanWordDistance.cpp,
	  distance/ManhattanWordDistance.h,
	  distance/ManhattanWordDistance.i, distance/MinkowskiMetric.cpp,
	  distance/MinkowskiMetric.h, distance/MinkowskiMetric.i,
	  distance/RealDistance.h, distance/RealDistance.i,
	  distance/SimpleDistance.h, distance/SimpleDistance.i,
	  distance/SparseDistance.h, distance/SparseDistance.i,
	  distance/SparseEuclidianDistance.cpp,
	  distance/SparseEuclidianDistance.h,
	  distance/SparseEuclidianDistance.i, distance/StringDistance.h,
	  distance/StringDistance.i, distributions,
	  distributions/Distribution.cpp, distributions/Distribution.doxy,
	  distributions/Distribution.h, distributions/Distribution.i,
	  distributions/histogram, distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h,
	  distributions/histogram/Histogram.i, distributions/hmm,
	  distributions/hmm/GHMM.cpp, distributions/hmm/GHMM.h,
	  distributions/hmm/GHMM.i, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/HMM.i,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  distributions/hmm/LinearHMM.i, features, features/Alphabet.cpp,
	  features/Alphabet.h, features/Alphabet.i,
	  features/ByteFeatures.cpp, features/ByteFeatures.h,
	  features/ByteFeatures.i, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CharFeatures.i,
	  features/CombinedFeatures.cpp, features/CombinedFeatures.h,
	  features/CombinedFeatures.i, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/FKFeatures.i,
	  features/Features.cpp, features/Features.doxy,
	  features/Features.h, features/Features.i, features/Labels.cpp,
	  features/Labels.h, features/Labels.i,
	  features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  features/MindyGramFeatures.i, features/RealFeatures.cpp,
	  features/RealFeatures.h, features/RealFeatures.i,
	  features/RealFileFeatures.cpp, features/RealFileFeatures.h,
	  features/RealFileFeatures.i, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/ShortFeatures.i,
	  features/SimpleFeatures.h, features/SimpleFeatures.i,
	  features/SparseFeatures.h, features/SparseFeatures.i,
	  features/StringFeatures.cpp, features/StringFeatures.h,
	  features/StringFeatures.i, features/TOPFeatures.cpp,
	  features/TOPFeatures.h, features/TOPFeatures.i,
	  features/WordFeatures.cpp, features/WordFeatures.h,
	  features/WordFeatures.i, features/__init__.py, gui, gui/GUI.cpp,
	  gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp,
	  gui/Python.h, gui/R.cpp, gui/TextGUI.cpp, gui/TextGUI.h, guilib,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUICommands.h, guilib/GUIDistance.cpp,
	  guilib/GUIDistance.h, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  guilib/GUIKNN.cpp, guilib/GUIKNN.h, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, guilib/GUILabels.cpp, guilib/GUILabels.h,
	  guilib/GUIMath.cpp, guilib/GUIMath.h, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, guilib/GUIOctave.cpp, guilib/GUIOctave.h,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, guilib/GUIR.cpp, guilib/GUIR.h,
	  guilib/GUITime.cpp, guilib/GUITime.h, kernel,
	  kernel/AUCKernel.cpp, kernel/AUCKernel.h, kernel/AUCKernel.i,
	  kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h, kernel/Chi2Kernel.i,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CombinedKernel.i, kernel/CommUlongStringKernel.cpp,
	  kernel/CommUlongStringKernel.h, kernel/CommUlongStringKernel.i,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/CommWordStringKernel.i, kernel/ConstKernel.cpp,
	  kernel/ConstKernel.h, kernel/ConstKernel.i,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/CustomKernel.i, kernel/DiagKernel.cpp,
	  kernel/DiagKernel.h, kernel/DiagKernel.i,
	  kernel/DistanceKernel.cpp, kernel/DistanceKernel.h,
	  kernel/DistanceKernel.i, kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h,
	  kernel/FixedDegreeStringKernel.i, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h, kernel/GaussianKernel.i,
	  kernel/GaussianShiftKernel.cpp, kernel/GaussianShiftKernel.h,
	  kernel/GaussianShiftKernel.i, kernel/HistogramWordKernel.cpp,
	  kernel/HistogramWordKernel.h, kernel/HistogramWordKernel.i,
	  kernel/Kernel.cpp, kernel/Kernel.doxy, kernel/Kernel.h,
	  kernel/Kernel.i, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/KernelMachine.i,
	  kernel/LinearByteKernel.cpp, kernel/LinearByteKernel.h,
	  kernel/LinearByteKernel.i, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearKernel.i,
	  kernel/LinearStringKernel.cpp, kernel/LinearStringKernel.h,
	  kernel/LinearStringKernel.i, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LinearWordKernel.i,
	  kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalAlignmentStringKernel.h,
	  kernel/LocalAlignmentStringKernel.i,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/LocalityImprovedStringKernel.i,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h,
	  kernel/MindyGramKernel.i, kernel/PolyKernel.cpp,
	  kernel/PolyKernel.h, kernel/PolyKernel.i,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchStringKernel.h,
	  kernel/PolyMatchStringKernel.i, kernel/PolyMatchWordKernel.cpp,
	  kernel/PolyMatchWordKernel.h, kernel/PolyMatchWordKernel.i,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SalzbergWordKernel.i, kernel/SigmoidKernel.cpp,
	  kernel/SigmoidKernel.h, kernel/SigmoidKernel.i,
	  kernel/SimpleKernel.h, kernel/SimpleKernel.i,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h,
	  kernel/SimpleLocalityImprovedStringKernel.i,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseGaussianKernel.i, kernel/SparseKernel.h,
	  kernel/SparseKernel.i, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseLinearKernel.i,
	  kernel/SparsePolyKernel.cpp, kernel/SparsePolyKernel.h,
	  kernel/SparsePolyKernel.i, kernel/StringKernel.h,
	  kernel/StringKernel.i, kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.i,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.i,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h,
	  kernel/WeightedDegreeStringKernel.i, kernel/WordMatchKernel.cpp,
	  kernel/WordMatchKernel.h, kernel/WordMatchKernel.i,
	  kernel/__init__.py, lib, lib/Array.h, lib/Array.i, lib/Array2.h,
	  lib/Array2.i, lib/Array3.h, lib/Array3.i, lib/Cache.h,
	  lib/Cache.i, lib/Cplex.cpp, lib/Cplex.h, lib/DynamicArray.h,
	  lib/DynamicArray.i, lib/File.cpp, lib/File.h, lib/File.i,
	  lib/Library.doxy, lib/Library.i, lib/List.h, lib/List.i,
	  lib/Mathematics.cpp, lib/Mathematics.h, lib/Mathematics.i,
	  lib/ShogunException.cpp, lib/ShogunException.h,
	  lib/ShogunException.i, lib/Signal.cpp, lib/Signal.h,
	  lib/Signal.i, lib/SimpleFile.h, lib/SimpleFile.i, lib/Time.cpp,
	  lib/Time.h, lib/Time.i, lib/Trie.cpp, lib/Trie.h, lib/Trie.i,
	  lib/__init__.py, lib/common.h, lib/common.i, lib/io.cpp,
	  lib/io.h, lib/io.i, lib/lapack.cpp, lib/lapack.h, lib/lapack.i,
	  lib/matlab.h, lib/python.h, lib/python_typemaps.i, preproc,
	  preproc/LogPlusOne.cpp, preproc/LogPlusOne.h,
	  preproc/LogPlusOne.i, preproc/NormDerivativeLem3.cpp,
	  preproc/NormDerivativeLem3.h, preproc/NormDerivativeLem3.i,
	  preproc/NormOne.cpp, preproc/NormOne.h, preproc/NormOne.i,
	  preproc/PCACut.cpp, preproc/PCACut.h, preproc/PCACut.i,
	  preproc/PreProc.cpp, preproc/PreProc.doxy, preproc/PreProc.h,
	  preproc/PreProc.i, preproc/PruneVarSubMean.cpp,
	  preproc/PruneVarSubMean.h, preproc/PruneVarSubMean.i,
	  preproc/RealPreProc.h, preproc/RealPreProc.i,
	  preproc/ShortPreProc.cpp, preproc/ShortPreProc.h,
	  preproc/ShortPreProc.i, preproc/SimplePreProc.h,
	  preproc/SimplePreProc.i, preproc/SortUlongString.cpp,
	  preproc/SortUlongString.h, preproc/SortUlongString.i,
	  preproc/SortWord.cpp, preproc/SortWord.h, preproc/SortWord.i,
	  preproc/SortWordString.cpp, preproc/SortWordString.h,
	  preproc/SortWordString.i, preproc/SparsePreProc.h,
	  preproc/SparsePreProc.i, preproc/StringPreProc.h,
	  preproc/StringPreProc.i, preproc/WordPreProc.cpp,
	  preproc/WordPreProc.h, preproc/WordPreProc.i, regression,
	  regression/KRR.cpp, regression/KRR.h, regression/KRR.i,
	  regression/Regression.doxy, regression/Regression.i,
	  regression/svr, regression/svr/LibSVR.cpp,
	  regression/svr/LibSVR.h, regression/svr/LibSVR.i,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h,
	  regression/svr/SVR_light.i, sg.m, structure,
	  structure/DynProg.cpp, structure/DynProg.h, structure/DynProg.i,
	  structure/Plif.cpp, structure/Plif.h, structure/Plif.i,
	  structure/PlifArray.cpp, structure/PlifArray.h,
	  structure/PlifArray.i, structure/PlifBase.h,
	  structure/PlifBase.i, structure/Structure.doxy,
	  structure/Structure.i: ignore '*doxygen_xml' '*_wrap.h'
	  '*_wrap.cxx' '*.so' '*_doxygen.i' '.depend' '.config' 'tags'

2007-12-12  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/LibSVM_oneclass.h: testsuite/LibSVMOneClass:
	  Extended LibSVMOneClass' constructor and added the
	  SVM to testuite.

2007-12-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIMatlab.cpp: fix warning in matlab interface

2007-12-10  Sebastian Henschel <shogun@kodeaffe.de>

	* distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h, distributions/hmm/HMM.cpp:
	  Added support for distributions in testsuite, but again, dunno
	  yet how to test
	  properly.
	  Fixed erroneous delete statement in HMM's destructor.
	* clustering/Hierarchical.cpp, clustering/Hierarchical.h,
	  clustering/KMeans.cpp, clustering/KMeans.h: Added support for
	  clustering in testsuite. But since classify() returns NULL,
	  dunno yet what to test for.

2007-12-09  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIMatlab.cpp, guilib/GUIPython.cpp, guilib/GUIR.cpp:
	  Fixed a few compile issues with CustomKernel.

2007-12-08  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/KNN.cpp, classifier/KNN.h, classifier/Perceptron.cpp,
	  classifier/Perceptron.h: What started out to be an addition of
	  classifiers Perceptron and KNN to the
	  testsuite became a slightly bigger change. And since many
	  testdata files have
	  changed, svm was renamed to classifier to have even more changed
	  files.

2007-12-07  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/LibLinear.cpp, classifier/svm/LibLinear.h,
	  kernel/LocalAlignmentStringKernel.cpp: - Added testing support
	  for Linear SVMs SubGradientSVM (defunct), SVMOcas,
	  SVMLin, LibLinear.
	  - Dropped bias from test files' filenames which might result in
	  fewer
	  filename fluctuation.
	  - Fixed a memory problem in LocalAlignmentStringKernel found
	  through valgrind
	  when investigating another issue.

2007-12-05  Sebastian Henschel <shogun@kodeaffe.de>

	* classifier/svm/MultiClassSVM.cpp: Added tests for
	  LibSVM[Multi|One]class and GMNPSVM. Something seems to be
	  wrong, though.
	  Fixed serious error in tester for SVMs.

2007-12-03  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/WeightedDegreePositionStringKernel.cpp: Added tests for
	  SVM_light/GPBT with kernels Linear/WD/WDS/Comm*.
	  Modified initialisation of shifts in WDS a bit (and hopefully did
	  not
	  break it).
	* classifier/Classifier.i, classifier/svm/MPD.cpp,
	  classifier/svm/MPD.h, classifier/svm/MPD.i: Included swig
	  interface for MPDSVM in build process and added second
	  constructor to class.
	  Added tests for SMVs GPBTSVM, LibSVM, MPDSVM. Some values for
	  biases/alphas/support vectors seem to be a bit or completely out
	  of bounds;
	  needs a fix.

2007-12-02  Sebastian Henschel <shogun@kodeaffe.de>

	* distance/Canberra.cpp, distance/Canberra.h, distance/Canberra.i,
	  distance/CanberraMetric.cpp, distance/CanberraMetric.h,
	  distance/CanberraMetric.i, distance/Chebyshew.cpp,
	  distance/Chebyshew.h, distance/Chebyshew.i,
	  distance/ChebyshewMetric.cpp, distance/ChebyshewMetric.h,
	  distance/ChebyshewMetric.i, distance/Distance.i,
	  distance/Geodesic.cpp, distance/Geodesic.h, distance/Geodesic.i,
	  distance/GeodesicMetric.cpp, distance/GeodesicMetric.h,
	  distance/GeodesicMetric.i, distance/Jensen.cpp,
	  distance/Jensen.h, distance/Jensen.i, distance/JensenMetric.cpp,
	  distance/JensenMetric.h, distance/JensenMetric.i,
	  distance/Manhattan.cpp, distance/Manhattan.h,
	  distance/Manhattan.i, distance/ManhattanMetric.cpp,
	  distance/ManhattanMetric.h, distance/ManhattanMetric.i,
	  distance/Minkowski.cpp, distance/Minkowski.h,
	  distance/Minkowski.i, distance/MinkowskiMetric.cpp,
	  distance/MinkowskiMetric.h, distance/MinkowskiMetric.i,
	  guilib/GUIDistance.cpp: Added suffix 'Metric' to the metric
	  distances, extended their constructors to
	  accept features and added tests for them.
	* distance/SparseEuclidianDistance.cpp,
	  distance/SparseEuclidianDistance.h, features/SparseFeatures.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h:
	  Put square optimisation back into SparseGaussianKernel (and added
	  to
	  SparseEuclidianDistance).

2007-11-30  Sebastian Henschel <shogun@kodeaffe.de>

	* distance/SparseEuclidianDistance.cpp, features/SparseFeatures.h,
	  kernel/SparseGaussianKernel.cpp: Presumably fixed issue with NaN
	  values in SparseEuclidianDistance.
	  Unfortunately, lost some speed in SparseGaussianKernel, but will
	  be improved very
	  soon.
	* distance/CanberraWordDistance.cpp,
	  distance/CanberraWordDistance.h,
	  distance/HammingWordDistance.cpp, distance/HammingWordDistance.h,
	  distance/ManhattanWordDistance.cpp,
	  distance/ManhattanWordDistance.h: Added (and adjusted)
	  Canberra/Manhattan/HammingWordDistances to testsuite.
	  Fixed a little bug in cleaning data directories when generator is
	  run.
	* guilib/GUIKernel.cpp, kernel/Kernel.cpp, lib/common.h: Previous
	  purge of Canberra/Hamming/ManhattanWordKernels was incomplete and
	  presumably broke build of other interfaces than python-modular.
	* clustering/KMeans.cpp, distance/Distance.i,
	  distance/EuclidianDistance.cpp, distance/EuclidianDistance.h,
	  distance/EuclidianDistance.i, distance/NormSquaredDistance.cpp,
	  distance/NormSquaredDistance.h, distance/NormSquaredDistance.i,
	  distance/SparseEuclidianDistance.cpp,
	  distance/SparseEuclidianDistance.h,
	  distance/SparseEuclidianDistance.i,
	  distance/SparseNormSquaredDistance.cpp,
	  distance/SparseNormSquaredDistance.h,
	  distance/SparseNormSquaredDistance.i, guilib/GUIDistance.cpp,
	  lib/common.h: Renamed SquaredNorm to Euclidian (with compute()
	  modified to return the
	  result's sqrt).
	* distance/Distance.cpp, distance/Distance.i,
	  distance/NormSquaredDistance.cpp, distance/NormSquaredDistance.h:
	  Established infrastructure to test Distances (including an update
	  to
	  NormSquaredDistance).

2007-11-29  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/CanberraWordKernel.cpp, kernel/CanberraWordKernel.h,
	  kernel/CanberraWordKernel.i, kernel/HammingWordKernel.cpp,
	  kernel/HammingWordKernel.h, kernel/HammingWordKernel.i,
	  kernel/Kernel.i, kernel/ManhattanWordKernel.cpp,
	  kernel/ManhattanWordKernel.h, kernel/ManhattanWordKernel.i:
	  Purged kernels Manhattan/Canberra/HammingWord.
	* distance/CanberraWordDistance.cpp,
	  distance/CanberraWordDistance.h, distance/CanberraWordDistance.i,
	  distance/Distance.cpp, distance/Distance.h,
	  distance/HammingWordDistance.cpp, distance/HammingWordDistance.h,
	  distance/HammingWordDistance.i,
	  distance/ManhattanWordDistance.cpp,
	  distance/ManhattanWordDistance.h,
	  distance/ManhattanWordDistance.i, kernel/CanberraWordKernel.cpp,
	  kernel/CanberraWordKernel.h, kernel/DistanceKernel.cpp,
	  kernel/DistanceKernel.h, kernel/HammingWordKernel.cpp,
	  kernel/HammingWordKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/ManhattanWordKernel.cpp, kernel/ManhattanWordKernel.h:
	  Converted Manhattan/Hamming/CanberraWordKernel/Distance to
	  String<WORD>.
	  As can be seen in the output generated by the testsuite, the
	  aforementioned
	  kernels and distances yield the same results, so the kernels will
	  be removed
	  with the next commit.

2007-11-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/Version.cpp, base/Version.h, classifier/Classifier.doxy,
	  classifier/Classifier.i, classifier/KNN.cpp,
	  classifier/svm/SVM.h, clustering/Clustering.i,
	  distance/DistanceMachine.i,
	  distributions/histogram/Histogram.cpp: - some cleanups while
	  showing sebastian the code
	  - some more docu for SVM.h

2007-11-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/Classifier.doxy, clustering/Clustering.doxy,
	  distance/Distance.doxy, distributions/Distribution.doxy,
	  features/Features.doxy, kernel/Kernel.doxy, lib/Library.doxy,
	  preproc/PreProc.doxy, regression/Regression.doxy,
	  structure/Structure.doxy: let doxygen only scan .h files, ignore
	  *_wrap.h files, speeds things up tremendously
	* .generate_link_dependencies.py: add void deps to
	  clustering/CLustering_doxygen.i

2007-11-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, clustering/Clustering.i: clustering should include
	  clustering stuff not classifiers... argh
	  cleanup Makefile
	* Makefile, configure: allow to disable doxygen python-modular doc
	  generation
	* Makefile: adjust make clean
	* classifier/Classifier.i, clustering/Clustering.i,
	  distance/Distance.i, distributions/Distribution.i,
	  features/Features.i, lib/Library.i, preproc/PreProc.i,
	  regression/Regression.i, structure/Structure.i: USE -> HAVE
	* .doxy2swig.py, .generate_link_dependencies.py, Makefile,
	  classifier/Classifier.doxy, classifier/Classifier.i,
	  clustering/Clustering.doxy, clustering/Clustering.i, configure,
	  distance/Distance.doxy, distance/Distance.i,
	  distributions/Distribution.doxy, distributions/Distribution.i,
	  features/Features.doxy, features/Features.i, kernel/Kernel.doxy,
	  kernel/Kernel.i, lib/Library.doxy, lib/Library.i,
	  preproc/PreProc.doxy, preproc/PreProc.i,
	  regression/Regression.doxy, regression/Regression.i,
	  structure/Structure.doxy, structure/Structure.i: add build logic
	  for shogun w/ doxyfile
	* configure: argh, fix typo
	* .doxy2swig.py, Makefile, NEWS, configure: OK, the roadmap to
	  0.5.0 is clear, we aim for a complete test suite for
	  python-modular and doxygen online help in python (from cmdline),
	  doxygen
	  documentation and examples
	  
	  - first steps to autodetect makefile/build depency integreation
	  for doxygen
	* kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/CustomKernel.i, lib/Mathematics.h: fixes for custom
	  kernel, potentially needs adjustments in other interfaces

2007-11-24  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/CustomKernel.cpp, kernel/CustomKernel.h: Added testing for
	  Custom kernel, while bugfixing and cleaning it. The testdata
	  looks weird, though, and has to be investigated further.

2007-11-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h: fix a compile warning

2007-11-23  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.i: Added CommUlongStringKernel for
	  testing.
	* distance/Canberra.i: Added a first testcase for Distance kernel
	  with one Distance and broke
	  out some stuff into more modules in the test generator.
	  (unsorted Python dicts are annoying in file names, hence the long
	  list of
	  changed data files)

2007-11-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .authors: add Christoph Lampert to authors
	* NEWS, clustering/Hierarchical.cpp, clustering/Hierarchical.h,
	  clustering/KMeans.h: fix dates
	* classifier/svm/libocas.cpp, classifier/svm/libocas.h,
	  classifier/svm/qpssvmlib.cpp, classifier/svm/qpssvmlib.h: fill in
	  copyright information

2007-11-23  Sebastian Henschel <shogun@kodeaffe.de>

	* guilib/GUIDistance.cpp: More Manhatten->Manhattan changes.

2007-11-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/ManhattanWordKernel.i: include should not be needed

2007-11-23  Sebastian Henschel <shogun@kodeaffe.de>

	* base/SGObject.h, base/SGObject.i, features/Features.cpp,
	  kernel/CombinedKernel.cpp, kernel/Kernel.cpp: Added/changed debug
	  stuff which seemed helpful in finding fix mentioned in
	  previous check-in.

2007-11-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/List.h: don't call delete but SG_UNREF for swig interface in
	  list, should fix double free w/ combined kernel

2007-11-21  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.h: While unsuccesfully finding a way to
	  handle typemaps and templates properly in
	  features/StringFeatures.i, found and fixed a segfault in
	  features/StringFeatures.h:get_string.

2007-11-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS, guilib/GUIPython.cpp: fix building of python interface
	  update NEWS for new release

2007-11-20  Sebastian Henschel <shogun@kodeaffe.de>

	* kernel/AUCKernel.cpp, kernel/Kernel.h: Added ASSERTs to prevent
	  AUC kernel from segfaulting when subkernel is not
	  properly initialised; also added similar ASSERTs to
	  kernel/Kernel.h:kernel().

2007-11-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/LibSVM.cpp: fix memory leak in libsvm wrapper as
	  reported by alexander binder

2007-11-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distance/Distance.i, distance/RealDistance.i,
	  distance/SparseDistance.i, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h: - don't forget to SG_UNREF kernels in
	  CombinedKernel on deletion
	  - add sparse distance
	  - add debug code to analyse double free in combined kernel
	* features/RealFeatures.cpp, features/RealFeatures.h,
	  guilib/GUIKernel.cpp, kernel/Kernel.cpp, kernel/Kernel.i,
	  kernel/ManhattanWordKernel.cpp, kernel/ManhattanWordKernel.h,
	  kernel/ManhattanWordKernel.i, kernel/ManhattenWordKernel.cpp,
	  kernel/ManhattenWordKernel.h, kernel/ManhattenWordKernel.i,
	  lib/Mathematics.cpp, lib/Mathematics.h, lib/common.h: manhattEn
	  -> manhattAn
	  move align function from realfeatures to mathematics

2007-11-18  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp: reenabled a feature
	  that was disabled for optimization (but its still fast).
	* structure/DynProg.cpp: fix uninitialized memory reads.
	* structure/DynProg.cpp: two fixes of some previous
	  optimizations... :-|

2007-11-17  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp, structure/DynProg.h:
	  Speedups for the Viterbi-algorithm.
	  Runs now about twice as fast and still gives the same results for
	  nbest=1.
	  Untestet for nbest>1.

2007-11-15  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp, structure/DynProg.h,
	  structure/Plif.cpp: testing...

2007-11-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIMatlab.cpp, lib/Array.h, lib/Array2.h, lib/Array3.h,
	  structure/DynProg.cpp: argh! this is the
	  whydidntanyonenoticethisearlier-bug which must have been around
	  for almost a year...
	  
	  ASSERT was undefined in matlab interface... so THERE WAS NO ERROR
	  CHECKING

2007-11-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h: now destroy tree then
	  recreate an empty one
	* classifier/svm/SVMOcas.h,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: really destroy the tree
	  after doing a full batch computation run, this should
	  especially help the wd* kernels when many of them are chained via
	  the combined
	  kernel to reduce memory usage

2007-11-13  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp: revert
	* kernel/CombinedKernel.cpp, structure/DynProg.cpp: fixed typo

2007-11-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CombinedKernel.cpp: fix serious bug in output computation
	  which could occur only when a kernel
	  supporting batch computation was used in conjunction with a
	  kernel neither
	  capable of batch computation and linadd AND the number of threads
	  was > 1
	  
	  note that this may have lead to wrong svm - models on TRAINING if
	  svm lightwas
	  used and could also lead to random corruptions when computing
	  output via
	  classify

2007-11-13  Christoph Lampert <christoph.lampert@tuebingen.mpg.de>

	* guilib/GUIPython.cpp: fixed naming and type differences between
	  get_svm and set_svm

2007-11-12  Sebastian Henschel <shogun@kodeaffe.de>

	* features/StringFeatures.i, kernel/AUCKernel.cpp,
	  kernel/AUCKernel.h, kernel/CanberraWordKernel.cpp,
	  kernel/CanberraWordKernel.h, kernel/Chi2Kernel.cpp,
	  kernel/Chi2Kernel.h, kernel/Chi2Kernel.i,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.cpp, kernel/ConstKernel.h,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/DiagKernel.cpp, kernel/DiagKernel.h,
	  kernel/DistanceKernel.cpp, kernel/DistanceKernel.h,
	  kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h, kernel/GaussianShiftKernel.cpp,
	  kernel/GaussianShiftKernel.h, kernel/HammingWordKernel.cpp,
	  kernel/HammingWordKernel.h, kernel/HistogramWordKernel.cpp,
	  kernel/HistogramWordKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/Kernel.i, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearByteKernel.i,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/LinearKernel.i, kernel/LinearStringKernel.cpp,
	  kernel/LinearStringKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalAlignmentStringKernel.h,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/ManhattenWordKernel.cpp, kernel/ManhattenWordKernel.h,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchStringKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/SimpleKernel.h, kernel/SimpleKernel.i,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/StringKernel.h,
	  kernel/StringKernel.i, kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.i,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h,
	  kernel/WeightedDegreeStringKernel.i, kernel/WordMatchKernel.cpp,
	  kernel/WordMatchKernel.h: Primarily added constructor with
	  Features to each kernel.
	  Testing system has been vastly expanded by this, adding new
	  kernels and
	  their features.
	  Also cleaned up kernels' .h files and a bit .cpp files.

2007-11-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Features.cpp, features/RealFeatures.cpp,
	  features/SimpleFeatures.h, kernel/Kernel.cpp: more %ld -> %p
	  pointer printing fixes
	* guilib/GUIKernel.cpp: use %p to print pointers

2007-11-11  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIKernel.cpp: fix
	* guilib/GUIKernel.cpp: Implemented matlab interface for
	  GaussianShift kernel.
	  (untested)

2007-11-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Labels.cpp, guilib/GUIKernel.cpp, kernel/Chi2Kernel.cpp,
	  kernel/Chi2Kernel.h, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h: fix Chi2 kernel / 2class label test bug
	  reported by Christoph Lampert
	* classifier/svm/GPBTSVM.cpp, classifier/svm/LibLinear.cpp,
	  classifier/svm/LibSVM.cpp, classifier/svm/SVMOcas.cpp,
	  classifier/svm/SVM_light.cpp, features/Labels.cpp,
	  features/Labels.h, kernel/Kernel.cpp, lib/common.h: - make all
	  svms check that they indeed get a +1/-1 labeling bug reported by
	  Sebastian Hensche - thanks!
	  - update kernel name printing / fix duplicate id, reported by
	  Christoph Lampert

2007-11-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: argh, fix C C++ mixup on make depend / fixes
	  python-modular build
	* Makefile, configure, guilib/GUIClassifier.cpp,
	  kernel/KernelMachine.cpp: Use gcc -MM now to generate
	  dependencies (and fall back to makedepend if gcc
	  is not available). This has the big advantage that we generate
	  dependencies
	  only for non-system header files and that gcc knows all the
	  preprocessor
	  macros and we don't need makedepend anymore :)
	  
	  Finally enable batch computation/linadd in kernelmachines by
	  default

2007-11-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_light.cpp, classifier/svm/ssl.cpp, configure,
	  lib/Mathematics.h, lib/Signal.cpp, regression/svr/SVR_light.cpp:
	  - check for existance of log2 in a more principled way + add fall
	  back
	  - add support for Interix based on patches provided by S V N
	  Vishwanathan

2007-10-30  Sebastian Henschel <shogun@kodeaffe.de>

	* features/Alphabet.h: as it turned out, failed testing of a
	  CommonWordString kernel with
	  matlab was _NOT_ due to an error in guilib/ or features/, the
	  error was
	  in the matlab code which tried to convert the training features
	  twice,
	  instead of using the test features. *sigh*
	* features/Alphabet.h: blob of things in the regression tests; sort
	  of first getting in touch
	  with it and finding bugs.
	  mainly moved generator and generated mfiles into testsuite/ and
	  added/implemented some tests for matlab. some tests still do not
	  run
	  through, though.
	* lib/Mathematics.cpp: added display_vector for long long int

2007-10-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CanberraWordKernel.cpp, kernel/CanberraWordKernel.h,
	  kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/DiagKernel.cpp, kernel/DiagKernel.h,
	  kernel/DistanceKernel.cpp, kernel/DistanceKernel.h,
	  kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h, kernel/HammingWordKernel.cpp,
	  kernel/HammingWordKernel.h, kernel/HistogramWordKernel.cpp,
	  kernel/HistogramWordKernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/ManhattenWordKernel.cpp, kernel/ManhattenWordKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h: megabytes
	  -> INT
	* configure, kernel/Kernel.h, kernel/PolyKernel.cpp,
	  kernel/PolyKernel.h: make size the last argument with default=10

2007-10-27  Sebastian Henschel <shogun@kodeaffe.de>

	* configure: needed to add include of GCC header files on Debian
	  (pre)lenny amd64 to make it compile
	* configure: little bugfix: extra includes should be appended by
	  '-I', not '-L'

2007-10-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp: avoid a couple of (useless) memory
	  init's / copies

2007-10-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, classifier/svm/SVMOcas.h,
	  classifier/svm/libocas.cpp, gui/TextGUI.cpp,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUICommands.h: finally - ocas works

2007-10-25  Vojtech Franc <fravoj@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, classifier/svm/libocas.cpp: addgin
	  debug code

2007-10-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .authors, base/SGObject.h, classifier/LDA.h,
	  classifier/LinearClassifier.h, lib/Mathematics.h,
	  preproc/NormOne.cpp: add mr. kodeaffe to list of authors + minor
	  code edits we spotted while talking about the source

2007-10-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, classifier/svm/SVMOcas.h: one bug
	  less...

2007-10-24  Vojtech Franc <fravoj@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, features/SparseFeatures.h: fixed some
	  of the bugs

2007-10-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, classifier/svm/SVMOcas.h,
	  classifier/svm/libocas.cpp, classifier/svm/libocas.h,
	  classifier/svm/libocas_common.h, classifier/svm/qpssvmlib.cpp,
	  classifier/svm/qpssvmlib.h, features/SparseFeatures.h, lib/io.h:
	  debugging ocas

2007-10-24  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/common.h:
	* lib/common.h, structure/DynProg.cpp, structure/DynProg.h: some
	  timing routines and speedups for DynProg.

2007-10-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, classifier/svm/SVMOcas.h,
	  classifier/svm/libocas.cpp, classifier/svm/libocas.h,
	  classifier/svm/libocas_common.h, classifier/svm/qpssvmlib.cpp,
	  classifier/svm/qpssvmlib.h, guilib/GUIClassifier.cpp,
	  lib/Mathematics.h: start integration of libocas
	  (avoiding code duplication/resyncs between ocas/shogun)

2007-10-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMOcas.cpp, lib/Mathematics.h, lib/common.h:
	  compile fix:
	  static classes cannot access dynamic class members,
	  thus make number of threads an argument to paraaaallel qsort

2007-10-22  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/GaussianShiftKernel.cpp, kernel/GaussianShiftKernel.h,
	  kernel/GaussianShiftKernel.i, kernel/Kernel.i: added the
	  GaussianShiftKernel. Could not test it.
	  Hope it works.

2007-10-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/SparseLinearClassifier.i, classifier/svm/SVMOcas.cpp,
	  classifier/svm/SVMOcas.h, classifier/svm/SVMOcas.i,
	  classifier/svm/SVMPerf.cpp, classifier/svm/SVMPerf.h,
	  classifier/svm/SVMPerf.i, classifier/svm/qpssvmlib.cpp,
	  classifier/svm/qpssvmlib.h, features/SparseFeatures.h,
	  guilib/GUIClassifier.cpp, lib/Mathematics.cpp, lib/Mathematics.h,
	  lib/common.h: dysfunctional inital merge-try of SVMOcas

2007-10-18  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  guilib/GUIFeatures.h, kernel/MindyGramKernel.cpp: added support
	  for faster gram addition

2007-10-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/python_typemaps.i: fix a major memory leak (occured for all
	  functions returning arrays to python)
	  we still need some interface polishing here, i.e.
	  
	  1. the array is malloc'd in the python typemaps
	  2. the C++ functions fill in content
	  
	  or
	  
	  1. the C++ functions just return pointers to objects
	  2. in the python typemaps the array is malloc'd and content is
	  copied from
	  the C++ functions

2007-10-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, configure: add example for shogun's new library
	  interface - libshogun

2007-10-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Features.cpp, features/StringFeatures.h,
	  kernel/CommWordStringKernel.cpp, kernel/Kernel.cpp: - fix a
	  memory leak in python modular interface (occurring with any
	  kernel)
	  - remove some debug code

2007-10-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS: prepare for release 0.4.3

2007-10-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Mathematics.h: add insertion sort

2007-10-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Trie.cpp: code cleanup in obtaining w - no function change

2007-09-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Alphabet.cpp: fix warnings
	* configure, features/Alphabet.cpp, features/Alphabet.h,
	  features/StringFeatures.h, features/StringFeatures.i,
	  guilib/GUIMatlab.cpp, kernel/CommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h: * allow building with
	  custom cc settings and add option to disable cpu detection
	  * adjust R build system
	  * fix weighted commword kernel (normalization was wrong due to
	  change in
	  commword kernel) and add support for sliding window init

2007-09-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/SubGradientLPM.cpp, lib/Trie.cpp: - this should fix a
	  boundary bug in poim computation
	  - compile fix when cplex is available

2007-09-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/R.cpp, guilib/GUIR.cpp, kernel/Kernel.cpp, lib/Mathematics.h,
	  lib/io.cpp: compile fixes for R/python-modular/python
	* ChangeLog: Preparing for new Release shogun_0.4.2
	* NEWS, clustering/Hierarchical.cpp, clustering/KMeans.cpp,
	  lib/common.h: - make svn-tag-release now does a whole release
	  (just make sure src/NEWS is updated)
	  - minor clustering fixes

2007-09-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/KNN.cpp, classifier/svm/SubGradientSVM.cpp,
	  clustering/Hierarchical.cpp, clustering/Hierarchical.h,
	  distance/Chebyshew.cpp, distance/Distance.h, gui/Matlab.cpp,
	  guilib/GUIClassifier.cpp, guilib/GUICommands.h,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, lib/Mathematics.h,
	  structure/DynProg.cpp: hierarchical clustering works now

2007-09-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* clustering/Hierarchical.cpp, clustering/Hierarchical.h,
	  distance/NormSquaredDistance.cpp, guilib/GUIClassifier.cpp,
	  lib/Mathematics.h: still debugging hierarchical clustering
	* clustering/Clustering.i, clustering/Hierarchical.cpp,
	  clustering/Hierarchical.h, clustering/Hierarchical.i,
	  clustering/KMeans.h, guilib/GUIClassifier.cpp, lib/Mathematics.h,
	  lib/common.h: add aggregative single linkage hierarchical
	  clustering (to be debugged)

2007-09-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/KNN.h, clustering/KMeans.cpp, clustering/KMeans.h,
	  distributions/hmm/HMM.cpp, guilib/GUIClassifier.cpp,
	  lib/Mathematics.h: fix clustering and random number generation
	  for INT/DREAL
	* NEWS, clustering/KMeans.cpp, clustering/KMeans.h,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIMatlab.cpp: add get_classifier support for KMeans and
	  radius estimate fixes
	* classifier/KNN.h, clustering, clustering/Clustering.i,
	  clustering/KMeans.cpp, clustering/KMeans.h, clustering/KMeans.i,
	  distance/Distance.i, distance/NormSquaredDistance.cpp,
	  distance/NormSquaredDistance.h, distance/NormSquaredDistance.i,
	  distance/SparseDistance.h,
	  distance/SparseNormSquaredDistance.cpp,
	  distance/SparseNormSquaredDistance.h,
	  distance/SparseNormSquaredDistance.i, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h, guilib/GUIDistance.cpp,
	  guilib/GUIDistance.h, guilib/GUIKernel.cpp, kernel/Kernel.i,
	  kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h,
	  kernel/SparseNormSquaredKernel.i, lib/common.h: add clustering
	  methods support

2007-09-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h, lib/Trie.cpp, lib/Trie.h:
	  convert Trie to template and add DNATrie, POIMTrie as examples;
	  this is to not require the WDS kernel to use 24 extra bytes per
	  node
	* base/Version.cpp, base/Version.h, gui/Python.cpp,
	  guilib/GUIPython.cpp, kernel/LocalAlignmentStringKernel.cpp,
	  lib/Trie.cpp, lib/Trie.h: use INT idx in Trie
	  fix compile warnings (gcc4.2 warns about const char*)
	* kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp,
	  lib/Trie.h: POIMs work...!

2007-09-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/LibLinear.cpp, classifier/svm/LibLinear.h,
	  classifier/svm/SVM_linear.cpp, classifier/svm/SVM_linear.h,
	  classifier/svm/Tron.cpp, classifier/svm/Tron.h,
	  guilib/GUIClassifier.cpp: fix compilation with --disable-lapack

2007-08-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog: release 0.4.1
	* CONTRIBUTIONS, NEWS, guilib/GUIMatlab.cpp, kernel/AUCKernel.cpp,
	  kernel/GaussianKernel.i, kernel/KernelMachine.i,
	  kernel/LinearByteKernel.h, kernel/SimpleKernel.i, lib/Trie.h:
	  cleanups, prepare for release 0.4.1
	* classifier/SubGradientLPM.i: subgradlpm interface file
	* classifier/LPBoost.i, classifier/SparseLinearClassifier.i,
	  classifier/svm/LibLinear.i, classifier/svm/MPD.i,
	  kernel/CanberraWordKernel.i, kernel/HammingWordKernel.i,
	  kernel/ManhattenWordKernel.i: add missing interface files

2007-08-30  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h, lib/Trie.cpp,
	  lib/Trie.h: POIMS: Enabled to output partial scores, to aid
	  debugging.

2007-08-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h: add support for
	  POIMs and custom distributions
	* distributions/histogram/Histogram.cpp, gui/Matlab.cpp,
	  gui/Octave.cpp, gui/Python.cpp, gui/R.cpp, gui/TextGUI.cpp,
	  guilib/GUICommands.h: move all the commands into a common header
	  file GUICommands.h

2007-08-29  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp,
	  lib/Trie.h:

2007-08-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: get
	  normal support

2007-08-28  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h:

2007-08-24  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionStringKernel.cpp:
	* kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp:

2007-08-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIKernel.cpp: add POS2_NONORM kernel
	* classifier/svm/LibLinear.cpp, classifier/svm/SVM_linear.cpp,
	  classifier/svm/SVM_linear.h: avoid copying and directly use
	  SparseFeatures<DREAL> in liblinear

2007-08-23  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp,
	  lib/Trie.h:

2007-08-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMLin.cpp, classifier/svm/Tron.cpp: finally fix
	  SVMLin+liblinear
	* kernel/WeightedDegreePositionStringKernel.cpp: build whole
	  tree...

2007-08-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* regression/KRR.cpp: test whether kernel is inited on train()
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.h: add
	  compute_poim_wd test script/matlab interface access function

2007-08-22  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* lib/Trie.cpp:
	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h, lib/Trie.cpp,
	  lib/Trie.h:

2007-08-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/LinearClassifier.i,
	  classifier/SparseLinearClassifier.i,
	  classifier/svm/LibLinear.cpp, classifier/svm/SVMLin.cpp,
	  classifier/svm/SVMLin.h, classifier/svm/SVM_linear.cpp,
	  classifier/svm/Tron.cpp, classifier/svm/Tron.h,
	  classifier/svm/ssl.cpp, kernel/CustomKernel.cpp,
	  kernel/CustomKernel.h, kernel/CustomKernel.i: - add
	  python-modular support for the custom kernel
	  - lots of fixes for SVMLin / Liblinear

2007-08-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVMLin.cpp, classifier/svm/SVMLin.h,
	  classifier/svm/ssl.cpp, classifier/svm/ssl.h, configure,
	  guilib/GUIClassifier.cpp: fix typo in configure
	  add option to disable bias in svmlin bias

2007-08-21  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionStringKernel.POIM.cpp,
	  lib/Trie.POIM.cpp, lib/Trie.POIM.h, lib/Trie.cpp, lib/Trie.h:

2007-08-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIClassifier.cpp, lib/io.cpp: fix the python
	  examples/python io

2007-08-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/LibLinear.cpp, classifier/svm/LibLinear.h,
	  classifier/svm/SVM_linear.cpp, classifier/svm/SVM_linear.h,
	  classifier/svm/Tron.cpp, features/SparseFeatures.h,
	  guilib/GUIClassifier.cpp, guilib/GUIMatlab.cpp: add liblinear L2
	  / LR support including example. currently data is internally
	  copied, more intrusive changes to liblinear are required to fix
	  this:
	  
	  ( liblinear uses 1-based indices and terminates sparse vectors
	  with -1,
	  additionally a 'bias feature' may need to be added )

2007-08-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, gui/Matlab.cpp,
	  guilib/GUIFeatures.cpp, guilib/GUIMatlab.cpp: add support for
	  sliding window 'skip' option, which skips the first
	  n characters of the generated string (same thing as when using
	  convert
	  to do higher oder conversions)
	  
	  e.g. if you use:
	  sg('send_command', sprintf('convert TEST STRING CHAR STRING WORD
	  %i %i', order, order-1));
	  
	  then for a window len of 50 the order-1 chars should be skipped:
	  sg('send_command', sprintf('slide_window TEST 50 1 %d',
	  order-1));
	  
	  sg('from_position_list','TEST', 50,
	  0:(total_test_len-len-order+1), order-1);
	* guilib/GUIFeatures.cpp, guilib/GUIMatlab.cpp,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h: - add matlab support for
	  get features of type string/word
	  - make POIMs work with weighted spec kernel
	  - fix further issues with sliding window/spec (works for order=1
	  now)

2007-08-17  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionStringKernel.POIM.cpp,
	  lib/Trie.POIM.cpp, lib/Trie.POIM.h:

2007-08-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h, lib/Mathematics.cpp,
	  lib/Mathematics.h, preproc/SortUlongString.cpp,
	  preproc/SortWord.cpp, preproc/SortWordString.cpp: add radix sort
	  and make it the new default for spec* kernels, furthermore
	  add checks for spec kernel compute (whether all preprocs attached
	  to features
	  are actually applied). then also sort the the features when doing
	  init
	  (potentially resolving the problem with sliding window/spec
	  kernel)

2007-08-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CommWordStringKernel.cpp: remove debug code
	* kernel/CommWordStringKernel.cpp: POIM for spec bugfixes

2007-08-16  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/MindyGramFeatures.h, kernel/MindyGramKernel.cpp,
	  kernel/MindyGramKernel.h: removed several minor but fatal bugs in
	  Mindy distance to kernel mapping. In essence either use RBF
	  conversion or check that the distance is a negative CPD kernel.

2007-08-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Trie.h: new trie fields
	* classifier/svm/SubGradientSVM.cpp: rename A0 -> A_zero , B0 ->
	  B_zero as there seems to be some
	  naming collision with numpy
	* kernel/CommWordStringKernel.cpp: fix R svm example/enhance matlab
	  veriant
	  debugging spec poims

2007-08-13  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  kernel/MindyGramKernel.h: added support for latest Mindy library

2007-08-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CommWordStringKernel.cpp: removed debug code/make toy
	  example more convincing

2007-08-07  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CommWordStringKernel.cpp: spectrum poim seems to work...
	* features/Alphabet.cpp, kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalAlignmentStringKernel.h: - protein alphabet is now
	  (as all the others) only UPPERCASE
	  - add example for LA kernel
	* guilib/GUIKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/Kernel.i, kernel/LocalAlignmentStringKernel.cpp,
	  kernel/LocalAlignmentStringKernel.h,
	  kernel/LocalAlignmentStringKernel.i, lib/common.h: add support
	  for JP's local alignment kernel
	* classifier/svm/Tron.cpp, gui/Matlab.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.cpp, lib/Mathematics.h:
	  add function to compute POIM from spectrum kernel

2007-08-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* CONTRIBUTIONS, classifier/svm/LibLinear.cpp,
	  classifier/svm/LibLinear.h, classifier/svm/SVM_linear.cpp,
	  classifier/svm/SVM_linear.h, classifier/svm/Tron.cpp,
	  classifier/svm/Tron.h, guilib/GUIClassifier.cpp, lib/common.h:
	  add Xiang-Rui Wang and Chih-Jen Lin's
	  liblinear (for LS-logistic regression / L2 svm)

2007-08-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIFeatures.cpp, guilib/GUIMatlab.cpp: add support for
	  BYTE/WORD/ULONG based stringfeatures for sliding
	  window/position list

2007-08-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h: potentially fix the erraneous delete[]
	  happening after calling from_window_list

2007-07-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/Kernel.h: fix compilation with --disable-svm-light

2007-07-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, lib/Cplex.h: cplex 10 compat fixes as suggested by
	  Gorden Jemwa
	* Makefile: merge changes from 0.4.0
	* ChangeLog, Makefile: release 0.4.0
	* ChangeLog: update changelog
	* configure: set default gcc first
	* configure: forgotten break in pthread detection
	* configure: some cygwin/solaris configure fixes
	  
	  (though it still won't compile using solaris' compiler as it does
	  not support
	  dynamic argument macros)

2007-07-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: remove undefined suppress from configure
	* base/Version.cpp, base/Version.h, classifier/svm/LibSVM.cpp,
	  classifier/svm/SVM_light.cpp: fix the remaining python-modular
	  interface examples

2007-07-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIOctave.cpp: fix get_svm for octave
	* kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp: * argh, fix bug in spec
	  kernels: normalize functions needs lhs on add_to_normal
	  and rhs on compute optimized
	* classifier/Classifier.h, guilib/GUIClassifier.cpp: fix oneclass
	  svm bug

2007-07-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/KNN.h, classifier/Perceptron.h,
	  classifier/SubGradientLPM.h, classifier/svm/CPLEXSVM.h,
	  classifier/svm/GMNPSVM.h, classifier/svm/GNPPSVM.h,
	  classifier/svm/GPBTSVM.h, classifier/svm/LibSVM.h,
	  classifier/svm/LibSVM_multiclass.h,
	  classifier/svm/LibSVM_oneclass.h, classifier/svm/MPD.h,
	  classifier/svm/SVMLin.h, classifier/svm/SVMPerf.h,
	  classifier/svm/SVM_light.h, classifier/svm/SubGradientSVM.h,
	  guilib/GUIClassifier.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIOctave.cpp, lib/Trie.cpp, lib/common.h,
	  regression/svr/LibSVR.h, regression/svr/SVR_light.h: * fix many
	  of the script errors for matlab/octave,
	  currently crashing: test_one_class_svm.m test_complex_scenario.m
	* guilib/GUIPython.cpp, kernel/Kernel.i: * fix compilation error in
	  old python interfacew
	  * fix warning in new python interface
	* NEWS, kernel/FixedDegreeStringKernel.i,
	  kernel/LocalityImprovedStringKernel.i: * update NEWS
	  * fix remaining CharKernel occurances

2007-07-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h: + add linadd functionality
	  + svm test case/example

2007-07-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, guilib/GUIFeatures.h,
	  kernel/WeightedCommWordStringKernel.cpp: an example on how to use
	  the weighted spectrum kernel

2007-07-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h: - update octave example
	  - approaching the WDCWS kernel :-)
	* features/StringFeatures.h, guilib/GUIKernel.cpp,
	  guilib/GUIMatlab.cpp, kernel/CommWordKernel.cpp,
	  kernel/CommWordKernel.h, kernel/CommWordKernel.i,
	  kernel/Kernel.cpp, kernel/Kernel.i, kernel/SpectrumKernel.cpp,
	  kernel/SpectrumKernel.h, kernel/SpectrumKernel.i,
	  kernel/WeightedCommWordStringKernel.cpp,
	  kernel/WeightedCommWordStringKernel.h,
	  kernel/WeightedCommWordStringKernel.i, lib/common.h,
	  lib/suffixarray, preproc/SortWordString.cpp: - remove Spectrum
	  Kernel / suffix arrays due to licensing conflict (MPL vs. GPL)
	  - remove CommWord kernel
	  - add WeightedCommWordString Kernel

2007-07-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/SGObject.h: fix warning in base/SGObject

2007-07-11  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Mathematics.cpp: fixed minor compilation problem

2007-07-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, guilib/GUIKernel.cpp, kernel/CommWordKernel.h,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/SparseLinearKernel.cpp, kernel/SparseLinearKernel.h,
	  kernel/SparsePolyKernel.cpp, kernel/SparsePolyKernel.h: code
	  cleanup for sparse/linear kernels

2007-07-08  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/Kernel.cpp: added a missing case switch.

2007-06-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: fix syntax error in configure
	* features/StringFeatures.h: split asserts and don't fail if string
	  is already a sling window
	  string and shorter than window len

2007-06-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* NEWS, base/Version.cpp, base/Version.h,
	  classifier/Classifier.cpp, configure, distributions/hmm/HMM.h,
	  gui/Matlab.cpp, guilib/GUIFeatures.cpp, guilib/GUIHMM.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp: gcc-4.2 warning
	  fixes

2007-06-07  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/SubGradientLPM.cpp, classifier/svm/SubGradientSVM.cpp:
	  implement time limit also for subgradientsvm/lpm
	* classifier/Classifier.cpp, classifier/Classifier.h,
	  classifier/LPBoost.cpp, classifier/LPM.cpp,
	  classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  guilib/GUIClassifier.cpp, lib/Cplex.cpp, lib/Cplex.h: allow
	  setting training time limit for LPM/LPBoost
	* classifier/SubGradientLPM.cpp, classifier/svm/SubGradientSVM.cpp:
	  use abs(alpha*norm(w)^2) ... note that with floats abs may be
	  negative
	  for values very close to zero
	* classifier/SubGradientLPM.cpp, classifier/svm/SubGradientSVM.cpp:
	  remove <1e-6
	* classifier/SubGradientLPM.cpp, classifier/svm/SubGradientSVM.cpp:
	  argh, need to use abs(alpha) in convergence crit. of course

2007-06-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/SubGradientLPM.cpp, classifier/SubGradientLPM.h,
	  classifier/svm/SubGradientSVM.cpp, guilib/GUIClassifier.cpp: use
	  speedups from subgradientsvm
	* classifier/LPBoost.cpp, lib/Cplex.cpp: don't allocate columns on
	  stack (fixes lpboost crash)
	* lib/Cplex.cpp: uncomment debug code
	* classifier/SubGradientLPM.cpp, classifier/svm/SubGradientSVM.cpp,
	  lib/Cplex.cpp, lib/Mathematics.cpp: use cplex result directly

2007-06-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/SubGradientLPM.cpp, lib/Cplex.cpp: still not 100% the
	  same
	* lib/Cplex.cpp: add further ASSERTS
	* classifier/SubGradientLPM.cpp, guilib/GUIClassifier.cpp,
	  lib/Cplex.cpp: subgradLPM works now on 2d toy data
	* classifier/SubGradientLPM.cpp, classifier/SubGradientLPM.h,
	  lib/Cplex.cpp, lib/Cplex.h: finding minimum subgradient seems to
	  work now... now for the line search
	* classifier/SubGradientLPM.cpp:
	* classifier/LPBoost.cpp, classifier/LPM.cpp,
	  classifier/SubGradientLPM.cpp, classifier/svm/CPLEXSVM.cpp,
	  classifier/svm/qpbsvmlib.cpp, lib/Cplex.cpp, lib/Cplex.h:
	  debuggin...

2007-06-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/SubGradientLPM.cpp, classifier/SubGradientLPM.h,
	  guilib/GUIClassifier.cpp, lib/Mathematics.h: still not even close
	* classifier/LPBoost.cpp, lib/Cplex.cpp, lib/Cplex.h: - fix lpboost
	  now for the subgradientlpm
	* classifier/LPBoost.cpp, classifier/SubGradientLPM.cpp,
	  classifier/SubGradientLPM.h, guilib/GUIClassifier.cpp,
	  lib/common.h: add stubs for SubGradientLPM
	* classifier/LPBoost.cpp, lib/Cplex.cpp: lpboost still not working
	  correctly...

2007-06-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/LPBoost.cpp, classifier/LPBoost.h, classifier/LPM.cpp,
	  classifier/LPM.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/qpbsvmlib.cpp, guilib/GUIClassifier.cpp,
	  lib/Cplex.cpp, lib/Cplex.h: add lpboost code, I've yet to
	  understand how to obtain the result...
	* classifier/LPM.cpp, guilib/GUIClassifier.cpp, lib/Cplex.cpp,
	  lib/Mathematics.cpp, lib/Mathematics.h: LPM works now, now for
	  LPBoos
	* classifier/LPBoost.cpp, classifier/LPBoost.h, classifier/LPM.cpp,
	  classifier/LPM.h, features/SparseFeatures.h,
	  guilib/GUIClassifier.cpp, lib/Cplex.cpp, lib/Cplex.h: +
	  get_transpose() in sparse features
	  + wrap LPM
	* classifier/LPBoost.cpp, classifier/LPBoost.h, classifier/LPM.cpp,
	  classifier/LPM.h, guilib/GUIClassifier.cpp, lib/Cplex.cpp,
	  lib/Cplex.h, lib/common.h: +stubs for LPM/LPBoost, doing LPM now

2007-05-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, guilib/GUIClassifier.cpp,
	  lib/Mathematics.h: still playing with convergence criterion
	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/pr_loqo.cpp,
	  gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h: add svm_use_bias option, and support in
	  svm_light/subgradient svm
	* classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h: option to disable bias

2007-05-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp: playing with convergence
	  criterion

2007-05-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp,
	  kernel/WeightedDegreeStringKernel.cpp: - fix early convergence of
	  subgradient svm
	  - fix double free in wd kernel

2007-05-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp, lib/Cplex.cpp, lib/matlab.h:
	  forgot to check in matlab build fix:
	  
	  #if !defined(MX_API_VER) || MX_API_VER<0x07040000
	  
	  then define mwSize to be INT etc...

2007-05-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/GPBTSVM.cpp, classifier/svm/gpdt.h,
	  classifier/svm/gpdtsolve.cpp, classifier/svm/gpdtsolve.h,
	  classifier/svm/gpm.cpp, classifier/svm/gpm.h: -correct copyright
	  -add ctrl+c etc support to GPBTSVM
	* classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/qpbsvmlib.cpp,
	  guilib/GUIMatlab.cpp, lib/Cplex.cpp, lib/matlab.h: make sparse
	  matrices work with matlab 7.4
	* classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, guilib/GUIMatlab.cpp,
	  lib/Mathematics.cpp: - fix & test get/set features for sparse
	  vectors
	  - cleanup get/set features for dense vec's (lets hope no bugs)
	  - subgradsvm: check for overlap between qp's
	* guilib/GUIMatlab.cpp:
	* guilib/GUIMatlab.cpp: add sparse matrix matalb i/o support

2007-05-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp, classifier/svm/qpbsvmlib.cpp,
	  classifier/svm/qpbsvmlib.h: add gradient descent
	* classifier/svm/SubGradientSVM.cpp: compute only 1/2 of the Q
	  matrix
	* classifier/svm/SubGradientSVM.cpp, classifier/svm/qpbsvmlib.cpp,
	  lib/Mathematics.h: use gauss seidel by default
	* classifier/svm/qpbsvmlib.cpp, classifier/svm/qpbsvmlib.h:
	  implement greedy gauss seidel
	* classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, gui/TextGUI.cpp,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h, lib/Cplex.cpp:
	  - let cplex timeout after 0.5 seconds
	  - option to set max qpsize in subgradientsvm
	* classifier/svm/gpdt.cpp, classifier/svm/gpdtsolve.cpp: update
	  gpbt svm to version nov 2006 (released in january 2007)

2007-05-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp: - update subgradient svm
	  example
	  - fix objective comput. for subgradient svm
	  - introduce limit to qpsize. if we cannot solve the problem with
	  500 vectors at bound we choose a random but valid subgradient
	* features/SparseFeatures.h, guilib/GUIMatlab.cpp,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/SparseGaussianKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, lib/common.h: - assign seperate
	  types for sparselinear and sparsegaussian kernel
	  - support get_kernel_optimization for sparse linear kernel
	  
	  huh ?? gpbtsvm seems quite a bit faster than svmlight !!
	* classifier/svm/GPBTSVM.cpp, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/gpdtsolve.h: linadd fix #1
	* classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp: * enable
	  linadd for GPDT svm
	* classifier/svm/SubGradientSVM.h, guilib/GUIClassifier.cpp: make
	  qpsize configurable

2007-05-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/qpbsvmlib.cpp, lib/Cplex.cpp, lib/Cplex.h: remove
	  debug output & cleanups
	* classifier/svm/SubGradientSVM.cpp, classifier/svm/qpbsvmlib.cpp,
	  lib/Cplex.cpp: muten subgrad svm
	* classifier/svm/SubGradientSVM.cpp, classifier/svm/qpbsvmlib.cpp,
	  lib/Cplex.cpp: ...debugging...
	* lib/Cplex.cpp: potential cplex fix
	* classifier/svm/SubGradientSVM.cpp, classifier/svm/qpbsvmlib.cpp,
	  lib/Cplex.cpp, lib/Cplex.h, lib/Mathematics.cpp,
	  lib/Mathematics.h: debugging...
	* classifier/svm/SubGradientSVM.cpp, classifier/svm/qpbsvmlib.cpp,
	  lib/Cplex.cpp: cplex dense_to_cplex_sparse fix

2007-05-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/CPLEXSVM.cpp, classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/qpbsvmlib.cpp,
	  classifier/svm/qpbsvmlib.h, lib/Cplex.cpp, lib/Cplex.h: - add lp
	  and qp wrappers for cplex
	  - add cplex as a method in qpbsvmlib
	* configure: fix cplex autodetection
	* classifier/svm/SubGradientSVM.cpp, classifier/svm/qpbsvmlib.cpp:
	  fix uninitialised variables

2007-05-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/gpm.cpp, classifier/svm/qpbsvmlib.cpp,
	  classifier/svm/qpbsvmlib.h, structure/Plif.cpp: * fix copyright
	  in grad proj techn. svm
	  * add pr_loqo to qpbsvmlib

2007-05-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/LinearClassifier.h, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/pr_loqo.cpp,
	  gui/Matlab.cpp, guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, lib/Mathematics.h: *
	  fix matlab7.4 warnings (INT casts...)
	  * change argument order of vec1_plus_scalar_times_vec2
	  * turn pr_loqo warnings into debug messages
	  * add generic [bias,weights]=sg('get_classifier') call
	  * autoadjust epsilon for subgradient svm

2007-05-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIClassifier.cpp: synonymize SVMLIGHT with LIGHT for
	  compatibility
	* guilib/GUIR.cpp: fix get_matrix stuff
	* Makefile, classifier/svm/SubGradientSVM.cpp: R test update

2007-05-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp, gui/Octave.cpp, gui/R.cpp,
	  guilib/GUIOctave.h, guilib/GUIR.cpp, guilib/GUIR.h: classifier
	  interface build fixes for R/Octave
	* classifier/svm/SubGradientSVM.cpp: add problematic example
	* classifier/LDA.cpp, classifier/LPM.cpp,
	  classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h, classifier/svm/SVM.h,
	  classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/qpbsvmlib.cpp,
	  features/SparseFeatures.h, gui/GUI.h, gui/Matlab.cpp, gui/R.cpp,
	  gui/TextGUI.cpp, gui/TextGUI.h, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h, guilib/GUIKernel.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, guilib/GUIOctave.cpp,
	  guilib/GUIR.cpp, guilib/GUIR.h, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, lib/Mathematics.h: -remove guisvm
	  -convert everything to work with guiclassifier
	  -fix subgradientsvm

2007-05-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, gui/Octave.cpp,
	  guilib/GUIOctave.cpp, guilib/GUIOctave.h: - fix valgrind errors
	  - add classifier interface to octave
	* classifier/SparseLinearClassifier.h,
	  classifier/svm/SubGradientSVM.cpp, features/SparseFeatures.h,
	  guilib/GUIClassifier.cpp: ...debugging
	* guilib/GUIClassifier.cpp: remove unused variable
	* classifier/LDA.cpp, guilib/GUIClassifier.cpp: fix a LDA bias sign
	  bug
	* classifier/LDA.cpp, classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/qpbsvmlib.h,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  lib/Mathematics.h, lib/common.h: generic sg('new_classifier FOO')
	  / sg('classify')
	  functionality for lots of FOO

2007-05-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SubGradientSVM.cpp, classifier/svm/gmnplib.cpp,
	  classifier/svm/qpbsvmlib.cpp, classifier/svm/qpbsvmlib.h,
	  lib/Mathematics.h: make gbpsvmlib/gmnplib use CMath::max/min/abs
	* classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/qpbsvmlib.cpp,
	  classifier/svm/qpbsvmlib.h, lib/Mathematics.cpp,
	  lib/Mathematics.h: add vojtechs QP solver

2007-05-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/Classifier.h, classifier/svm/SVMPerf.cpp,
	  classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, features/SparseFeatures.h,
	  kernel/SparseLinearKernel.cpp, kernel/SparsePolyKernel.cpp,
	  lib/Mathematics.h: add helper functions for sparse feature
	  vectors:
	  
	  to compute dot products:
	  sparse x sparse
	  sparse x dense
	  to add sparse vectors to dense ones
	  
	  and let the sparse linear/poly kernel make use of them

2007-05-07  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h: Implemented
	  extensions in order to allow position weights per example.
	  Unsolved issues:
	  * normalization -> switch it off
	  * linadd & batch_computation -> switch it off
	  
	  An example script is given in
	  matlab/examples/test_wdshift_position_weights.m.

2007-04-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h: - fix threading bugs
	  in WDS kernel (it was never working correctly with > 1
	  thread), due to position_mask and max_shift vec being member
	  variables.
	  
	  solution: make max_shift_vec a local variable and remove (the
	  anyway unused)
	  position_mask completely
	* kernel/WeightedDegreePositionStringKernel.cpp: print
	  normalization_cons
	* classifier/svm/SVM_light.cpp, kernel/CombinedKernel.cpp: forgot
	  adding lin contributions for last thread

2007-04-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_light.cpp: Fixed a stupid (variable name
	  collision, t was used for time and threads in 2
	  nested loops) SVM light training bug which occurred only with
	  
	  threads>=2,
	  linadd=0,
	  batch_computation=0
	  svm -> reactivate_inactive examples
	  
	  (got triggered by the test_wd_wds_parallel.m example). Judging
	  from (previous)
	  comments in the code it looks like Gunnar has seen this at some
	  point but
	  forgot to tell me...
	* classifier/svm/SVM_libsvm.cpp, guilib/GUIFeatures.cpp: * remove
	  obsolete/nonworking examples
	  * adjust examples to work with new stringfeatures
	  * fix one class svm crasher
	* classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.i, classifier/svm/SVMPerf.cpp,
	  classifier/svm/SVMPerf.h, classifier/svm/SVMPerf.i,
	  classifier/svm/SubGradientSVM.cpp,
	  classifier/svm/SubGradientSVM.h, classifier/svm/SubGradientSVM.i,
	  guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp, kernel/Kernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h, lib/common.h: * remove PHYL
	  kernel completely
	  * remove nonsense normalisation in WD*kernels (sqrtdiag lhs/rhs
	  etc),
	  the wd/wds kernel really need merging
	  * fix test_wdshift_kernel script
	  * add stubs for vojtechs subgradient svm and svmperf

2007-04-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/LibSVM.cpp: fix the 2-class case by introducing
	  sign=model->label[0]
	* classifier/svm/LibSVM_multiclass.cpp: * multiclass libsvm fix for
	  label permutations:
	  libsvm internally relabels all examples and stores that label in
	  model->label.
	  thus the svm pair (i,j) translates to (model->label[i],
	  model->label[j]), so
	  the solution is to compute the svm index for the
	  (model->label[i], model->label[j]) pair
	  * note that if (model->label[i] > model->label[j]), signs have to
	  be flipped, which
	  also occured to us in the 2-class case, as libsvm internally uses
	  +1 for the first
	  occuring class and -1 for the other (which is why have to flip
	  signs if the
	  first label<0) for 2-class problems too.
	  * apapart from that it delivers very similar results to vojtech's
	  L2-multiclass b-svm
	* classifier/Classifier.i, classifier/KernelPerceptron.i,
	  classifier/LDA.i, classifier/LPM.i,
	  classifier/LinearClassifier.i, classifier/Perceptron.i,
	  classifier/SparseLinearClassifier.i, classifier/svm/GMNPSVM.cpp,
	  classifier/svm/GMNPSVM.i, classifier/svm/GNPPSVM.i,
	  classifier/svm/GPBTSVM.i, classifier/svm/LibSVM.i,
	  classifier/svm/LibSVM_multiclass.cpp,
	  classifier/svm/LibSVM_multiclass.h,
	  classifier/svm/LibSVM_multiclass.i,
	  classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/LibSVM_oneclass.h,
	  classifier/svm/LibSVM_oneclass.i,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/MultiClassSVM.h,
	  classifier/svm/MultiClassSVM.i, classifier/svm/SVM.h,
	  classifier/svm/SVM.i, classifier/svm/SVMLin.i,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_libsvm.h,
	  classifier/svm/SVM_light.i, classifier/svm/gmnplib.cpp,
	  distance/DistanceMachine.i, guilib/GUISVM.cpp,
	  kernel/KernelMachine.i, lib/common.h, regression/Regression.i,
	  regression/svr/LibSVR.cpp, regression/svr/LibSVR.i,
	  regression/svr/SVR_light.i: * add LibSVM multiclass support +
	  test script
	  * currently labelings maybe shuffled similiar to what we had with
	  2-class libsvm
	  * reshuffle python classifiers/regressors, add the other missing
	  svms to the python interface
	  * apply dos2unix on gmnp svm

2007-04-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_libsvm.h,
	  features/StringFeatures.h, gui/Matlab.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h: * add shrinking method of libsvm
	  2.84
	  * implement end test 'finding the most likely sequence'
	  for spectrum kernel
	  * add sg('get_SPEC_consensus') command + matlab example,
	  * fix svm_lin/svm .py scripts (axis tight/dynamically adjust
	  interval)

2007-04-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h,
	  kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp: fix
	  crashes when calling obtain_by_sliding_window
	  or obtain_from_position_list - TWICE
	* kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp,
	  lib/Trie.h: get_WD_consensus is finally working correctly.

2007-04-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp:
	  b0rken: backtracking needs to go over full tree (max. all 4^d
	  strings)

2007-04-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.cpp, lib/Mathematics.h,
	  lib/Trie.cpp, lib/Trie.h: display matrix column major + further
	  consensus work
	* gui/Matlab.cpp, guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h,
	  kernel/WeightedDegreePositionStringKernel.cpp, lib/Trie.cpp,
	  lib/Trie.h: +fix string/char features, kernels before based on
	  charfeatures should work
	  again in matlab
	  +add code + example for consensus computation for WDS kernel

2007-04-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h, lib/Trie.cpp,
	  lib/Trie.h: -fix from_position_list for TEST data (strlen(TEST)
	  == 4 !!!)
	  -start impl. of consensus
	  -whitespace cleanups

2007-04-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/GMNPSVM.cpp, classifier/svm/GMNPSVM.h,
	  classifier/svm/MultiClassSVM.cpp, classifier/svm/MultiClassSVM.h,
	  classifier/svm/SVM.h, classifier/svm/gmnplib.cpp,
	  classifier/svm/gmnplib.h, guilib/GUIPython.cpp: -add multiclass
	  svm wrapper
	  -add L2-b-svm multiclass matlab example
	  -vojtechs multiclass svm is now working

2007-04-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/GMNPSVM.cpp, classifier/svm/GMNPSVM.h,
	  classifier/svm/GMNPSVM.i, classifier/svm/gmnplib.cpp,
	  classifier/svm/gmnplib.h, classifier/svm/gnpplib.h,
	  features/Labels.cpp, features/Labels.h, guilib/GUISVM.cpp,
	  lib/common.h: + add vojtech's multiclass bsvm

2007-04-04  Jonas Behr <Jonas.Behr@tuebingen.mpg.de>

	* guilib/GUIPython.cpp:
	* guilib/GUIPython.cpp: solved transpose-problem of old python
	  interface

2007-04-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIOctave.cpp, guilib/GUIPython.cpp, guilib/GUIR.cpp,
	  kernel/LocalityImprovedStringKernel.cpp: R/python/octave
	  interface compile fixes + trivial warning in LIK

2007-04-02  Andre Noll <Andre.Noll@tuebingen.mpg.de>

	* kernel/SimpleLocalityImprovedStringKernel.cpp:
	  CSimpleLocalityImprovedStringKernel: simplify init()
	  
	  This trivial patch gets rid of an identation by immediately
	  returning
	  false in case result==false.
	* kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h:
	  CSimpleLocalityImprovedStringKernel: change type of size
	  parameter from LONG to INT
	* kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h:
	  SimpleLocalityImprovedStringKernel: trivial whitespace cleanups
	* guilib/GUIKernel.cpp, kernel/Kernel.i,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.i,
	  kernel/SimpleLocalityImprovedStringKernel.cpp,
	  kernel/SimpleLocalityImprovedStringKernel.h,
	  kernel/SimpleLocalityImprovedStringKernel.i:
	  SimpleLocalityImprovedCharKernel ->
	  SimpleLocalityImprovedStringKernel conversion
	  
	  This gets rid of the last remaining char kernel.
	* guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp: make the matlab
	  interface work again
	  
	  In the beginning was the plan, and then the specification;
	  And the plan was without form, and the specification was void.
	  
	  [...]
	  
	  And the President looked upon the product, and saw that it was
	  very good.
	* kernel/Kernel.i, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.i: remove
	  WeightedDegreeCharKernel and WeightedDegreePositionCharKernel
	  
	  These have been replaced by the corresponding string kernel.
	* kernel/LinearStringKernel.cpp: LinearStringKernel: simplify
	  compute_optimized()
	* kernel/LinearStringKernel.cpp: LinearStringKernel: Use
	  clear_normal() to initialize the normal vector.
	* kernel/LinearStringKernel.cpp: LinearStringKernel: Kill result
	  variable
	  
	  Also, add a comment to don't open code the dot product but to use
	  the corresponding function from Mathematics.h once this works
	  with
	  templates.
	* kernel/LinearStringKernel.cpp: LinearStringKernel: Simplify
	  clear_normal()
	  
	  Just use memset() to zero-out the array.
	* kernel/LinearStringKernel.cpp: LinearStringKernel: Kill pointless
	  cast
	* kernel/LinearStringKernel.cpp, kernel/LinearStringKernel.h:
	  CLinearStringKernel: Change type of size parameter from LONG to
	  INT
	* kernel/LinearStringKernel.cpp, kernel/LinearStringKernel.h:
	  LinearStringKernel: Trivial whitespace cleanups
	* kernel/Kernel.i, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearCharKernel.i,
	  kernel/LinearStringKernel.cpp, kernel/LinearStringKernel.h,
	  kernel/LinearStringKernel.i: rename LinearCharKernel to
	  LinearStringKernel
	  
	  and make it compile again.
	* kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.h,
	  kernel/WeightedDegreeCharKernelPolyA.i,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp,
	  kernel/WeightedDegreePositionPhylCharKernel.h: Remove
	  WeightedDegreeCharKernelPolyA and
	  WeightedDegreePositionPhylCharKernel
	  
	  They are unused according to Soeren, so changing them to become a
	  String kernel is a waste of time.
	  
	  deleted: trunk/src/kernel/WeightedDegreeCharKernelPolyA.cpp
	  deleted: trunk/src/kernel/WeightedDegreeCharKernelPolyA.h
	  deleted: trunk/src/kernel/WeightedDegreeCharKernelPolyA.i
	  deleted:
	  trunk/src/kernel/WeightedDegreePositionPhylCharKernel.cpp
	  deleted: trunk/src/kernel/WeightedDegreePositionPhylCharKernel.h
	* kernel/PolyMatchStringKernel.i: PolyMatchStringKernel.i: Fix
	  missing char->string replacement
	* kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchStringKernel.h:
	  PolyMatchStringKernel: Simplify compute()
	  
	  Also, change the "size" parameter of the contructor from LONG to
	  INT
	* kernel/PolyMatchStringKernel.cpp: PolyMatchStringKernel: use
	  init_sqrt_diag()
	* kernel/PolyMatchStringKernel.cpp: PolyMatchStringKernel: Kill
	  pointless initializations with 1
	* kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h, kernel/Kernel.cpp,
	  kernel/Kernel.h: move init_sqrt_diag() from
	  CFixedDegreeStringKernel to CKernel
	  
	  It is needed for other kernels as well, so this will aid in
	  removing duplicated code.
	* kernel/Kernel.i: char -> string conversion for kernel/Kernel.i
	* kernel/PolyMatchStringKernel.cpp: PolyMatchStringKernel: more
	  trivial whitespace cleanups
	* kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchStringKernel.h:
	  PolyMatchStringKernel: Trivial whitespace cleanup
	* guilib/GUIKernel.cpp, kernel/PolyMatchStringKernel.cpp,
	  kernel/PolyMatchStringKernel.h, kernel/PolyMatchStringKernel.i:
	  PolyMatchStringKernel: replace char features by string features
	* guilib/GUIKernel.cpp, kernel/PolyMatchCharKernel.cpp,
	  kernel/PolyMatchCharKernel.h, kernel/PolyMatchCharKernel.i,
	  kernel/PolyMatchStringKernel.cpp, kernel/PolyMatchStringKernel.h,
	  kernel/PolyMatchStringKernel.i: rename PolyMatchCharKernel to
	  PolyMatchStringKernel
	  
	  renamed: trunk/src/kernel/PolyMatchCharKernel.cpp ->
	  trunk/src/kernel/PolyMatchStringKernel.cpp
	  renamed: trunk/src/kernel/PolyMatchCharKernel.h ->
	  trunk/src/kernel/PolyMatchStringKernel.h
	  renamed: trunk/src/kernel/PolyMatchCharKernel.i ->
	  trunk/src/kernel/PolyMatchStringKernel.i
	* kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h: FixedDegreeStringKernel:
	  Introduce init_sqrt_diag()
	  
	  This private method computes the vector containing the square
	  root
	  of the diagonal elements of the kernel. This computation is
	  needed
	  twice in the current code, so it makes sense to move that code
	  into
	  its own helper function.
	* kernel/FixedDegreeStringKernel.cpp: FixedDegreeStringKernel: Kill
	  pointless initialization
	  
	  The entries of sqrtdiag_lhs and sqrtdiag_rhs are all set to one,
	  only
	  to reset them to their proper value a few lines later (without
	  using
	  them in between of course). So kill that pointless
	  initialization.
	* kernel/FixedDegreeStringKernel.cpp: FixedDegreeStringKernel: Fix
	  ASSERT() placement
	  
	  It's pointless to check for memory allocation failure _after_
	  using
	  the return value of new.
	* kernel/FixedDegreeStringKernel.cpp: FixedDegreeStringKernel: Kill
	  pointless NULL assignment
	  
	  A new value is assigned to sqrtdiag_lhs one line below.
	* kernel/FixedDegreeStringKernel.cpp: FixedDegreeStringKernel: Use
	  DREAL instead of double
	  
	  We're returning DREAL, so this makes more sense.
	* kernel/FixedDegreeStringKernel.cpp: FixedDegreeStringKernel:
	  Simplify compute()
	  
	  Only the product of the squareroots of lhs and rhs
	  is used, so compute it in one go.
	* kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h: FixedDegreeStringKernel:
	  Trivial whitespace fixes
	* guilib/GUIKernel.cpp, kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h,
	  kernel/FixedDegreeStringKernel.i: FixedDegreeStringKernel:
	  replace char features by string features
	* guilib/GUIKernel.cpp, kernel/FixedDegreeCharKernel.cpp,
	  kernel/FixedDegreeCharKernel.h, kernel/FixedDegreeCharKernel.i,
	  kernel/FixedDegreeStringKernel.cpp,
	  kernel/FixedDegreeStringKernel.h,
	  kernel/FixedDegreeStringKernel.i: Rename FixedDegreeCharKernel to
	  FixedDegreeStringKernel
	  
	  renamed: trunk/src/kernel/FixedDegreeCharKernel.cpp ->
	  trunk/src/kernel/FixedDegreeStringKernel.cpp
	  renamed: trunk/src/kernel/FixedDegreeCharKernel.h ->
	  trunk/src/kernel/FixedDegreeStringKernel.h
	  renamed: trunk/src/kernel/FixedDegreeCharKernel.i ->
	  trunk/src/kernel/FixedDegreeStringKernel.i
	* kernel/LocalityImprovedStringKernel.cpp:
	  LocalityImprovedStringKernel: Kill another instance of open coded
	  pow()
	* kernel/LocalityImprovedStringKernel.cpp:
	  LocalityImprovedStringKernel: Final whitespace cleanups
	* kernel/LocalityImprovedStringKernel.cpp:
	  LocalityImprovedStringKernel: Don't open code the pow() function.
	* kernel/LocalityImprovedStringKernel.cpp:
	  LocalityImprovedStringKernel: More trivial whitespace cleanups
	  
	  Replace spaces by tabs and add additional spaces according to
	  Coding style.
	* kernel/LocalityImprovedStringKernel.cpp:
	  LocalityImprovedStringKernel: Simplify for loop
	  
	  One line of code is obviously equivalent to the six lines we've
	  had before.
	* kernel/LocalityImprovedStringKernel.cpp:
	  LocalityImprovedStringKernel: Trivial whitespace cleanup
	  
	  Only replace leading spaces by tabs.
	* kernel/LocalityImprovedStringKernel.cpp:
	  LocalityImprovedStringKernel: minor cleanup in init()
	* guilib/GUIKernel.cpp, kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/LocalityImprovedStringKernel.i:
	  LocalityImprovedStringKernel: replace char features by string
	  features
	* guilib/GUIKernel.cpp, kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h,
	  kernel/LocalityImprovedCharKernel.i,
	  kernel/LocalityImprovedStringKernel.cpp,
	  kernel/LocalityImprovedStringKernel.h,
	  kernel/LocalityImprovedStringKernel.i: rename
	  LocalityImprovedCharKernel to LocalityImprovedStringKernel
	  
	  The change to GUIKernel.cpp was neccessary to make it compile
	  again.
	  
	  modified: trunk/src/guilib/GUIKernel.cpp
	  renamed: trunk/src/kernel/LocalityImprovedCharKernel.cpp ->
	  trunk/src/kernel/LocalityImprovedStringKernel.cpp
	  renamed: trunk/src/kernel/LocalityImprovedCharKernel.h ->
	  trunk/src/kernel/LocalityImprovedStringKernel.h
	  renamed: trunk/src/kernel/LocalityImprovedCharKernel.i ->
	  trunk/src/kernel/LocalityImprovedStringKernel.i

2007-03-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: readd the undefined suppress to the configure options
	  whether the rest works only time will tell :-)

2007-03-25  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* Makefile: fixed some problems on intel macs... soeren, please
	  check it.
	  G

2007-03-22  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* configure: fixed some configure issues on imacs. seems to work.

2007-03-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Matlab.cpp, guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp: WD
	  kernel string support

2007-03-14  Andre Noll <Andre.Noll@tuebingen.mpg.de>

	* lib/Trie.h: Trie.h: Simplify check_treemem()
	  
	  and reduce line length and white space usage according
	  to the shogun coding style.
	* lib/Trie.h: Trie.h: Trivial whitespace cleanups

2007-03-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp: matlab interface compile
	  fix
	* features/StringFeatures.h, features/StringFeatures.i,
	  gui/Matlab.cpp, gui/TextGUI.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  guilib/GUIOctave.cpp, kernel/Kernel.i,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeStringKernel.cpp,
	  kernel/WeightedDegreeStringKernel.h,
	  kernel/WeightedDegreeStringKernel.i, lib/common.h: obtain by
	  sliding window / by position list

2007-03-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUISVM.cpp: by default use linadd

2007-03-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionStringKernel.cpp: also add missing
	  init to wds -string kernel
	* kernel/WeightedDegreePositionCharKernel.cpp: fix WDS (missing
	  NULL init of shifts)
	* features/StringFeatures.h, kernel/CommUlongStringKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/WeightedDegreePositionStringKernel.i: * merge changes from
	  0.3.2
	  * add sliding window stringfeatures example
	  * allow features to be None for WDS kernel

2007-03-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Array.i, lib/Array2.i, lib/Array3.i: filter swig array
	  Overloaded warnings
	* kernel/SimpleLocalityImprovedCharKernel.cpp: add locality
	  improved kernel example
	* features/CharFeatures.cpp, features/CharFeatures.i,
	  features/StringFeatures.h, kernel/DistanceKernel.cpp,
	  kernel/SpectrumKernel.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h: * allow the alphabet
	  type in the Stringfeatures constructor
	  * add support for wds CHAR kernel / update example
	  
	  important issue valid for all kernels:
	  in init(lhs, rhs), the first call should be
	  SuperClass::init(lhs,rhs);
	  as this will check for NULL ptr, valid feature class & type
	  
	  this was broken for the WD* kernels and lead to hard to track
	  erros.
	* kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  kernel/WeightedDegreePositionStringKernel.i: wds STRING kernel
	  now works from inside of python.
	  
	  although it means code duplication, I will merge changes to the
	  wds CHAR kernel

2007-03-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.h, lib/io.cpp, lib/matlab.h,
	  structure/Plif.cpp, structure/Plif.h: introduce lib/matlab.h
	  which encapsulates
	  the compatibilty define (as we already have
	  for python)
	  
	  note that the plif & best_path_trans functions
	  spit out quite some warnings...breakage to be expected
	* guilib/GUIMatlab.h: matlab 7.4 compile/compatibility fix
	* Makefile, base/SGObject.i, distributions/hmm/HMM.cpp,
	  distributions/hmm/LinearHMM.cpp, features/FKFeatures.i,
	  features/Features.i, features/RealFileFeatures.i,
	  features/StringFeatures.h, features/StringFeatures.i,
	  features/TOPFeatures.h, features/TOPFeatures.i,
	  features/WordFeatures.cpp, kernel/CommWordKernel.i,
	  kernel/CustomKernel.i, kernel/DiagKernel.i,
	  kernel/DistanceKernel.i, kernel/FixedDegreeCharKernel.i,
	  kernel/GaussianKernel.i, kernel/HistogramWordKernel.i,
	  kernel/Kernel.i, kernel/LinearByteKernel.i,
	  kernel/LinearCharKernel.i, kernel/LinearKernel.i,
	  kernel/LinearWordKernel.i, kernel/LocalityImprovedCharKernel.i,
	  kernel/PolyKernel.i, kernel/PolyMatchCharKernel.i,
	  kernel/PolyMatchWordKernel.i, kernel/SalzbergWordKernel.i,
	  kernel/SimpleKernel.i, kernel/SimpleLocalityImprovedCharKernel.i,
	  kernel/SparseGaussianKernel.i, kernel/SparseKernel.i,
	  kernel/SparseLinearKernel.i, kernel/SparseNormSquaredKernel.i,
	  kernel/SparsePolyKernel.i,
	  kernel/WeightedDegreeCharKernelPolyA.i, kernel/WordMatchKernel.i,
	  lib/io.i: include markov chain example and add missing
	  features/kernels to
	  the python interface (though I really only wanted to interface
	  the WDS kernel ...)

2007-03-07  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/GaussianKernel.cpp: remove debug output
	* ChangeLog, TODO, kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WeightedDegreePositionStringKernel.i: * update to 0.3.2
	  * start wds kernel python interf.

2007-03-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/Version.h, distributions/hmm/HMM.cpp, gui/Octave.cpp: merge
	  changes back to trunk
	* NEWS, guilib/GUIHMM.cpp, guilib/GUIOctave.cpp,
	  structure/DynProg.i: release shogun 0.3.2 fixing a number of bugs
	  in the examples
	  and several valgrind hits in octave/hmm adding support for
	  numpy boolean -> for msplicer v0.2

2007-03-05  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* base/Version.h: fixed version string.
	  G

2007-03-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/python_typemaps.i: * much more detailed error outputs when
	  types/dims don't match
	  * workaround a numpy issue when long == int (long and int are
	  different
	  types inside of numpy, but both are 32bit on 32bit machines)
	  if they are 32bit and same size then treat long as int

2007-03-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* README.developer, base/SGObject.h, classifier/Classifier.cpp,
	  classifier/Classifier.h, features/CombinedFeatures.h,
	  features/StringFeatures.h, guilib/GUIKernel.cpp,
	  kernel/CombinedKernel.h, kernel/Kernel.cpp,
	  kernel/KernelMachine.cpp, kernel/KernelMachine.h: make obj->ref()
	  / obj->unref() a macro
	  SG_REF(obj)
	  SG_UNREF(obj)
	  which is empty for the static interfaces
	* base/SGObject.h, guilib/GUIKernel.cpp, kernel/KernelMachine.h,
	  kernel/WeightedDegreePositionCharKernel.i: as we now unref()
	  objects on destruction we have to
	  make sure no one else killed the object before we unref() it
	  this however may happen in all the static guis (matlab,...) so
	  all interfaces except the python-modular one are broken if
	  commands
	  like clean_features/clean_kernels are called in wrong order
	  
	  this fixes just enough to make the test_wd_kernel script run

2007-03-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.cpp, features/StringFeatures.h,
	  features/StringFeatures.i, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  lib/python_typemaps.i: this adds support for string featuers in
	  python as follows:
	  
	  >>> from shogun.Features import *
	  >>> x=StringCharFeatures(Alphabet(DNA))
	  >>> x.set_string_features(['blafoo','hallo','dummdidumm'])
	  >>> x.select_feature_vector(1)
	  >>> x.get_str()
	  array(['h', 'a', 'l', 'l', 'o'],
	  dtype='|S1')
	  
	  there is a certain overhaul in the WD* kernels necessary -
	  as the shift kernel is not yet really supported (and we are
	  losing
	  control if we go on duplicating the code like this...)

2007-03-02  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp: cleaned up a bit. still works.
	* guilib/GUIMatlab.cpp, lib/Array.h, lib/Array2.h, lib/Array3.h,
	  structure/DynProg.cpp: Mainly debug changes... cleanup soon.
	  G

2007-03-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h,
	  lib/python_typemaps.i: get rid of unused function definitions
	  causing compile
	  problems
	* kernel/Kernel.i, kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WeightedDegreePositionStringKernel.i, lib/python.h: add
	  missing files and include WDS kernel in Kernel.i
	* ChangeLog, classifier/LinearClassifier.i,
	  classifier/SparseLinearClassifier.i, classifier/svm/SVM.i,
	  distance/Distance.i, features/Alphabet.i,
	  features/ByteFeatures.i, features/CharFeatures.i,
	  features/Labels.i, features/RealFeatures.i,
	  features/ShortFeatures.i, features/SimpleFeatures.i,
	  features/StringFeatures.h, features/StringFeatures.i,
	  features/WordFeatures.i, guilib/GUIPython.cpp, kernel/Kernel.i,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.cpp,
	  kernel/WeightedDegreePositionStringKernel.h, lib/Signal.cpp,
	  lib/Signal.h, lib/io.cpp, lib/numpy.i, lib/python_typemaps.i,
	  regression/svr/SVR_light.cpp, structure/Structure.i: * this adds
	  a obtain_by_sliding_window function to StringFeatures
	  * for that to work we need the WD kernel to work on string
	  features
	  which is what WeightedDegreePositionStringKernel introduces. as
	  this is
	  yet another code duplication we should get rid of (or creat a
	  generic
	  WD kernel object every WD kernel derives from).
	  * numpy.i is renamed to python_typemaps.i (as we need lists of
	  strings to be mapped to string features - not exactly a numeric
	  problem)

2007-02-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.i: replace $self -> self as this seems to
	  be troublesome on
	  older swig versions

2007-02-27  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Array.h: fixed another wrong free...

2007-02-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, features/Features.i, features/ShortFeatures.h,
	  features/ShortFeatures.i, features/SimpleFeatures.h,
	  features/SimpleFeatures.i, features/StringFeatures.h,
	  features/StringFeatures.i, features/WordFeatures.h,
	  features/WordFeatures.i: workaround some broken swig oddities
	  (which were working using
	  swig 1.3.2x): swig does not apply typemaps to templated classes
	  anymore... use %extend and define wrapper functions to call
	  the real functions...

2007-02-27  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/numpy.i, structure/DynProg.i:

2007-02-27  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, base/SGObject.h, configure: * this fixes the many
	  pointer related warnings
	  * also fixes configure for atlas/lapack

2007-02-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* README.developer, base/Parallel.cpp, base/Parallel.h,
	  base/SGObject.h, base/SGObject.i, classifier/Classifier.cpp,
	  classifier/Classifier.h, classifier/Classifier.i,
	  classifier/PluginEstimate.cpp, classifier/svm/GNPPSVM.cpp,
	  classifier/svm/GPBTSVM.cpp, classifier/svm/GPBTSVM.h,
	  classifier/svm/LibSVM.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/gnpplib.cpp, distance/Distance.cpp,
	  distributions/Distribution.cpp, features/Alphabet.cpp,
	  features/CombinedFeatures.h, features/Features.cpp,
	  features/Labels.cpp, features/SimpleFeatures.h,
	  features/StringFeatures.h, gui/Matlab.cpp, gui/Octave.cpp,
	  gui/R.cpp, gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIDistance.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIHMM.cpp, guilib/GUIKernel.cpp, guilib/GUILabels.cpp,
	  guilib/GUIMath.cpp, guilib/GUIMatlab.cpp, guilib/GUIOctave.cpp,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPreProc.cpp,
	  guilib/GUIPython.cpp, guilib/GUISVM.cpp, guilib/GUITime.cpp,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/Kernel.cpp, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, lib/Array.h, lib/Cache.h, lib/Cplex.cpp,
	  lib/DynamicArray.h, lib/File.cpp, lib/Mathematics.cpp,
	  lib/Signal.cpp, lib/Signal.h, lib/SimpleFile.h, lib/Time.cpp,
	  lib/Trie.cpp, lib/io.cpp, lib/io.h, preproc/PreProc.cpp,
	  structure/DynProg.cpp: * introduced reference counted objects for
	  automagic swig object deallocation
	  * fixed a crasher bug in Array destructor
	  * updated developer readme
	  * added python signal handling: ctrl+c now raises a keyboard
	  exception if not
	  in a big loop. in big loops it asks whether to immediately
	  stop/prematurely stop
	  * fix crasher bugs (array out of bounds read/write) in
	  translate_from_single_order
	  
	  using the reference counts from above we may now think of taking
	  references
	  to numpy objects instead of copying them :-)

2007-02-23  Andre Noll <Andre.Noll@tuebingen.mpg.de>

	* lib/io.cpp: io.cpp: trivial whitespace cleanup

2007-02-22  Andre Noll <Andre.Noll@tuebingen.mpg.de>

	* .authors: add myself to authors
	* lib/Array.h: further Array.h cleanups
	  
	  - remove unneccessary template
	  - simplify resize_array()
	  - reduce line width
	  - get rid of some duplicate SG_PRINT()s
	  - add myself to authors

2007-02-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .authors, ChangeLog, lib/Array.h: * added jonas to authors
	  * added andre's array cleanup patches - now it is readable
	  again!!
	  
	  - The whole file was indented by one tab. Why?
	  - This patch replaces the #ifdef ARRAY_STATISTICS mess we've had
	  before
	  by a set of macros which expand to nothing if ARRAY_STATISTICS is
	  not defined.
	* ChangeLog, classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h, classifier/svm/SVMLin.cpp,
	  classifier/svm/ssl.cpp, classifier/svm/ssl.h,
	  guilib/GUIKernel.cpp, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h: +impl. bias in svmlin
	* classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h,
	  classifier/SparseLinearClassifier.i, classifier/svm/SVMLin.cpp,
	  classifier/svm/SVMLin.h, classifier/svm/ssl.cpp,
	  classifier/svm/ssl.h: make SVMLin work in practice (works only
	  w/o bias sofa)

2007-02-22  Jonas Behr <Jonas.Behr@tuebingen.mpg.de>

	* Makefile, guilib/GUIKernel.cpp: * removed CharPolyKernel
	  * add make test

2007-02-21  Jonas Behr <Jonas.Behr@tuebingen.mpg.de>

	* kernel/CharPolyKernel.cpp, kernel/CharPolyKernel.h,
	  kernel/CharPolyKernel.i: removed unused CharPolyKernel
	  updated test scripts

2007-02-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* CONTRIBUTIONS, ChangeLog, classifier/Classifier.i,
	  classifier/SparseLinearClassifier.cpp,
	  classifier/SparseLinearClassifier.h,
	  classifier/SparseLinearClassifier.i,
	  classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/KerthiPrimalSVM.h, classifier/svm/SVMLin.cpp,
	  classifier/svm/SVMLin.h, classifier/svm/ssl.cpp,
	  classifier/svm/ssl.h, features/ByteFeatures.h,
	  features/CharFeatures.h, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/Features.i,
	  features/RealFeatures.h, features/RealFileFeatures.cpp,
	  features/RealFileFeatures.h, features/ShortFeatures.h,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/SparseFeatures.i, features/StringFeatures.i,
	  features/TOPFeatures.cpp, features/TOPFeatures.h,
	  features/WordFeatures.h, lib/Mathematics.h: * further cleanup
	  patches from andre (Mathematics.h):
	  - The code fails badly in case size==1.
	  -Also, clean up the placement of spaces of that function
	  according
	  to README.developers.
	  The code was broken for n<=0: For n==0 it would print only
	  "name=[", and it would segfault for n<0. Fix that up as well.
	  We're compiling with -O, so gcc will unroll the last iteration of
	  the loop, i.e. the new code should not be slower than the old
	  code.
	  - Kill four pointless loops and don't segfault for rows<=0 or
	  cols<=0.
	  * remove broken KerthiPrimalSVM
	  * implement CSparseLinearClassifier
	  * derive CSVMLin from CSparseLinearClassifier
	  * add example on how to use SVMLin from python
	  * update AUTHORS, CONTRIBUTIONS
	  * make all the cache sizes in all the feature objects
	  Constructors
	  INT (as they are in MB anyway)
	  
	  Yes. We now have Sindhwani/Keerthis primal svm in shogun.

2007-02-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: 3.1 merging
	* ChangeLog: releasing
	* base/Parallel.h, classifier/svm/SVMLin.cpp,
	  classifier/svm/SVMLin.h: build fix on osx
	* ChangeLog, base/Parallel.h, configure: * number of processors
	  autodetection for LINUX/DARWIN
	  removed that part from configure
	* NEWS, configure: bugfix release 0.3.1
	* ChangeLog, lib/Mathematics.h: define a binary search helper
	  function as suggested by andre
	* lib/Mathematics.h: (more of andre's cleanups)
	  
	  More or less a trivial cleanup that reduces lines of code quite a
	  bit
	  while improving readability.
	  
	  The only nontrivial change is the skip of the register keyword
	  for
	  the diff variable. Nowadays, register should not be used anymore
	  as
	  it does more harm than good. We're using -O anyway.

2007-02-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* base/Parallel.h, configure, lib/Mathematics.h: * fix configure
	  check for sysconf _SC_NPROCESSORS_ONLN (should work now on macs)
	  * use cxx_check to test for powl()
	  * use random() in randperm()
	* ChangeLog, classifier/svm/SVMLin.cpp, classifier/svm/SVMLin.h,
	  lib/Mathematics.h: * applied andre's cleanup patches
	  * some more SVMLin fixes

2007-02-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, lib/io.h: rework configure to put -D$OS also into
	  DEFINES

2007-02-17  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, INSTALL, lib/io.cpp, lib/io.h, structure/DynProg.cpp:
	  * update install instructions ( --enable-<interface> ->
	  --interface=<interface> )
	  * select functions seems to require a non const dirent* on DARWIN

2007-02-17  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/io.cpp, lib/io.h, structure/DynProg.cpp: had to fix a few
	  thinks to get it to compile on intel macs.

2007-02-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distributions/hmm/GHMM.h: make con/destructor public

2007-02-14  Torsten Werner <mail.twerner@googlemail.com>

	* Makefile: Don't count empty lines.

2007-02-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* README.developer: * Release 0.3.0
	  * update developer README
	* ChangeLog, NEWS, lib/io.cpp, lib/io.h: this will be version
	  0.3.0, add io set_target_to_stderr/stdout functions

2007-02-14  Vojtech Franc <fravoj@first.fraunhofer.de>

	* classifier/svm/GNPPSVM.cpp, classifier/svm/GNPPSVM.h,
	  classifier/svm/gnpplib.cpp, classifier/svm/gnpplib.h: Copyright
	  info updated, fixed stopping condition bug.

2007-02-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, NEWS, structure/DynProg.cpp, structure/DynProg.h:
	  remove debug code, prepare for new release 0.3.1

2007-02-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .authors, ChangeLog, guilib/GUISVM.cpp: add vojtech to authors /
	  finish relabeling to GNPP SVM
	* ChangeLog, classifier/svm/GNPPSVM.cpp,
	  classifier/svm/gnpplib.cpp, kernel/Kernel.cpp: + fixed some (?)
	  npp svm bugs

2007-02-13  Vojtech Franc <fravoj@first.fraunhofer.de>

	* classifier/svm/GNPPSVM.i: swig interface
	* classifier/svm/GNPPSVM.cpp, classifier/svm/GNPPSVM.h,
	  classifier/svm/SVM.i, classifier/svm/gnpplib.cpp,
	  classifier/svm/gnpplib.h, guilib/GUISVM.cpp, lib/common.h: added
	  GNPP (Generalized Nearest Point Problem) SVM

2007-02-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* README.developer: updated sections about macros
	* README.developer:
	* README.developer: + update coding conventions (limit #ifdef
	  usage)
	* .authors, ChangeLog, INSTALL, README.developer,
	  classifier/svm/SVM.cpp, features/CombinedFeatures.cpp: updated
	  authors and coding conventions

2007-02-12  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/Plif.cpp, structure/PlifArray.cpp: works.
	  cleanup.
	* structure/Plif.cpp:
	* structure/Plif.cpp:
	* structure/Plif.cpp, structure/Plif.h:
	* structure/Plif.cpp:
	* structure/Plif.cpp: more debug output...
	  
	  PS: need this many checkins since I'm comparing matlab and python
	  to give same results and need two svn checkouts in sync.

2007-02-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, features/CombinedFeatures.i, features/Features.i,
	  guilib/GUIKernel.cpp, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h, kernel/CombinedKernel.i,
	  kernel/Kernel.i: * add combined kernel / combined features to
	  python interf.

2007-02-12  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/Plif.cpp, structure/PlifArray.cpp:
	* structure/Plif.cpp, structure/PlifArray.cpp: some more fixes...
	* structure/Plif.cpp: *** empty log message ***
	* structure/PlifArray.cpp: more debug stuff ... (sorry for the
	  spam).
	* structure/PlifArray.cpp: *** empty log message ***
	* structure/DynProg.cpp:

2007-02-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Alphabet.i: * put python-modular examples in separate
	  directory
	  * fix get_hist()

2007-02-11  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp: minor debug changes.
	  G

2007-02-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, configure, lib/Mathematics.h: * add a configure test
	  for powl(), as the ifdef construct in
	  lib/Mathmatics.h was flawed (damn!). now HAVE_POWL is set if
	  powl() exists
	* lib/Mathematics.h: * add powl function again (actually only the
	  ifdef needed removal)

2007-02-11  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Mathematics.h, structure/DynProg.cpp: finally... the pow
	  problem is gone.
	  G
	* lib/Mathematics.h: more problems with the pow function
	* lib/Mathematics.h: *** empty log message ***
	* lib/Mathematics.h: somebody did not complete code here ...
	  G

2007-02-10  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h: added
	  support for similarity coefficients (which boils down to some
	  strange normalization of the histogram intersection kernel. this
	  is unpublished, btw.)

2007-02-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, lib/Mathematics.h: + fall back to double precision pow
	  if powl is not available

2007-02-09  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  gui/TextGUI.cpp, guilib/GUIFeatures.h, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, kernel/MindyGramKernel.cpp, lib/Time.h: improved
	  mindy features and kernel
	  cur_time fix in time class
	  support for max_train_time in svm light
	* guilib/GUIFeatures.h, guilib/GUIKernel.cpp: fixed incorrect
	  matlab interface to changed Mindy functions

2007-02-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h: * make empty files (strings) a fatal
	  error

2007-02-09  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* kernel/MindyGramKernel.cpp: removed annoying goto statement
	* kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h: more mindy
	  changes

2007-02-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, features/MindyGramFeatures.i,
	  kernel/CommUlongStringKernel.cpp, kernel/MindyGramKernel.i: fix
	  for spectrum kernel (yet another init problem)

2007-02-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, features/Alphabet.h, features/Alphabet.i: * add
	  typemapped get_hist() function

2007-02-08  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* guilib/GUIFeatures.h: untested patches for matlab gui
	* configure, features/Features.i, features/MindyGramFeatures.cpp,
	  features/MindyGramFeatures.h, features/MindyGramFeatures.i,
	  guilib/GUIFeatures.h, guilib/GUIKernel.cpp, kernel/Kernel.i,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h,
	  kernel/MindyGramKernel.i: fixed bugs in mindy and improved swig
	  support

2007-02-07  Torsten Werner <mail.twerner@googlemail.com>

	* Makefile: * don't use grep to count lines

2007-02-05  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* configure, kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h:
	  NULL may not be defined.

2007-02-01  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp:

2007-02-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, TODO, configure: * updated make linecount ... hmmhh
	  83556 lines

2007-01-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, structure/DynProg.cpp, structure/DynProg.h: * rename
	  best_path_set_seq to best_path_set_seq3d
	  
	  GU -> please NOTE!
	* lib/ShogunException.i: * the forgotten file...
	* classifier/svm/GPBTSVM.cpp, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVM_oneclass.cpp, classifier/svm/MPD.cpp,
	  regression/KRR.cpp, regression/svr/LibSVR.cpp,
	  regression/svr/SVR_light.cpp: * also call base constructors here
	* ChangeLog, classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM.i, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.i: * updated wd examples
	  * fix init for wd kernel
	  * call KernelMachine Constructor in SVM constructor

2007-01-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .generate_link_dependencies.py, ChangeLog,
	  classifier/Classifier.i, distance/Distance.i,
	  distributions/Distribution.i, features/Features.i,
	  kernel/Kernel.i, lib/Library.i, lib/ShogunException.cpp,
	  lib/ShogunException.h, lib/io.cpp, lib/io.h, lib/io.i,
	  preproc/PreProc.i, regression/Regression.i,
	  structure/Structure.i: * swig exception handling
	  * LDA examples
	  * updated krr/svm examples

2007-01-29  Christian Gehl <Christian.Gehl@first.fraunhofer.de>

	* guilib/GUIKernel.cpp: added DistanceKernel creation to
	  create_kernel method
	* guilib/GUIDistance.cpp: added CanberraWordDistance
	* kernel/DistanceKernel.cpp: change init (init call for CKernel)
	  and delete (Distance=NULL)

2007-01-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, Makefile, classifier/Classifier.h, classifier/LDA.cpp,
	  classifier/LDA.h, classifier/LinearClassifier.cpp,
	  classifier/LinearClassifier.h, configure,
	  features/StringFeatures.i, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/SpectrumKernel.cpp, lib/Array2.h,
	  lib/Mathematics.cpp, lib/Mathematics.h, lib/io.cpp, lib/io.h,
	  lib/io.i, lib/lapack.cpp, lib/lapack.h, lib/suffixarray/ESA.cpp,
	  lib/suffixarray/ESA.h, lib/suffixarray/ErrorCode.h: * finally a
	  working pinv and LDA :-)
	  * overload classify() for linear / kernel methods
	  * compile fixes for suffixarray/Spec kernel
	  * trying to get exceptions working

2007-01-28  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp, structure/DynProg.h:
	  changed dimensionality of seq_matrix in best_path_trans.
	  It is three dimensional now and the third dimension has to match
	  with the second dimension of state_signals.
	  untestet
	  
	  @Soeren, when you use it, just drop the second column of
	  state_signals (with all zeros in it).

2007-01-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Mathematics.cpp, lib/Mathematics.h: * quieten status
	  printouts for modular python interface
	* ChangeLog, distance/RealDistance.h, distance/StringDistance.h:
	  compile fix for distance stuff
	* ChangeLog, base/SGObject.cpp, distance/CanberraWordDistance.cpp,
	  gui/TextGUI.cpp, lib/Mathematics.cpp, lib/Mathematics.h: * move
	  CMath math declaration into base/SGObject.cpp
	  * move version printout into CMath ...

2007-01-25  Christian Gehl <Christian.Gehl@first.fraunhofer.de>

	* distance/Distance.i, distance/SimpleDistance.i: change some
	  lines; add new distance interfaces
	* distance/CanberraWordDistance.i, distance/HammingWordDistance.i,
	  distance/ManhattanWordDistance.i: swig interface files
	* kernel/DistanceKernel.i: swig interface: DistanceKernel
	* kernel/DistanceKernel.cpp, kernel/DistanceKernel.h: new kernel;
	  uses distance objects
	* guilib/GUIDistance.cpp: distance adjustment
	  Diese und die folgenden Zeilen werden ignoriert --
	  
	  M GUIDistance.cpp
	* distance/StringDistance.h: renewed
	* distance/CanberraWordDistance.cpp,
	  distance/CanberraWordDistance.h,
	  distance/HammingWordDistance.cpp, distance/HammingWordDistance.h,
	  distance/ManhattanWordDistance.cpp,
	  distance/ManhattanWordDistance.h: new distances
	* distance/Canberra.cpp, distance/Canberra.h,
	  distance/Chebyshew.cpp, distance/Chebyshew.h,
	  distance/Distance.cpp, distance/Distance.h,
	  distance/Geodesic.cpp, distance/Geodesic.h, distance/Jensen.cpp,
	  distance/Jensen.h, distance/Manhattan.cpp, distance/Manhattan.h,
	  distance/Minkowski.cpp, distance/Minkowski.h,
	  distance/SimpleDistance.h: renewed distance
	* lib/common.h: added K_DISTANCE and D_CANBERRA

2007-01-25  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* lib/Array.h, lib/Array3.h: + added 'const' in overloaded
	  operator=

2007-01-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: * quieten svn2cl error (if svn2cl does not exist)
	* ChangeLog, lib/Array.h, lib/Array2.h, structure/DynProg.cpp: *
	  remove some debug output
	  * array display functions use name now

2007-01-24  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp, structure/DynProg.h: preparation for
	  changes ... should work as before...
	  G

2007-01-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* README, regression/Regression.i: -updates for the debian package
	  * compile fix for don't use svmlight
	  * updated project URL

2007-01-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .authors, ChangeLog, base/SGObject.cpp, base/SGObject.h,
	  gui/GUI.cpp, gui/Matlab.cpp, gui/Octave.cpp, gui/R.cpp,
	  lib/io.cpp, lib/io.h, structure/DynProg.cpp, structure/Plif.cpp,
	  structure/Plif.h: + add c.gehl to authors
	  + create a global cio variable for static interfaces that points
	  to the static io variable in CSGObject to get a global loglevel
	  option;
	  for modular interfaces this is tweakably per class (except for
	  static
	  functions/ C-files where a global sg_io variable is used)

2007-01-23  Christian Gehl <Christian.Gehl@first.fraunhofer.de>

	* lib/common.h: new distance types

2007-01-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, base/Version.cpp, base/Version.h,
	  kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  lib/io.cpp, lib/io.h, preproc/SortUlongString.cpp,
	  structure/DynProg.cpp, structure/DynProg.h, structure/DynProg.i:
	  +get_loglevel()

2007-01-22  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.h: scores & losses should be return
	  arguments...
	  
	  G

2007-01-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, Makefile: - don't regroup changelog
	* guilib/GUIMatlab.cpp: + matlab build fix
	* Makefile, base/SGObject.cpp, base/SGObject.h, base/SGObject.i,
	  base/Version.cpp, base/Version.h, classifier/Classifier.i,
	  classifier/KRR.cpp, classifier/KRR.h, classifier/KRR.i,
	  classifier/KernelPerceptron.i, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_light.cpp, configure,
	  distance/Canberra.i, distance/Chebyshew.i, distance/Distance.cpp,
	  distance/Distance.i, distance/DistanceMachine.i,
	  distance/Geodesic.i, distance/Jensen.i, distance/Manhattan.i,
	  distance/Minkowski.i, distance/RealDistance.i,
	  distance/SimpleDistance.i, distance/StringDistance.i,
	  distributions/Distribution.i,
	  distributions/histogram/Histogram.i, distributions/hmm/GHMM.cpp,
	  distributions/hmm/GHMM.h, distributions/hmm/GHMM.i,
	  distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  distributions/hmm/HMM.i, distributions/hmm/LinearHMM.h,
	  distributions/hmm/LinearHMM.i, features/Features.i,
	  features/SparseFeatures.h, gui/GUI.cpp, gui/Python.cpp,
	  gui/R.cpp, gui/TextGUI.cpp, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  guilib/GUIMatlab.cpp, guilib/GUIOctave.cpp, guilib/GUIR.cpp,
	  kernel/CombinedKernel.cpp, kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.i, kernel/KernelMachine.h,
	  kernel/KernelMachine.i, kernel/MindyGramKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/Library.i,
	  preproc/LogPlusOne.i, preproc/NormDerivativeLem3.i,
	  preproc/NormOne.i, preproc/PCACut.cpp, preproc/PCACut.i,
	  preproc/PreProc.i, preproc/PruneVarSubMean.i,
	  preproc/RealPreProc.i, preproc/ShortPreProc.i,
	  preproc/SimplePreProc.i, preproc/SortWord.i,
	  preproc/SortWordString.i, preproc/SparsePreProc.i,
	  preproc/StringPreProc.i, preproc/WordPreProc.i,
	  regression/KRR.cpp, regression/KRR.h, regression/KRR.i,
	  regression/Regression.i, regression/svr/LibSVR.cpp,
	  regression/svr/LibSVR.h, regression/svr/LibSVR.i,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h,
	  regression/svr/SVR_light.i, structure/DynProg.cpp,
	  structure/Structure.i: - configure now uses ./configure
	  --interface=INTERFACE
	  where INTERFACE is one of cmdline, python-modular, python, R,
	  R-modular octave or matlab
	  - moved Kernel Ridge Regression into regression/
	  - python swig interface now has a fully wrapped Regression,
	  Preprocessor and Distribution module
	  - version class functions are now static
	  - HMM now uses #parallel threads as specified by CParallel
	  - enabled typed autodoc for all modules
	  - update copyright -> 2007
	  - updated swig python examples (new: svr regression, updated: krr
	  regression/svm examples)

2007-01-21  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp:
	* structure/DynProg.cpp, structure/DynProg.h: first version ... for
	  what's needed to go on with mSplicer.
	  
	  G

2007-01-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIMatlab.cpp, structure/Plif.cpp: - matlab build fix
	* ChangeLog, README.developer, base/SGObject.h, base/Version.cpp,
	  classifier/Classifier.h, classifier/KNN.cpp, classifier/KNN.h,
	  classifier/LDA.cpp, classifier/Perceptron.cpp,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm/CPLEXSVM.cpp, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/LibSVM.cpp, classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/MPD.cpp, classifier/svm/Optimizer.cpp,
	  classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_light.cpp,
	  classifier/svm/gpdtsolve.cpp, classifier/svm/gpdtsolve.h,
	  classifier/svm/pr_loqo.cpp, classifier/svm/ssl.cpp,
	  distance/Distance.cpp, distance/SimpleDistance.h,
	  distributions/hmm/HMM.cpp, distributions/hmm/HMM.h, exceptions,
	  features/Alphabet.cpp, features/Alphabet.h,
	  features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/CombinedFeatures.cpp, features/FKFeatures.cpp,
	  features/Features.cpp, features/Features.h, features/Labels.cpp,
	  features/Labels.h, features/MindyGramFeatures.cpp,
	  features/MindyGramFeatures.h, features/RealFeatures.cpp,
	  features/RealFileFeatures.cpp, features/SimpleFeatures.h,
	  features/SparseFeatures.h, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/WordFeatures.cpp, gui/GUI.cpp,
	  gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp,
	  gui/R.cpp, gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h, guilib/GUIDistance.cpp,
	  guilib/GUIDistance.h, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  guilib/GUIKNN.cpp, guilib/GUIKNN.h, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, guilib/GUILabels.cpp, guilib/GUILabels.h,
	  guilib/GUIMath.cpp, guilib/GUIMath.h, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, guilib/GUIOctave.cpp, guilib/GUIOctave.h,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, guilib/GUIR.cpp, guilib/GUIR.h,
	  guilib/GUISVM.cpp, guilib/GUISVM.h, guilib/GUITime.h,
	  kernel/AUCKernel.cpp, kernel/AUCKernel.h,
	  kernel/CanberraWordKernel.cpp, kernel/CanberraWordKernel.h,
	  kernel/CharPolyKernel.cpp, kernel/CharPolyKernel.h,
	  kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.cpp, kernel/ConstKernel.h,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/FixedDegreeCharKernel.cpp, kernel/FixedDegreeCharKernel.h,
	  kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/HammingWordKernel.cpp, kernel/HammingWordKernel.h,
	  kernel/HistogramWordKernel.cpp, kernel/HistogramWordKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h,
	  kernel/ManhattenWordKernel.cpp, kernel/ManhattenWordKernel.h,
	  kernel/MindyGramKernel.cpp, kernel/PolyKernel.cpp,
	  kernel/PolyKernel.h, kernel/PolyMatchCharKernel.cpp,
	  kernel/PolyMatchCharKernel.h, kernel/PolyMatchWordKernel.cpp,
	  kernel/PolyMatchWordKernel.h, kernel/SalzbergWordKernel.cpp,
	  kernel/SalzbergWordKernel.h, kernel/SigmoidKernel.cpp,
	  kernel/SigmoidKernel.h, kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/StringKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h,
	  lib/Array.h, lib/Array2.h, lib/Array3.h, lib/Cache.h,
	  lib/Cplex.cpp, lib/Mathematics.cpp, lib/Mathematics.h,
	  lib/ShogunException.cpp, lib/ShogunException.h, lib/Signal.cpp,
	  lib/Signal.h, lib/SimpleFile.h, lib/Time.cpp, lib/Time.h,
	  lib/Trie.cpp, lib/Trie.h, lib/common.h, lib/io.cpp, lib/io.h,
	  lib/numpy.i, preproc/PCACut.cpp, preproc/PreProc.cpp,
	  preproc/PreProc.h, preproc/PruneVarSubMean.cpp,
	  preproc/SortUlongString.cpp, preproc/SortUlongString.h,
	  preproc/SortWordString.cpp, preproc/SortWordString.h,
	  preproc/StringPreProc.h, regression/svr/LibSVR.cpp,
	  regression/svr/SVR_light.cpp, structure/DynProg.cpp,
	  structure/Plif.cpp, structure/Plif.h, structure/PlifArray.cpp: -
	  updated coding conventions
	  - new io functions SG_DEBUG, SG_ERROR etc - use only those!
	  this will through exceptions in python
	  - kernel init function takes only lhs + rhs
	  - all objects now derive from CSGObject

2007-01-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* structure/DynProg.cpp, structure/DynProg.h, structure/DynProg.i:
	  +best_path*deriv setup functions
	* preproc/PreProc.i, preproc/SortUlongString.i: + rbf kernel
	  example
	  + preproc + sortulong fix
	* ChangeLog, classifier/Classifier.i, distance/Distance.i,
	  distributions/hmm/HMM.i, features/Features.i,
	  features/StringFeatures.h, kernel/Kernel.i, lib/Library.i,
	  preproc/PreProc.i, structure/Structure.i: +added SGObject to
	  object hierarchy
	  +fixed forward declaration of StringFeatures

2007-01-19  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* kernel/Kernel.i, preproc/PreProc.i, preproc/SortUlongString.i,
	  preproc/StringPreProc.i: + added first preprocessing interfaces

2007-01-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .authors, ChangeLog, Makefile, NEWS: automagic ChangeLog
	  generation using svn2cl
	  (debian package subversion-tools)
	* base, base/Parallel.cpp, base/Parallel.h, base/Parallel.i,
	  base/SGObject.h, base/SGObject.i, base/Version.cpp,
	  base/Version.h, base/Version.i, classifier/Classifier.h,
	  classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  distance/Distance.cpp, distance/Distance.h,
	  distributions/Distribution.h, distributions/hmm/HMM.cpp,
	  features/Features.h, gui/TextGUI.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIPython.cpp, guilib/GUIR.cpp, kernel/CombinedKernel.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp, lib/Array.h,
	  lib/Cache.h, lib/Cplex.h, lib/DynamicArray.h, lib/File.h,
	  lib/Library.i, lib/Mathematics.h, lib/Parallel.cpp,
	  lib/Parallel.h, lib/Parallel.i, lib/SGObject.h, lib/SGObject.i,
	  lib/Signal.h, lib/SimpleFile.h, lib/Time.h, lib/Trie.h,
	  lib/Version.cpp, lib/Version.h, lib/Version.i, preproc/PreProc.h,
	  regression/svr/SVR_light.cpp, structure/DynProg.h,
	  structure/PlifBase.h: -move the `base' objects
	  (Parallel/SGObject/Version) into base/
	  -except for the GUI and io everything should be (directly or
	  indirectly)
	  derived from SGObject
	* classifier/Classifier.h, classifier/LDA.cpp, classifier/LDA.h,
	  classifier/LinearClassifier.h, classifier/LinearClassifier.i,
	  distance/Distance.h, distributions/Distribution.h,
	  features/Features.h, kernel/Kernel.h, lib/Array.h, lib/Cache.h,
	  lib/Cplex.h, lib/DynamicArray.h, lib/File.h, lib/Library.i,
	  lib/Mathematics.h, lib/SGObject.h, lib/SGObject.i, lib/Signal.h,
	  lib/SimpleFile.h, lib/Time.h, lib/Trie.h, lib/Version.cpp,
	  lib/Version.h, preproc/PreProc.h, structure/DynProg.h,
	  structure/PlifBase.h: make all objects to be derived from
	  SGObject

2007-01-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* structure/DynProg.cpp, structure/DynProg.i: get path interf.
	* structure/DynProg.cpp, structure/DynProg.h, structure/DynProg.i:
	  +yesterdays msplicer related fixes/debug output

2007-01-17  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Array.h, lib/Array2.h, lib/Array3.h, structure/DynProg.cpp:
	  some more outputs...
	  G

2007-01-15  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp: some fixes and checks for oldtempvv and
	  oldtempii.
	  (taking Soerens valgrind runs into account)

2007-01-11  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreeCharKernel.cpp: additional check ...
	* classifier/svm/SVM_light.cpp: *** empty log message ***

2007-01-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, configure: + configure/Makefile install path fix
	* .version.sh: + improved debian target / version generation

2007-01-10  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* testfile: removed testfile
	* testfile: added just to see whether the SVNPoller script works

2007-01-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .version.sh: .version.sh calls svn info again, as $Id is not
	  regularly updated...
	* classifier/Classifier.cpp, classifier/Classifier.h,
	  classifier/KNN.cpp, classifier/KNN.h, classifier/KRR.cpp,
	  classifier/KRR.h, classifier/KernelPerceptron.cpp,
	  classifier/KernelPerceptron.h, classifier/LDA.cpp,
	  classifier/LDA.h, classifier/LPM.cpp, classifier/LPM.h,
	  classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/Perceptron.cpp, classifier/Perceptron.h,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm/CPLEXSVM.cpp, classifier/svm/CPLEXSVM.h,
	  classifier/svm/GPBTSVM.cpp, classifier/svm/GPBTSVM.h,
	  classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/KerthiPrimalSVM.h, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVM.h, classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/LibSVM_oneclass.h, classifier/svm/MPD.cpp,
	  classifier/svm/MPD.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_libsvm.h, classifier/svm/gpdt.cpp,
	  classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/gpm.cpp, classifier/svm/pr_loqo.cpp,
	  classifier/svm/pr_loqo.h, distance/Canberra.h,
	  distance/Chebyshew.h, distance/Distance.cpp,
	  distance/DistanceMachine.cpp, distance/DistanceMachine.h,
	  distance/Jensen.h, distance/Manhattan.h, distance/Minkowski.cpp,
	  distance/Minkowski.h, distance/RealDistance.h,
	  distance/StringDistance.h, distributions/Distribution.cpp,
	  distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h, distributions/hmm/GHMM.cpp,
	  distributions/hmm/GHMM.h, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/LinearHMM.cpp,
	  distributions/hmm/LinearHMM.h, features/ByteFeatures.cpp,
	  features/ByteFeatures.h, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CombinedFeatures.cpp,
	  features/CombinedFeatures.h, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/Features.cpp,
	  features/Features.h, features/Labels.cpp, features/Labels.h,
	  features/RealFeatures.cpp, features/RealFeatures.h,
	  features/RealFileFeatures.cpp, features/RealFileFeatures.h,
	  features/ShortFeatures.cpp, features/ShortFeatures.h,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/StringFeatures.cpp, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/TOPFeatures.h,
	  features/WordFeatures.cpp, features/WordFeatures.h, gui/GUI.cpp,
	  gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp,
	  gui/Python.h, gui/TextGUI.cpp, gui/TextGUI.h,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIDistance.cpp, guilib/GUIDistance.h,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h, guilib/GUIHMM.cpp,
	  guilib/GUIHMM.h, guilib/GUIKNN.cpp, guilib/GUIKNN.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUILabels.cpp,
	  guilib/GUILabels.h, guilib/GUIMath.cpp, guilib/GUIMath.h,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, guilib/GUIOctave.cpp,
	  guilib/GUIOctave.h, guilib/GUIPluginEstimate.cpp,
	  guilib/GUIPluginEstimate.h, guilib/GUIPreProc.cpp,
	  guilib/GUIPreProc.h, guilib/GUIPython.cpp, guilib/GUIPython.h,
	  guilib/GUIR.cpp, guilib/GUIR.h, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, guilib/GUITime.cpp, guilib/GUITime.h,
	  kernel/AUCKernel.cpp, kernel/AUCKernel.h,
	  kernel/CanberraWordKernel.cpp, kernel/CanberraWordKernel.h,
	  kernel/CharPolyKernel.cpp, kernel/CharPolyKernel.h,
	  kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.cpp, kernel/ConstKernel.h,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/DiagKernel.cpp, kernel/DiagKernel.h,
	  kernel/FixedDegreeCharKernel.cpp, kernel/FixedDegreeCharKernel.h,
	  kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/HammingWordKernel.cpp, kernel/HammingWordKernel.h,
	  kernel/HistogramWordKernel.cpp, kernel/HistogramWordKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h,
	  kernel/ManhattenWordKernel.cpp, kernel/ManhattenWordKernel.h,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/PolyMatchCharKernel.cpp, kernel/PolyMatchCharKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/StringKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp,
	  kernel/WeightedDegreePositionPhylCharKernel.h,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h,
	  lib/Array.h, lib/Array2.h, lib/Array3.h, lib/Cache.h,
	  lib/Cplex.cpp, lib/Cplex.h, lib/DynamicArray.h, lib/File.cpp,
	  lib/File.h, lib/List.h, lib/Mathematics.cpp, lib/Mathematics.h,
	  lib/Parallel.cpp, lib/Parallel.h, lib/Signal.cpp, lib/Signal.h,
	  lib/SimpleFile.h, lib/Time.cpp, lib/Time.h, lib/Trie.h,
	  lib/Version.cpp, lib/Version.h, lib/common.h, lib/io.cpp,
	  lib/io.h, lib/lapack.cpp, lib/lapack.h, preproc/LogPlusOne.cpp,
	  preproc/LogPlusOne.h, preproc/NormDerivativeLem3.cpp,
	  preproc/NormDerivativeLem3.h, preproc/NormOne.cpp,
	  preproc/NormOne.h, preproc/PCACut.cpp, preproc/PCACut.h,
	  preproc/PreProc.cpp, preproc/PreProc.h,
	  preproc/PruneVarSubMean.cpp, preproc/PruneVarSubMean.h,
	  preproc/RealPreProc.h, preproc/ShortPreProc.cpp,
	  preproc/ShortPreProc.h, preproc/SimplePreProc.h,
	  preproc/SortUlongString.cpp, preproc/SortUlongString.h,
	  preproc/SortWord.cpp, preproc/SortWord.h,
	  preproc/SortWordString.cpp, preproc/SortWordString.h,
	  preproc/SparsePreProc.h, preproc/StringPreProc.h,
	  preproc/WordPreProc.cpp, preproc/WordPreProc.h,
	  regression/svr/LibSVR.cpp, regression/svr/LibSVR.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h,
	  structure/DynProg.cpp, structure/DynProg.h, structure/Plif.cpp,
	  structure/Plif.h, structure/PlifArray.cpp, structure/PlifArray.h,
	  structure/PlifBase.h: update copyright info
	  1999-2006 -> 1999-2007
	* tests: -remove obsolete tests dir
	* configure, lib/Parallel.h, structure/DynProg.h,
	  structure/DynProg.i: +fix configure/parallel to really detect
	  __SC_NPROCESSORS_ONLN
	  +allow setting of a single genestr

2007-01-08  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp:

2007-01-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Parallel.h: +#ifdef _SC_NPROCESSORS_ONLN

2007-01-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: +remove more of svmlight
	  +compiler tuning now takes place after compiler is detected
	  and only valid options are added
	* classifier/svm/Optimizer.cpp, classifier/svm/SVM.i,
	  gui/TextGUI.cpp, guilib/GUIClassifier.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, guilib/GUISVM.cpp, kernel/Kernel.cpp,
	  kernel/Kernel.h, kernel/WeightedDegreePositionCharKernel.cpp,
	  regression/svr/SVR_light.h: +really remove all copyrighted "all
	  rights reserved" SVMLight files + parts
	  
	  when called with, e.g.:
	  
	  $ make vanilla-package COMPRESS=gzip EXTRAVERSION=+svn20070105
	  SVMLIGHT=no

2007-01-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Alphabet.cpp, features/StringFeatures.h,
	  features/StringFeatures.i, gui/Matlab.cpp, gui/R.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, guilib/GUIR.cpp,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommUlongStringKernel.i, kernel/CommWordStringKernel.i,
	  kernel/Kernel.h, kernel/Kernel.i, kernel/StringKernel.i,
	  lib/common.h: +all the necessary stuff for spam detection works
	  now
	  speed & accuracy are still an isssue

2007-01-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, features/StringFeatures.i: +string
	  features can now easily read strings-files from a directory (to
	  classify e.g. spam)

2007-01-03  Mikio Braun <Mikio.Braun@first.fraunhofer.de>

	* classifier/KRR.cpp: added a todo to KRR.cpp
	* classifier/Classifier.i, classifier/KRR.cpp, classifier/KRR.h,
	  classifier/KRR.i: Hello!
	  
	  KRR is working now, together with two examples for python.
	  Yuhu!
	  
	  -M
	* lib/common.h, lib/lapack.cpp, lib/lapack.h: forgot something
	* classifier/KRR.cpp, classifier/KRR.h, classifier/KRR.i:
	  Kernel-ridge-regression

2007-01-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, lib/Array.h, lib/Array2.h, lib/Array3.h: +LINK is now
	  is set from COMP_CPP
	  +Array uses ASSERT again and undefs/defs ASSERT

2006-12-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h:

2006-12-29  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp: now with
	  conservation.
	* guilib/GUIMatlab.cpp, lib/Array2.h, lib/Array3.h,
	  structure/DynProg.cpp: before I change the conservation stuff...
	  G

2006-12-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, lib/Array.h, lib/Array2.h, lib/io.cpp,
	  lib/io.h: +read_dir

2006-12-29  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp,
	  structure/PlifArray.cpp: should work for nGASP cat-1

2006-12-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/lapack.h: missing endif

2006-12-29  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, kernel/CommWordKernel.h, lib/Array.h,
	  lib/Array2.h, lib/Array3.h, lib/Mathematics.h,
	  structure/DynProg.cpp, structure/DynProg.h: optimized
	  best_path_trans svm computations.

2006-12-28  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* lib/Array.h: fixed ifndef -> ifdef line 118

2006-12-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/io.cpp, lib/io.h: get rid of another bazillion of warnings
	* structure/DynProg.cpp: compile fix

2006-12-28  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* exceptions/ShogunException.cpp, exceptions/ShogunException.h: +
	  sorry, forgot to check-in these files

2006-12-27  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Array.h: reverted to the old Array.h version including the
	  statistics.
	* structure/DynProg.cpp, structure/DynProg.h:

2006-12-22  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  kernel/Kernel.cpp, kernel/WeightedDegreePositionCharKernel.cpp: +
	  removed the rest of the ugly ifdefs
	* classifier/LDA.cpp, classifier/PluginEstimate.cpp,
	  classifier/svm/MPD.cpp, classifier/svm/Optimizer.cpp,
	  exceptions/Exception.h, features/Alphabet.cpp,
	  features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/Features.cpp, features/Labels.cpp,
	  features/MindyGramFeatures.cpp, features/RealFeatures.cpp,
	  features/TOPFeatures.cpp, features/WordFeatures.cpp,
	  kernel/CombinedKernel.cpp, kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/CustomKernel.cpp, kernel/HistogramWordKernel.cpp,
	  kernel/LinearByteKernel.cpp, kernel/LinearCharKernel.cpp,
	  kernel/LinearWordKernel.cpp, kernel/MindyGramKernel.cpp,
	  kernel/SalzbergWordKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp,
	  kernel/WordMatchKernel.cpp, lib/io.cpp, lib/io.h: + added
	  sg_error function so lib/io
	  + removed ugly #ifdef HAVE_PYTHON throw Exception else CIO
	  by sg_error(func_ptr,fmt,...)
	  
	  TODO:
	  + not all exceptions were removed.

2006-12-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/io.h, structure/DynProg.i: +tiny fixes
	* lib/Array.i, lib/Array2.i, lib/Array3.i, lib/DynamicArray.i:
	  +forgotten interface files
	* lib/Array.h, lib/Array2.h, lib/Array3.h, lib/Library.i, lib/io.h,
	  structure/DynProg.cpp, structure/DynProg.h: -remove array
	  profiling stuff (what are profilers for huh ?)
	  +dynprog now uses dynarray...
	  +actually anything that requires a list should use DynamicArray !

2006-12-20  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, lib/Array.h, lib/Mathematics.h,
	  structure/DynProg.cpp, structure/DynProg.h: a few changes related
	  to path sampling.
	  G
	* structure/DynProg.cpp: implemented some kind of suboptimal path
	  sampling.

2006-12-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/R.cpp:
	* gui/R.cpp: +build fix
	  -remove obsolete @hmm
	* lib/io.cpp: compile fix
	* structure/PlifArray.i:
	* g.R, lib/DynamicArray.h, structure/DynProg.cpp,
	  structure/PlifArray.cpp, structure/Structure.i: +CAUTION:
	  reverted DynamicArray to original dynarray (+some bugfixes)

2006-12-20  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/DynamicArray.h: *** empty log message ***

2006-12-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Signal.cpp, lib/Signal.h: ifndef -> ifdef HAVE_MATLAB...
	* Makefile, lib/Time.i: also erase .R files on clean

2006-12-20  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIHMM.cpp: does not compile without this fix.

2006-12-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, classifier/Classifier.h, classifier/svm/SVM_light.h,
	  classifier/svm/gpdt.cpp, classifier/svm/gpdt.h,
	  classifier/svm/gpdtsolve.cpp, configure, lib/File.cpp,
	  lib/Library.i, lib/List.i, lib/Mathematics.i, lib/Parallel.i,
	  lib/Signal.i, lib/SimpleFile.i, lib/Time.i, lib/Trie.i,
	  lib/Version.i, lib/config.i, lib/io.cpp, lib/io.i: +make
	  configure append CFLAGS, CXXFLAGS from environment
	  +./configure --cflags= --cxxflags=
	  +COMPFLAGS_SWIG_CPP is generated from COMPFLAGS_CPP but does not
	  give any warnings
	  +fix renaming Classes CTime -> Time
	  +fix several format string errors
	  +make gpdt svm use CIO::message
	  
	  want to know how many CPUs your machine has ? then do:
	  
	  from shogun.Library import Parallel
	  print Parallel.get_num_cpus()
	  
	  (msplicer already uses this :)

2006-12-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distributions/hmm/HMM.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/Cache.i,
	  lib/File.i, lib/Library.i, lib/List.i, lib/Mathematics.i,
	  lib/Parallel.cpp, lib/Parallel.h, lib/Parallel.i, lib/Signal.i,
	  lib/SimpleFile.i, lib/Time.i, lib/Trie.h, lib/Trie.i,
	  lib/Version.i, lib/common.h, lib/io.i: +export everything under
	  lib as shogun.Library
	  (for that it was necessary to make the local classes in CTrie
	  local)

2006-12-19  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* lib/numpy.i: + changed typecode error message to be part of a
	  standard python 'TypeError' exception

2006-12-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/Classifier.i, classifier/svm/SVM.i, configure,
	  distance/Distance.i, features/ByteFeatures.i,
	  features/CharFeatures.i, features/Features.i, features/Labels.i,
	  features/RealFeatures.i, features/ShortFeatures.i,
	  features/SimpleFeatures.i, features/WordFeatures.i,
	  kernel/Kernel.i, kernel/WeightedDegreeCharKernel.i, lib/common.h,
	  lib/common.i, lib/numpy.i, structure/DynProg.h,
	  structure/DynProg.i, structure/Plif.i, structure/Structure.i: + R
	  swig support ( --enable-swig-R)
	* guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, guilib/GUIOctave.h,
	  guilib/GUIPython.h, guilib/GUIR.h, lib/io.cpp: at least all
	  interfaces DO compile now
	* classifier/svm/gpdt.cpp, classifier/svm/gpdt.h,
	  guilib/GUIOctave.cpp: gpdt compile fixes
	  octave string/char features fix
	* classifier/svm/SVM_light.cpp, lib/numpy.i,
	  regression/svr/SVR_light.cpp: remove cplex related shadows...
	* classifier/svm/SVM.h, lib/numpy.i: +fix returning matrices
	  #%#!#@? !!fortran order!!
	* gui/GUI.cpp, gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp,
	  gui/Python.cpp, gui/Python.h, gui/R.cpp, gui/TextGUI.cpp,
	  gui/TextGUI.h, guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIDistance.cpp, guilib/GUIDistance.h,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h, guilib/GUIHMM.cpp,
	  guilib/GUIHMM.h, guilib/GUIKNN.cpp, guilib/GUIKNN.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUILabels.cpp,
	  guilib/GUILabels.h, guilib/GUIMath.cpp, guilib/GUIMath.h,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, guilib/GUIOctave.cpp,
	  guilib/GUIOctave.h, guilib/GUIPluginEstimate.cpp,
	  guilib/GUIPluginEstimate.h, guilib/GUIPreProc.cpp,
	  guilib/GUIPreProc.h, guilib/GUIPython.cpp, guilib/GUIPython.h,
	  guilib/GUIR.cpp, guilib/GUIR.h, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, guilib/GUITime.cpp, guilib/GUITime.h: +don't
	  include any of the gui/* guilib/* classes when building with
	  HAVE_SWIG
	  (#ifndef SWIG ... #endif)
	* lib/numpy.i, structure/Plif.i, structure/PlifBase.h: + do not
	  allow type conversion
	  + print out errors on wrong types
	* classifier/svm/LibSVM.cpp, classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, classifier/svm/gpdt.cpp,
	  classifier/svm/gpdtsolve.cpp, classifier/svm/gpdtsolve.h,
	  classifier/svm/gpm.cpp, classifier/svm/ssl.cpp, configure,
	  distributions/hmm/HMM.cpp, distributions/hmm/LinearHMM.cpp,
	  features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/FKFeatures.cpp, features/RealFeatures.cpp,
	  kernel/HistogramWordKernel.cpp, kernel/LinearCharKernel.cpp,
	  kernel/SalzbergWordKernel.cpp,
	  kernel/SparseNormSquaredKernel.cpp, kernel/SpectrumKernel.cpp,
	  lib/File.cpp, lib/File.h, lib/SimpleFile.h, lib/Time.cpp,
	  lib/numpy.i, lib/suffixarray/ChildTable.cpp,
	  lib/suffixarray/ChildTable.h, lib/suffixarray/ESA.cpp,
	  preproc/PruneVarSubMean.cpp, regression/svr/LibSVR.cpp,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h,
	  structure/Plif.cpp, structure/PlifBase.i, structure/Structure.i:
	  +configure now enables further warnings: -Wall -Wformat -Wshadow
	  +removed rest of the shadow warnings
	  - !WE NEED A CLEAR POLICY ON NAMING VARIABLES!
	  +introduced new hidden bugs
	  +Plifbase swigify
	  
	  NOTE: swig generates a bazillion of shadowed code, some is due to
	  us
	  (naming in function headers), a lot is not

2006-12-18  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/DynamicArray.h, structure/DynProg.cpp: minor fixes.
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, lib/Array.h,
	  structure/DynProg.cpp, structure/DynProg.h: extension to
	  codon-based content sensors.
	  few fixes and cleanups.

2006-12-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/numpy.i:
	* classifier/svm/SVM.h:
	* classifier/svm/SVM.h: debugging...

2006-12-18  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/Plif.cpp: cleanup
	* guilib/GUIMatlab.cpp, lib/DynamicArray.h,
	  structure/PlifArray.cpp, structure/PlifArray.h: few more bugfixes
	  in PlifArray and cleanup in GUIMatlab
	* classifier/KNN.cpp, classifier/KNN.h, distance/Distance.cpp,
	  distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  features/Labels.cpp, features/SimpleFeatures.h,
	  features/StringFeatures.h, features/WordFeatures.cpp,
	  gui/Matlab.cpp, gui/TextGUI.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIHMM.cpp, guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.h, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.h, kernel/HistogramWordKernel.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearWordKernel.cpp, kernel/SpectrumKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp, lib/Array.h,
	  lib/Array2.h, lib/Array3.h, lib/DynamicArray.h, lib/List.h,
	  lib/Trie.h, preproc/PCACut.cpp, structure/Plif.cpp,
	  structure/Plif.h, structure/PlifArray.cpp, structure/PlifArray.h:
	  Many, many minor changes to avoid shadowing, which can easily
	  lead (and has led) to mistakes.

2006-12-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Mathematics.h:
	* lib/Mathematics.h: fix floor/ceil/round

2006-12-18  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Mathematics.h: ceil hangs on amd64 ... do you know a fix?
	  (I avoid using it).
	* structure/PlifArray.cpp: use DynamicArray instead of Array.
	* lib/DynamicArray.h: fixes in append_element() and element().
	* structure/DynProg.cpp: FibHeap cleanup.
	* structure/Plif.cpp, structure/Plif.h: removed uneeded feature.
	* structure/PlifBase.h: missing file.

2006-12-17  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/PlifArray.h: improved the special
	  case of only one plif for a transition.
	  G
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, lib/Array.h,
	  structure/DynProg.cpp, structure/DynProg.h, structure/Plif.cpp,
	  structure/Plif.h, structure/PlifArray.cpp, structure/PlifArray.h:
	  Many changes related to Plifs:
	  - removed field next_pen in Plif
	  - created pure virtual parent class PlifBase
	  - created an container class PlifArray that can store several
	  plifs
	  - changed the matlab interface:
	  * plif structure ignores the next_pen field
	  * the penalties matrix can be three dimensional now to support
	  many plifs
	* guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp,
	  kernel/WeightedDegreePositionPhylCharKernel.h, lib/Trie.h: tested
	  version of the WeightedDegree kernel with shifts that allows to
	  use conservation features.
	  use set_weights to set weights of the size seq_length x
	  num_examples.
	  These weights have to be set for training *and* test examples. If
	  not initialized, then 1 is used.
	* kernel/WeightedDegreePositionCharKernel.cpp: more of the same
	  kind ...
	* kernel/WeightedDegreePositionCharKernel.cpp: *** empty log
	  message ***
	* kernel/WeightedDegreePositionCharKernel.cpp: fixed a bug that
	  affected the correct usage of the position weights in
	  combination with shifts.
	* guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp, kernel/Kernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionPhylCharKernel.h, lib/common.h:
	  integrated phyl kernel in matlab interface.
	  Still untested.

2006-12-16  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionPhylCharKernel.cpp,
	  kernel/WeightedDegreePositionPhylCharKernel.h, lib/Trie.cpp,
	  lib/Trie.h, lib/common.h: experimental code for using
	  conservation weights in the WD shift kernel.
	* kernel/WeightedDegreePositionCharKernel.h: cleanup
	* kernel/WeightedDegreePositionCharKernel.cpp: cleanup

2006-12-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* structure/DynProg.cpp, structure/DynProg.h, structure/DynProg.i:
	  +typemap fix
	  +debugging..
	* structure/DynProg.h: cleanups
	* configure: die on non linux arch / print err msg
	* configure: +put -lcplex also in POSTLINKFLAGS
	* configure: make cplex autodetection work on x86 & x86_64 ... all
	  the others need to specify --includes --libs
	* kernel/WDCharKernel.i: remove obsolete file
	* configure: +cplex autodetection

2006-12-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: +document --destdir option
	* configure, lib/Mathematics.h, structure/DynProg.cpp,
	  structure/Plif.cpp, structure/Plif.h: +configure fixes
	  +ceil,floor
	  +plif limits are now real valued
	* structure/Plif.h: + get_penalty access funcitons

2006-12-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* LICENSE: +debian target for R
	  +add licensing note for Msuffsort

2006-12-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/fibheap.cpp, lib/fibheap.h, structure/DynProg.cpp: remove
	  unused fibheap file (which has unclear license)
	* CONTRIBUTIONS, Makefile, classifier/Classifier.i,
	  classifier/svm/SVMLin.cpp, classifier/svm/SVMLin.h,
	  classifier/svm/SVMLin.i, classifier/svm/ssl.cpp,
	  classifier/svm/ssl.h, configure, lib/common.h: +autodetection for
	  -fPIC/-fpic for R frontend
	  +./configure --enable-swig --enable-python is now ./configure
	  --enable-swig-python
	  (just one configure option per interface for consistency)
	  +top level makefile is removed from distribution
	  +added SVMLin source code

2006-12-06  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, structure/DynProg.cpp: minor fixes.
	  G
	* guilib/GUIMatlab.cpp, structure/DynProg.cpp: many bug fixes.
	  G
	* structure/DynProg.cpp:
	* guilib/GUIMatlab.cpp, lib/Array.h, structure/DynProg.cpp: many
	  fixes.
	  G
	* guilib/GUIMatlab.cpp: *** empty log message ***
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  structure/DynProg.cpp, structure/DynProg.h: extension for Dynamic
	  programming with loss relative to another segmentation.
	  G

2006-12-05  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/Plif.cpp: minor bug fixed
	  G

2006-12-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog:
	* classifier/svm/SVM.i, kernel/SpectrumKernel.i,
	  structure/DynProg.i, structure/Plif.i, structure/Structure.i:
	  preparing release 0.2.1
	* configure, gui/Matlab.cpp: +fix matlab build/compile for macosx
	  (intel and ppc)

2006-12-05  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/Plif.cpp:

2006-12-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: fix makefile for make 3.80

2006-12-04  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* exceptions/AlphabetException.cpp.o,
	  exceptions/ClassifierException.cpp.o,
	  exceptions/FeatureException.cpp.o,
	  exceptions/KernelException.cpp.o,
	  exceptions/LabelException.cpp.o,
	  exceptions/PluginException.cpp.o, exceptions/SVMException.cpp.o:
	  removed binary files
	* exceptions/AlphabetException.cpp,
	  exceptions/AlphabetException.cpp.o,
	  exceptions/AlphabetException.h,
	  exceptions/ClassifierException.cpp,
	  exceptions/ClassifierException.cpp.o,
	  exceptions/FeatureException.cpp,
	  exceptions/FeatureException.cpp.o,
	  exceptions/KernelException.cpp, exceptions/KernelException.cpp.o,
	  exceptions/LabelException.cpp, exceptions/LabelException.cpp.o,
	  exceptions/PluginException.cpp, exceptions/PluginException.cpp.o,
	  exceptions/PluginException.h, exceptions/SVMException.cpp,
	  exceptions/SVMException.cpp.o: added forgotten files
	* classifier/KNN.h, classifier/LDA.cpp,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm/MPD.cpp, classifier/svm/Optimizer.cpp,
	  classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  exceptions/ClassifierException.h, exceptions/Exception.h,
	  exceptions/FeatureException.h, exceptions/KernelException.h,
	  exceptions/LabelException.h, exceptions/SVMException.h,
	  features/Alphabet.cpp, features/Alphabet.h,
	  features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/Features.cpp, features/Features.h, features/Labels.cpp,
	  features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  features/RealFeatures.cpp, features/SimpleFeatures.h,
	  features/SparseFeatures.h, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/WordFeatures.cpp,
	  kernel/CombinedKernel.cpp, kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/CustomKernel.cpp, kernel/HistogramWordKernel.cpp,
	  kernel/Kernel.cpp, kernel/LinearByteKernel.cpp,
	  kernel/LinearCharKernel.cpp, kernel/LinearWordKernel.cpp,
	  kernel/MindyGramKernel.cpp, kernel/SalzbergWordKernel.cpp,
	  kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SparseKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WordMatchKernel.cpp, preproc/PreProc.h: + added variable
	  argument support for Exception constructors
	  + Wrapped all CIO(ERROR,.. -> Exception with
	  #ifdef HAVE_PYTHON

2006-12-03  Torsten Werner <mail.twerner@googlemail.com>

	* Makefile: some refactoring
	* .version.sh, classifier/svm/Optimizer.cpp, classifier/svm/SVM.i,
	  configure, guilib/GUIClassifier.cpp, guilib/GUISVM.cpp,
	  regression/svr/SVR_light.h: - make it possible to build the
	  package without SVMlight
	  - .version.sh:
	  - don't call 'svn info' anymore
	  - use 'Id' keyword instead
	  - rationale: it should work in every source tree, not only in svn
	  working dirs

2006-12-02  Torsten Werner <mail.twerner@googlemail.com>

	* LICENSE.SVMlight: fix and beautify R build
	* Makefile, configure: fixed installation of non swig python module
	* Makefile: fix permissions of installed python files
	* Makefile: more refactoring
	* .version.sh, Makefile: - src/.version.sh: make sure we use a sane
	  locale
	  - src/Makefile: simplified
	  - Makefile: bugfix + use svn in release target

2006-12-02  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/Plif.cpp, structure/Plif.h: little extension...
	  G

2006-12-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: +make clean now also kills *wrap.h
	  +more poster pics

2006-11-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIR.cpp: fix string features in R

2006-11-30  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* classifier/Classifier.h, classifier/svm/SVM.h, exceptions,
	  exceptions/ClassifierException.h, exceptions/Exception.h,
	  exceptions/FeatureException.h, exceptions/KernelException.h,
	  exceptions/LabelException.h, exceptions/SVMException.h,
	  features/Features.h, features/Labels.h, kernel/Kernel.h: + Moved
	  exceptions to own folder.
	  TODO
	  + implement variable arguments stuff using streams
	* classifier/Classifier.h, classifier/KNN.h, classifier/LDA.cpp,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm/MPD.cpp, classifier/svm/Optimizer.cpp,
	  classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM.i, classifier/svm/SVM_light.cpp: + added
	  PluginException, SVMException and ClassifierException
	  + all python test cases are still running

2006-11-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, configure: +updated makefile/confiugre for R

2006-11-30  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/Alphabet.cpp, features/Alphabet.h,
	  features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/Features.cpp, features/Features.h, features/Labels.cpp,
	  features/Labels.h, features/MindyGramFeatures.cpp,
	  features/MindyGramFeatures.h, features/RealFeatures.cpp,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/StringFeatures.h, features/TOPFeatures.cpp,
	  features/WordFeatures.cpp: + Added classes LabelException,
	  FeatureException and AlphabetException.
	  + Replaced all CIO::message(ERROR.. by the corresponding
	  Exception.
	* kernel/CombinedKernel.cpp, kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/CustomKernel.cpp, kernel/HistogramWordKernel.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearCharKernel.cpp, kernel/LinearWordKernel.cpp,
	  kernel/MindyGramKernel.cpp, kernel/SalzbergWordKernel.cpp,
	  kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SparseKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WordMatchKernel.cpp: + added class KernelException to
	  Kernel.h
	  + modified whole kernel directory to support KernelException
	  instead of using CIO::message(ERROR..
	  all other CIO::messages are untouched.
	  TODO:
	  + generate FeatureException and ClassifierException and modify
	  files according the above rule.

2006-11-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, configure: +octave install dir fixes
	* Makefile, classifier/LDA.cpp, configure: +integrated torsten
	  werners rpath/destdir configure patches
	* classifier/LDA.cpp, classifier/LDA.h, lib/Mathematics.cpp,
	  structure/Plif.cpp, structure/Plif.h: +some asserts in Plif
	  +some work on lda
	* configure, structure/Plif.h: fix configure typo for lapack

2006-11-28  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp: nicer printing...
	  G
	* structure/DynProg.cpp: bug fixed.
	  G

2006-11-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* structure/Plif.cpp, structure/Plif.h: +plif constructor has now
	  has a len argument

2006-11-28  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, lib/Array.h, lib/Array2.h, lib/Array3.h,
	  structure/DynProg.cpp, structure/Plif.cpp: fixed a bug in Plif
	  cache initialization.
	  other minor changes.
	  G

2006-11-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* INSTALL, classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  configure, distance/Distance.cpp, gui/R.cpp, gui/TextGUI.cpp,
	  kernel/CombinedKernel.cpp, kernel/Kernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/Mathematics.h,
	  lib/Parallel.h, lib/Signal.cpp, lib/Signal.h, lib/io.cpp,
	  regression/svr/SVR_light.cpp, structure/Plif.h: +compile fixes
	  for win32/cygwin (now matlab/R work at least partially)
	  +update install guide

2006-11-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, classifier/Classifier.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM.i,
	  classifier/svm/SVM_light.cpp, configure: +many fixes...

2006-11-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: allow configure to be run from a path outside of
	  shogun
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: make
	  shogun compile without svmlight
	  
	  !!!! NEVER EVER UNCOMMENT THE CHECKS FOR USE_SVMLIGHT !!!
	* classifier/svm/SVM.h, classifier/svm/SVM.i: +add get_alphas
	* classifier/Classifier.i, classifier/svm/SVM.i: SVM should be
	  under Classifier:
	  
	  so: from shogun.Classifier import SVM

2006-11-23  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, lib/Array.h, structure/DynProg.cpp,
	  structure/DynProg.h, structure/Plif.cpp, structure/Plif.h: a few
	  mem leaks fixed..
	  
	  G

2006-11-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: +cygwin path magic

2006-11-23  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, structure/DynProg.cpp,
	  structure/DynProg.h, structure/Plif.cpp: minor fixes/extensions
	  in structure stuff.
	  G

2006-11-21  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp:
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, structure/DynProg.cpp,
	  structure/DynProg.h, structure/Plif.cpp, structure/Plif.h: quite
	  a few hacks...
	  G

2006-11-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/Optimizer.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVM_light.cpp, configure,
	  distributions/hmm/HMM.cpp, gui/GUI.cpp, gui/Matlab.cpp,
	  guilib/GUIHMM.cpp, kernel/SpectrumKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/Mathematics.h,
	  lib/Signal.cpp, lib/Signal.h, lib/io.cpp,
	  lib/suffixarray/BoundedRangeWeight.cpp,
	  lib/suffixarray/ChildTable.cpp,
	  lib/suffixarray/ConstantWeight.cpp, lib/suffixarray/ESA.cpp,
	  lib/suffixarray/ExpDecayWeight.cpp,
	  lib/suffixarray/KSpectrumWeight.cpp, lib/suffixarray/LCP.cpp,
	  lib/suffixarray/LCP.h, lib/suffixarray/W_msufsort.cpp: towards
	  cygwin + matlab.

2006-11-20  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, lib/Array.h, lib/Array3.h,
	  structure/DynProg.cpp, structure/DynProg.h: DynProg derivatives
	  work now in matlab.
	  G

2006-11-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: + use die "error message" when something is missing +
	  some matlab/win32 checks

2006-11-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* INSTALL, Makefile, README, configure, lib/DynamicArray.h: +fix
	  configure for R interface on osx
	  +updated readme/installation instructions, as I now
	  **trommelwirbel**
	  managed to build all the interfaces (well lets ignore matlab) on
	  OSX too.
	  +this *should* make the dynamic array resize function work with
	  zero size again.
	  +configure now checks for lapack-3 first, as this is indeed
	  different
	  from standard lapack (it uses a completely different api - and we
	  need exactly
	  that one) I also enhanced the lapack .c compile test in
	  configure.

2006-11-15  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp: increased to max_order=12.
	  G
	* guilib/GUIMatlab.cpp: extended max_order for visualization from 8
	  to 10.
	  G

2006-11-15  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* classifier/svm/SVM.h, classifier/svm/SVM.i: + addded support for
	  "numpy_matrix = svm.get_alphas()"

2006-11-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, guilib/GUIR.cpp: configure don't use lapack-3

2006-11-14  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIMatlab.cpp: +fix bug in set_features. the feature
	  object should be created *AFTER* the alphabet
	  has a fully initialized histogram

2006-11-14  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  structure/DynProg.cpp, structure/DynProg.h, structure/Plif.h:
	  implemented interface for best_path_trans_deriv.
	  Untested.
	  G

2006-11-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  kernel/CombinedKernel.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp: this should make wd
	  / wds kernel work for vanilla+linadd+batch kernel computation
	  
	  a) single threaded in svm training + testing
	  b) multi threaded in svm training + testing (including
	  reactive_inactive_examples)
	  
	  I've found some bugs in combined kernel / batch
	  computation/linadd ...
	  so be cautious with that... though it should work
	  
	  this of course helps all kernels in testing too and speed up
	  other linadd enabled
	  kernels in svm training / testing too
	  
	  yay :-)
	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp: THIS IS ALL UNTESTED
	  AND PROBABLY BROKEN CODE
	  
	  +this should parallelize:
	  
	  SVM evaluation for:
	  batch computation (WD kernel, WDS kernel, combined kernel)
	  linadd / vanilla kernel computation
	  
	  SVM training for
	  batch computation
	  linadd / vanilla kernel computation
	  
	  THIS IS ALL UNTESTED AND PROBABLY BROKEN CODE
	  
	  I probably need help testing it...
	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: experimental:
	  parallelized compute_batch

2006-11-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: + batch computation
	  now needs an index array (enumeration of vectors for which output
	  is to be computed)
	  + fix serious bug (which probably (not yet) never ever occured):
	  batch computation + combined kernel assigned
	  the weight of the combined kernel not the subkernel
	  + stuff is only tested for wds kernel (same result as before +
	  valgrind verified) but I am quite confident
	  this works for wd kernel (trivially) too / combined kernel
	  untested same applies here
	  + fixed a valgrind error in WD_scoring
	* Makefile, classifier/svm/SVM_light.cpp, guilib/GUISVM.cpp: +print
	  out whether batch comput is on / on svm training
	  +fix make clean
	  +fix batch computation on reactivate_inactive_examples (should
	  work,
	  i.e. in testing got same results
	  a) with linadd on, batch off
	  b) linadd off (batch on/off)
	  c) linadd on, batch on

2006-11-10  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreeCharKernel.cpp: Fixed a problem with
	  "compute_scoring". It previously produced different results on
	  WDS and WD (actually the implementation was different). I copied
	  the code from WDS... (not so nice). Alex is currently testing it.
	  G

2006-11-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_light.cpp: call batchcomput only if
	  num_suppvec >0 / free temporary arrays afterwards
	* configure: use cut -c 1 instead of head -c 1 (non posix...)
	* .generate_link_dependencies.py, INSTALL, Makefile, configure: +
	  add a lot more build instructions in INSTALL
	  + fix configure etc to make python, octave, python/swig work on
	  windows/cygwin

2006-11-09  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* classifier/svm/SVM_light.cpp: Implemented batch computation in
	  svm_light inactive example reactivation.
	  UNTESTED. Soeren.. please have a look at it and try it.
	  Its still not optimal, as it computes the output for all
	  examples...
	  
	  Gu

2006-11-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, configure: +fix == syntax error in configure
	  +ignore configure- files on make
	  +print test error in wd kernel py example

2006-11-07  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* lib/io.h, lib/io.i: + added module for io
	  + setting of loglevels is now possible

2006-11-07  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: matlab devel check only when matlab is on

2006-11-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: matlab autodetection for cygwin
	* configure: now matlab should be autodetected
	* configure: matlab autodetection
	* configure: configure+matlab autodetection

2006-11-06  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h, kernel/Chi2Kernel.i,
	  kernel/Kernel.i, kernel/SigmoidKernel.cpp,
	  kernel/SigmoidKernel.h, kernel/SigmoidKernel.i: + added Sigmoid
	  and Chi2 kernel interfaces
	* kernel/Kernel.i, kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/LinearKernel.i, kernel/PolyKernel.cpp,
	  kernel/PolyKernel.h, kernel/PolyKernel.i: + added Constructors
	  for RealFeatures
	* kernel/Kernel.i, kernel/LinearKernel.i, kernel/PolyKernel.i: +
	  added framework for testsuite for the kernels
	  + modified interfaces for Poly and Linear Kernel
	  + added doctstring support via the %feature("autodoc", "0")
	  directive
	  TODO
	  + write some test cases for Poly, Gaussian and Linear
	* kernel/AUCKernel.i, kernel/Kernel.i: + added AUCKernel

2006-11-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: try to be smart and convert ~ into $HOME

2006-11-06  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreeCharKernel.cpp, structure/Plif.h:

2006-11-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: exclusive or for --enable-matlab --enable-python etc

2006-11-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distance/Distance.i, distance/DistanceMachine.i: +Distance .i
	  files
	* classifier/svm/SVM.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  lib/Trie.cpp, lib/Trie.h: this fixes linadd/batch computation w/
	  WD kernel
	* kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/WeightedDegreeCharKernel.i: ok this is what the what the
	  wd kernel python interface now looks like:
	  
	  wdk = WeightedDegreeCharKernel(trainfeat, trainfeat, degree)
	  
	  or:
	  
	  weights =
	  arange(1,degree+1,dtype=double)[::-1]/sum(arange(1,degree+1,dtype=double))
	  wdk = WeightedDegreeCharKernel(trainfeat, trainfeat, degree,
	  weights=weights)
	  
	  
	  see:
	  python/examples/test_wdk.py

2006-11-04  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.i: w/o batch computation/kernel
	  optimization the py wd kernel
	  is now equiv to the oct/matlab versions

2006-11-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/Classifier.i, classifier/svm/SVM.i,
	  distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  kernel/KernelMachine.i: make it compile again ...

2006-11-03  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* classifier/Classifier.i, classifier/svm/SVM.i,
	  kernel/KernelMachine.i: fixed some bugs

2006-11-02  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* distributions/hmm/HMM.i: + basic hmm stuff is working under
	  python
	  + need more tests

2006-11-01  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.h: compile-error fixed.
	  G

2006-11-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Octave.cpp, guilib/GUIOctave.cpp,
	  kernel/WeightedDegreeCharKernel.cpp: remove the structure stuff
	  from guioctave to make it compile again -> we need a build bot!!!

2006-11-01  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp:
	* structure/DynProg.cpp, structure/DynProg.h:

2006-11-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/Classifier.i, classifier/KNN.h, classifier/KNN.i,
	  classifier/svm/SVM.i, configure, distance/Distance.cpp,
	  distance/Distance.h, guilib/GUIKernel.cpp,
	  kernel/KernelMachine.i, kernel/WDCharKernel.cpp,
	  kernel/WDCharKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h, lib/fibheap.cpp,
	  structure/DynProg.h, structure/Plif.cpp: trying to fix the wd
	  kernel... / python interf. for struct stuff

2006-11-01  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/Plif.cpp, structure/Plif.h: Implemented support for
	  computing cumulative derivatives of the Plifs.
	  G
	* lib/DynamicArray.h: fixed a few bug that only appeared if
	  ARRAY_ASSERT is used.
	  G

2006-10-31  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIKernel.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/Trie.cpp,
	  lib/Trie.h: fixed a few bugs in the WD and WDS kernel related to
	  position_weights.
	  G

2006-10-30  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/DynArray.h, lib/DynArray.i, lib/DynArray2.h, lib/DynArray3.h:
	  remove the old files.
	  G
	* kernel/CommUlongStringKernel.h, lib/Array.h, lib/Array2.h,
	  lib/Array3.h, lib/DynamicArray.h, structure/DynProg.cpp,
	  structure/DynProg.h: Created a static array class and added the
	  automatic resize stuff in a derived class CDynamicArray. All
	  higher dimensional arrays are derived from the static array
	  class.
	  
	  G

2006-10-29  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/DynArray2.h, lib/DynArray3.h, structure/DynProg.cpp,
	  structure/DynProg.h: some last changes.
	  Should be all nice and smooth now.
	  G
	* lib/io.h:
	* structure/DynProg.cpp:
	* lib/DynArray.h:
	* lib/DynArray.h, lib/DynArray2.h, lib/DynArray3.h,
	  structure/DynProg.cpp, structure/DynProg.h: speedups and debug.
	  G

2006-10-28  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp, structure/DynProg.h:
	* structure/DynProg.cpp:
	* lib/DynArray.h, structure/DynProg.cpp:
	* structure/DynProg.cpp:
	* lib/DynArray.h: *** empty log message ***
	* lib/DynArray.h: minor fix.
	  G
	* lib/DynArray.h, lib/DynArray2.h, lib/DynArray3.h, lib/Trie.h,
	  structure/DynProg.cpp: added some statistics functions for
	  DynArrays.
	  G

2006-10-27  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/DynArray.h, lib/DynArray3.h, lib/io.h, structure/DynProg.cpp:
	  seems to work, but it is slower...
	  G
	* guilib/GUIMatlab.cpp, lib/DynArray.h, lib/DynArray2.h,
	  lib/DynArray3.h, lib/io.h, structure/DynProg.cpp,
	  structure/Plif.cpp: the matlab interface seems to still work
	  after a few minor bug fixes.
	  performing more checks now.
	  
	  G
	* guilib/GUIMatlab.cpp, lib/DynArray.h, lib/DynArray2.h,
	  lib/DynArray3.h, structure/DynProg.cpp, structure/DynProg.h: Code
	  is done.. now it needs some testing.
	  G

2006-10-26  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/DynArray.h, lib/DynArray2.h, lib/DynArray3.h: fixed a few
	  DynArray bugs.
	  G
	* structure/DynProg.cpp: @Soeren: do I have to alloc the return
	  argument as well, or is this done outside? (e.g. in
	  best_path_get_states)
	  G
	* structure/DynProg.cpp: minor fix
	  G
	* structure/DynProg.cpp, structure/DynProg.h: The functions to be
	  swigged are implemented... but not tested yet.
	  Please swig them.
	  
	  Gu
	* lib/DynArray.h, lib/DynArray2.h, lib/DynArray3.h,
	  structure/DynProg.cpp, structure/DynProg.h:
	* lib/DynArray2.h, lib/DynArray3.h: compiles again
	  G
	* lib/DynArray2.h, lib/DynArray3.h, structure/DynProg.cpp:
	* lib/DynArray.h, lib/DynArray2.h, lib/DynArray3.h,
	  structure/DynProg.cpp, structure/DynProg.h: does not compile...
	  G
	* structure/DynProg.h: *** empty log message ***

2006-10-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* TODO:

2006-10-26  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* structure/DynProg.cpp, structure/DynProg.h:
	* lib/DynArray3.h, structure/DynProg.cpp, structure/DynProg.h:
	* gui/Matlab.cpp: removed model_prob_no_b_trans.
	  Hope nobody needs it.
	  G
	* distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/HMM_bestpath_2struct.cpp,
	  distributions/hmm/HMM_bestpath_simple.cpp,
	  distributions/hmm/fibheap.cpp, distributions/hmm/fibheap.h,
	  gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  lib/DynArray.h, lib/DynArray2.h, lib/Plif.cpp, lib/Plif.h,
	  lib/fibheap.cpp, lib/fibheap.h, structure, structure/DynProg.cpp,
	  structure/DynProg.h, structure/Plif.cpp, structure/Plif.h: a lot
	  of changes for the Dynamic Programing stuff.
	  It is in a new class now and in a new sub directory "structure".
	  
	  Gu

2006-10-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distance/Distance.h, lib/Mathematics.h: forgotten fix for
	  <float.h>

2006-10-26  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* classifier/Classifier.i, classifier/KNN.i,
	  classifier/KernelPerceptron.i, classifier/LDA.i,
	  classifier/LPM.i, classifier/LinearClassifier.i,
	  classifier/Perceptron.i, classifier/PluginEstimate.i,
	  distance/Distance.h, kernel/Kernel.i: + added interface for
	  several classifiers (not tested yet)
	  + changed "float.h" to <float.h> in distance/Distance.h
	  TODO
	  + add -lcblas -llapack -latlas to linking flags for swig _wrap
	  files

2006-10-26  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* guilib/GUIMatlab.cpp, lib/Plif.h: new Plifs compile and should
	  also work.
	  Now working on the bestpath stuff.
	  G

2006-10-25  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* distributions/hmm/HMM_bestpath_2struct.cpp:
	* distributions/hmm/HMM_bestpath.cpp, lib/Plif.cpp, lib/Plif.h:
	  almost there...
	* distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h:
	* distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, guilib/GUIMatlab.cpp,
	  lib/Plif.cpp, lib/Plif.h: tmp ci.
	  G

2006-10-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* distance/Distance.h, guilib/GUIDistance.cpp: +fix mathematics /
	  realsparse features include
	* classifier/KNN.cpp, classifier/KNN.h, distance,
	  distance/Canberra.cpp, distance/Canberra.h,
	  distance/Chebyshew.cpp, distance/Chebyshew.h,
	  distance/Distance.cpp, distance/Distance.h,
	  distance/DistanceMachine.cpp, distance/DistanceMachine.h,
	  distance/Geodesic.cpp, distance/Geodesic.h, distance/Jensen.cpp,
	  distance/Jensen.h, distance/Manhattan.cpp, distance/Manhattan.h,
	  distance/Minkowski.cpp, distance/Minkowski.h,
	  distance/RealDistance.h, distance/SimpleDistance.h,
	  distance/StringDistance.h, gui/GUI.h, gui/TextGUI.cpp,
	  gui/TextGUI.h, guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIDistance.cpp, guilib/GUIDistance.h, guilib/GUIKNN.cpp,
	  lib/common.h: + distances (christians work)

2006-10-25  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* classifier/svm/CPLEXSVM.cpp:

2006-10-24  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Trie.h:
	* kernel/WeightedDegreeCharKernel.cpp, lib/Trie.cpp, lib/Trie.h:
	  made sure nobody uses compact tries with mismatches (conceptually
	  not really possible).
	  G
	* guilib/GUIKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel_new.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.h: I moved the
	  experimental code to WDS kernel class..
	  The function compute_scoring is still in the WDS class, most of
	  the dependent functions are to be found in the class CTrie.
	  G

2006-10-23  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel_new.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.h, lib/Trie.cpp,
	  lib/Trie.h: transformed the compute_scoring code.
	  G
	* guilib/GUIKernel.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel_new.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.h, lib/Trie.cpp,
	  lib/Trie.h: WD and WDS_new should be usable now with all
	  combinations of options.
	  I did not test MKL.
	  
	  I will migrate the compute_scoring functions now and then rename
	  the class to WeightedDegreePositionCharKernel (from
	  WeightedDegreePositionCharKernel_new).
	  
	  Gu
	* guilib/GUIKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.cpp, lib/Trie.cpp,
	  lib/Trie.h: Was still working. I cannot find the bug. It has
	  something to do with the terminal nodes, but I cannot figure it
	  out.
	  Have to disable compact nodes for FASTBUTMEMHUNGRY WDS kernel..
	  G

2006-10-22  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Trie.h: minor change.
	  G
	* kernel/WeightedDegreePositionCharKernel_new.cpp: Introduced
	  SLOWBUTMEMEFFICIENT for batch_computation. Gives the same results
	  as with normal kernels and with init_kernel_optimization.
	  
	  But there are still differences of up to 1e-3 in the outputs when
	  I use FASTBUTMEMHUNGRY.
	  I explain it with numerical difficulties, but I'm not sure...
	  
	  Gu
	* lib/Trie.h: The option SLOWBUTMEMEFFICIENT works, but
	  FASTBUTMEMHUNGRY still deviates (also batch_computation) for WDS
	  kernel.
	  Numerical problems?
	  G
	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.cpp, lib/Trie.h:
	  there are still minor differences...
	  Why?
	  Gu

2006-10-21  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.cpp, lib/Trie.h:
	  almost works...
	  G
	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.cpp, lib/Trie.cpp,
	  lib/Trie.h: WD kernel works again.
	  The new WDS kernel does not work yet.
	  If you don't use WeightedDegreePositionCharKernel_new, you are
	  not affected.
	  G
	* lib/Trie.h: still working.
	  G
	* lib/Trie.h:
	* lib/Trie.h:
	* guilib/GUIKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.h:
	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel_new.cpp,
	  kernel/WeightedDegreePositionCharKernel_new.h, lib/Trie.cpp,
	  lib/Trie.h: Experimental... changed quite a few things in the WD
	  and WDs code...
	  Still trying.
	  G

2006-10-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.cpp, features/Alphabet.i, features/Features.i,
	  features/StringFeatures.h, features/StringFeatures.i,
	  kernel/Kernel.i, kernel/SpectrumKernel.cpp,
	  kernel/SpectrumKernel.h, kernel/StringKernel.i,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/common.h,
	  lib/suffixarray/BWT.h, lib/suffixarray/BoundedRangeWeight.cpp,
	  lib/suffixarray/BoundedRangeWeight.h,
	  lib/suffixarray/ChildTable.cpp, lib/suffixarray/ChildTable.h,
	  lib/suffixarray/ConstantWeight.cpp,
	  lib/suffixarray/ConstantWeight.h, lib/suffixarray/ESA.cpp,
	  lib/suffixarray/ESA.h, lib/suffixarray/ErrorCode.h,
	  lib/suffixarray/ExpDecayWeight.cpp,
	  lib/suffixarray/ExpDecayWeight.h, lib/suffixarray/I_LCPFactory.h,
	  lib/suffixarray/I_SAFactory.h, lib/suffixarray/I_WeightFactory.h,
	  lib/suffixarray/InductionSort.cpp,
	  lib/suffixarray/InductionSort.h,
	  lib/suffixarray/KSpectrumWeight.cpp,
	  lib/suffixarray/KSpectrumWeight.h, lib/suffixarray/LCP.cpp,
	  lib/suffixarray/LCP.h, lib/suffixarray/MSufSort.cpp,
	  lib/suffixarray/MSufSort.h, lib/suffixarray/Stack.h,
	  lib/suffixarray/W_kasai_lcp.cpp, lib/suffixarray/W_kasai_lcp.h,
	  lib/suffixarray/W_msufsort.cpp, lib/suffixarray/W_msufsort.h: +
	  spec kernel w/ sa (not working...)

2006-10-20  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: massive speedup of
	  compute_scoring

2006-10-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.cpp, classifier/svm/SVM.h:
	  +init_kernel_optimization in svm object
	  +fix numpy_svm exmaple

2006-10-20  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* classifier/svm/SVM.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, lib/Trie.cpp,
	  lib/Trie.h: fixed batch computation bug.
	  G

2006-10-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionCharKernel.cpp: +fix wrong mem
	  access
	  +return all degrees at once (reshape necessary...)
	* classifier/svm/SVM.h,
	  kernel/WeightedDegreePositionCharKernel.cpp:

2006-10-20  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel.cpp: one more wd score
	  computation fix
	* kernel/WeightedDegreePositionCharKernel.cpp:

2006-10-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.i, lib/io.cpp, lib/numpy.i: + a
	  wd kernel example, random acgt vs. aaaaa ...
	  kernel matrix gives neat results,
	  but svm currently leads to a constant result (whoops ?)

2006-10-19  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* lib/Trie.h:
	* classifier/svm/SVM_light.cpp, lib/Trie.cpp, lib/Trie.h: WD Kernel
	  with compacted leaves works ... finally.
	  In some toy experiments needed about 7 times less memory and is
	  even a bit faster:
	  
	  10k trainings daten, 500k test daten, ohne optimierung
	  8642059 tree elements
	  49.59s svm training
	  0.64s init_kernel_optimization
	  22.24s testing
	  
	  10k trainings daten, 500k test daten, mit optimierung
	  1395742 tree elements
	  45.37s svm training
	  0.37s init_kernel_optimization
	  17.78s testing
	  
	  max(abs(out-out2))=3.3993e-08
	  
	  Cheers, G
	* classifier/svm/SVM.cpp: *** empty log message ***
	* lib/io.cpp: *** empty log message ***
	* lib/Trie.cpp, lib/Trie.h:
	* lib/Trie.cpp, lib/Trie.h:
	* classifier/KNN.cpp, classifier/KernelPerceptron.cpp,
	  classifier/LDA.cpp, classifier/LPM.cpp,
	  classifier/Perceptron.cpp, classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/MPD.cpp, classifier/svm/Optimizer.cpp,
	  classifier/svm/SVM.cpp, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  classifier/svm/pr_loqo.cpp, distributions/Distribution.cpp,
	  distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp, distributions/hmm/GHMM.h,
	  distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/HMM_bestpath_2struct.cpp,
	  distributions/hmm/HMM_bestpath_simple.cpp,
	  distributions/hmm/penalty_info.h, features/SimpleFeatures.h,
	  features/SparseFeatures.h, features/StringFeatures.h,
	  features/TOPFeatures.cpp, guilib/GUIMath.cpp,
	  kernel/AUCKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordStringKernel.h, kernel/ConstKernel.h,
	  kernel/CustomKernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearCharKernel.cpp, kernel/LinearWordKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WordMatchKernel.cpp, lib/Trie.cpp, lib/Trie.h, lib/io.cpp,
	  preproc/LogPlusOne.cpp, preproc/NormOne.cpp, preproc/PCACut.cpp,
	  preproc/PruneVarSubMean.cpp, preproc/SortUlongString.cpp,
	  preproc/SortWord.cpp, preproc/SortWordString.cpp,
	  regression/svr/SVR_light.cpp: renamed Mathmatics into Mathematics
	  Many subsequent changes.
	  G
	* lib/Mathematics.i, lib/Mathmatics.i:
	* lib/Cache.h, lib/DynArray.h, lib/Mathematics.cpp,
	  lib/Mathematics.h, lib/Mathmatics.cpp, lib/Mathmatics.h,
	  lib/Mathmatics.i, lib/Trie.cpp, lib/Trie.h, lib/io.cpp: many
	  changes still working.
	  G

2006-10-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionCharKernel.cpp,
	  lib/suffixarray/MSufSort.h: ...looks promising... but needs
	  another check by alex

2006-10-19  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h:

2006-10-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h:
	* README.developer:

2006-10-19  Alexander Zien <Alexander.Zien@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h:

2006-10-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h:
	* features/ByteFeatures.h, features/ByteFeatures.i,
	  features/CharFeatures.h, features/CharFeatures.i,
	  features/RealFeatures.i,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/numpy.i:

2006-10-19  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* features/Alphabet.cpp: fixed bug.
	  G
	* features/Alphabet.cpp, features/Alphabet.h, lib/common.h:
	  Introduced an "RNA" alphabet.
	  G
	* lib/Trie.cpp, lib/Trie.h: still working...
	  G
	* kernel/WeightedDegreeCharKernel.cpp, lib/Trie.cpp, lib/Trie.h:
	  experimental WD kernel with compacted ends...
	  I'm still testing.
	  G

2006-10-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionCharKernel.cpp:
	* configure:
	* Makefile, configure: +disable -fexception w/ matlab as pthreads
	  won't compile (syntax errr...
	  +exclude configure-* from linking
	* configure: +some more matlab detection
	* kernel/ConstKernel.i:
	* README.developer, TODO:
	* .generate_link_dependencies.py, Makefile, features/Labels.cpp,
	  features/RealFeatures.h, features/RealFeatures.i,
	  features/SimpleFeatures.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/Kernel.i, kernel/WeightedDegreePositionCharKernel.cpp,
	  lib/numpy.i: +updated examples (retreat talk)
	  +fix makefile dependency generation
	  +fix swig IN/OUT typemaps to use fortran order

2006-10-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/numpy.i: oopsi, wrong malloc sizes
	* configure: +fix octave support under osx
	* configure: create a .dll (not .so) for R/python under cygwin
	* Makefile, configure, guilib/GUIPython.cpp: +make configure work
	  on osx w/ python
	  try ./configure --enable-python --python=python2.4
	  if python -c "import numpy;" fails
	* .generate_link_dependencies.py, Makefile, configure,
	  features/Alphabet.cpp, features/Alphabet.h,
	  features/ByteFeatures.cpp, features/ByteFeatures.h,
	  features/CharFeatures.cpp, features/CharFeatures.h,
	  features/FKFeatures.cpp, features/FKFeatures.h,
	  features/RealFeatures.cpp, features/RealFeatures.h,
	  features/RealFeatures.i, features/RealFileFeatures.cpp,
	  features/RealFileFeatures.h, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/SimpleFeatures.h,
	  features/SimpleFeatures.i, features/TOPFeatures.cpp,
	  features/TOPFeatures.h, features/WordFeatures.cpp,
	  features/WordFeatures.h, gui/Octave.cpp, gui/Python.h, gui/R.cpp,
	  guilib/GUIHMM.cpp, guilib/GUIMatlab.cpp, guilib/GUIOctave.cpp,
	  guilib/GUIPython.cpp, guilib/GUIR.cpp, lib/io.cpp,
	  lib/lapack.cpp, lib/numpy.i, lib/suffixarray/MSufSort.h:
	  +configure now does a lot more checks (tries to build simple
	  R,octave,python,numpy
	  scripts, checks for makedepend,swig etc...)
	  +Makefile should take care of swig dependencies now (incorporated
	  in .generate_link_dep...)
	  +fixed octave,python and R interface to work again :-)
	  +python now uses compatibility layer of numpy -> no more numarray
	  necessary
	  +updated all (oct/py/R) examples to work again

2006-10-13  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog, TODO:
	* Makefile, classifier/svm/LibSVM.cpp, classifier/svm/LibSVM.h,
	  classifier/svm/LibSVM.i, classifier/svm/SVM.i,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  classifier/svm/SVM_light.i, features/ByteFeatures.i,
	  features/CharFeatures.i, features/Labels.cpp, features/Labels.h,
	  features/Labels.i, features/RealFeatures.i,
	  features/ShortFeatures.i, features/SimpleFeatures.h,
	  features/SimpleFeatures.i, features/WordFeatures.i,
	  kernel/GaussianKernel.i, kernel/Kernel.i, lib/numpy.i: ...finally
	  working numpy & swig

2006-10-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Alphabet.cpp, features/Alphabet.h,
	  features/ByteFeatures.i, features/CharFeatures.h,
	  features/CharFeatures.i, features/Features.i,
	  features/Labels.cpp, features/Labels.h, features/Labels.i,
	  features/RealFeatures.h, features/RealFeatures.i,
	  features/ShortFeatures.i, features/SimpleFeatures.h,
	  features/SimpleFeatures.i, features/WordFeatures.i, lib/numpy.i:
	  this works now :)
	  
	  import features.Features as f
	  import numpy as N
	  
	  feat1 = f.CharFeatures(N.chararray((10,5),1),f.DNA)
	  feat2 = f.ShortFeatures(N.zeros((10,5),N.short))
	  feat3 = f.WordFeatures(N.zeros((10,5),N.uint16))
	  feat4 = f.RealFeatures(N.zeros((10,5),N.double))
	  feat5 = f.ByteFeatures(N.zeros((10,5),N.uint8),f.DNA)
	  lab = f.Labels(N.array([1,2.,3]))

2006-10-12  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/CharFeatures.i, features/Features.i, lib/numpy.i: dadfa

2006-10-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, features/CharFeatures.h, features/CharFeatures.i,
	  lib/numpy.i: ...

2006-10-12  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/CharFeatures.h, features/CharFeatures.i, lib/numpy.i:
	  trying to get numpy typemapping to work.

2006-10-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/CharFeatures.h, features/CharFeatures.i,
	  features/Features.i, lib/numpy.i: it works :-)
	  
	  import numpy as N
	  import features.Features as f
	  a=f.CCharFeatures(f.DNA, 10)
	  print a.doubleSum(N.array([1.,2.,3.,4.,5.]))
	  a.testNumpy2(N.zeros((5,10),'i'))
	  
	  x=N.chararray((3,10),1)
	  for i in xrange(10):
	  x[(0,i)]='a'
	  for i in xrange(10):
	  x[(1,i)]='b'
	  for i in xrange(10):
	  x[(2,i)]='c'
	  
	  a.testNumpy(x)
	  
	  a.doubleSum([1,2,3.14,4])

2006-10-11  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/CharFeatures.h, features/CharFeatures.i, lib/numpy.i:
	  added some shit
	* features/Features.i, lib/numpy.i: cleaned up numpy file added
	  numpy.i to Features.
	* lib/numpy.i: added numpy typemaps
	* features/CharFeatures.i, features/Features.i,
	  features/Labels.cpp, features/Labels.h, features/Labels.i,
	  features/SimpleFeatures.h, kernel/Kernel.i,
	  kernel/SimpleKernel.i, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.i, lib/common.i: removed LONG
	  from WeightedDegreeCharKernel, fix for the "thisown" problem.

2006-10-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Alphabet.cpp, features/Alphabet.h, guilib/GUIMatlab.cpp:
	  + also check alphabet for uint8 charfeatures (not just
	  string*freatures)
	* features/Alphabet.cpp, lib/common.h: + IUPAC_NUCLEIC_ACID and
	  IUPAC_AMINO_ACID alphabets (16 / 23 symbols)
	* distributions/hmm/HMM.cpp, features/Alphabet.cpp,
	  features/Alphabet.h, features/ShortFeatures.cpp,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/SparseRealFeatures.cpp, features/SparseRealFeatures.h,
	  features/SparseRealFeatures.i, features/StringFeatures.h,
	  features/WordFeatures.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIKernel.cpp, guilib/GUIKernel.h,
	  guilib/GUIMatlab.cpp, guilib/GUIPreProc.cpp,
	  kernel/SimpleKernel.h, kernel/SparseGaussianKernel.cpp,
	  kernel/SparseGaussianKernel.h, kernel/SparseKernel.h,
	  kernel/SparseLinearKernel.cpp, kernel/SparseLinearKernel.h,
	  kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/StringKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp: -removed
	  sparserealfeatures
	  +introduce strict alphabet checking on set features (valid number
	  of symbols
	  and whether each symbol is valid will be checked)
	  - remove B_n B_* etc from DNA alphabet as DNA == ACGT
	* Makefile, TODO, classifier/svm/SVM_light.h:

2006-10-11  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* Makefile, classifier/svm/SVM.i, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, classifier/svm/SVM_light.i,
	  classifier/svm/__init__.py: modified interfaces for SVMs, still a
	  problem with inheritance.

2006-10-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CommUlongStringKernel.cpp, kernel/SimpleKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/SpectrumKernel.cpp,
	  kernel/SpectrumKernel.h, kernel/SpektrumKernel.cpp,
	  kernel/SpektrumKernel.h, lib/suffixarray, lib/suffixarrays:
	* kernel/CommUlongStringKernel.h, kernel/SimpleKernel.h,
	  kernel/SparseKernel.h, kernel/SparseRealKernel.h,
	  kernel/SparseRealKernel.i, kernel/SpektrumKernel.cpp,
	  kernel/SpektrumKernel.h, kernel/StringKernel.h:

2006-10-10  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* classifier/svm/SVM.i, classifier/svm/SVM_light.i,
	  features/Features.i, features/RealFeatures.i: modified swig
	  interfaces to work with SVM module
	* classifier/Classifier.i, classifier/svm/SVM.i,
	  features/ByteFeatures.i, features/Features.i,
	  features/SimpleFeatures.i, kernel/Kernel.i,
	  kernel/KernelMachine.i, kernel/WeightedDegreeCharKernel.h:
	  modified Classifier and KernelMachine to be modules in order to
	  get the director proxy classes right.

2006-10-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .generate_link_dependencies.py:

2006-10-10  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* kernel/Kernel.i: added swig director support
	* features/Features.i: modified Features

2006-10-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* .generate_link_dependencies.py, Makefile, features/allFeatures.i:
	  +fixed makefile for swig

2006-10-10  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/Features.i, features/__init__.py,
	  kernel/CommWordKernel.i, kernel/GaussianKernel.i,
	  kernel/HistogramWordKernel.i, kernel/Kernel.i,
	  kernel/PolyMatchCharKernel.i, kernel/PolyMatchWordKernel.i,
	  kernel/SimpleKernel.i, kernel/SparseGaussianKernel.i,
	  kernel/SparseKernel.i, kernel/SparseRealKernel.i,
	  kernel/StringKernel.i, kernel/WeightedDegreeCharKernel.i,
	  kernel/__init__.py: modified some interfaces

2006-10-10  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile:
	* classifier/Classifier.i, classifier/KNN.i,
	  classifier/KernelPerceptron.i, classifier/LDA.i,
	  classifier/LPM.i, classifier/LinearClassifier.i,
	  classifier/Perceptron.i, classifier/PluginEstimate.i,
	  classifier/svm/LibSVM.i, classifier/svm/SVM.i,
	  classifier/svm/SVM_light.i, distributions/Distribution.i,
	  features/Alphabet.i, features/ByteFeatures.i,
	  features/CharFeatures.i, features/CombinedFeatures.i,
	  features/FKFeatures.i, features/Features.i, features/Labels.i,
	  features/MindyGramFeatures.i, features/RealFeatures.i,
	  features/RealFileFeatures.i, features/ShortFeatures.i,
	  features/SimpleFeatures.i, features/SparseFeatures.i,
	  features/SparseRealFeatures.i, features/StringFeatures.i,
	  features/TOPFeatures.i, features/WordFeatures.i,
	  features/allFeatures.i, kernel/AUCKernel.i,
	  kernel/CharPolyKernel.i, kernel/Chi2Kernel.i,
	  kernel/CombinedKernel.i, kernel/CommUlongStringKernel.i,
	  kernel/CommWordKernel.i, kernel/CommWordStringKernel.i,
	  kernel/CustomKernel.i, kernel/DiagKernel.i,
	  kernel/FixedDegreeCharKernel.i, kernel/GaussianKernel.i,
	  kernel/HistogramWordKernel.i, kernel/Kernel.i,
	  kernel/KernelMachine.i, kernel/LinearByteKernel.i,
	  kernel/LinearCharKernel.i, kernel/LinearKernel.i,
	  kernel/LinearWordKernel.i, kernel/LocalityImprovedCharKernel.i,
	  kernel/MindyGramKernel.i, kernel/PolyKernel.i,
	  kernel/PolyMatchCharKernel.i, kernel/PolyMatchWordKernel.i,
	  kernel/SalzbergWordKernel.i, kernel/SigmoidKernel.i,
	  kernel/SimpleKernel.i, kernel/SimpleLocalityImprovedCharKernel.i,
	  kernel/SparseGaussianKernel.i, kernel/SparseKernel.i,
	  kernel/SparseLinearKernel.i, kernel/SparseNormSquaredKernel.i,
	  kernel/SparsePolyKernel.i, kernel/SparseRealKernel.i,
	  kernel/StringKernel.i, kernel/WDCharKernel.i,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreeCharKernelPolyA.i,
	  kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WordMatchKernel.i, lib/Cache.i, lib/DynArray.i,
	  lib/File.i, lib/List.i, lib/Mathmatics.i, lib/Parallel.i,
	  lib/Signal.i, lib/SimpleFile.i, lib/Time.i, lib/Trie.i,
	  lib/Version.i, lib/common.i, lib/config.i, lib/io.i,
	  lib/lapack.i: + refactoring swig... now everything is broken
	* kernel/SpektrumKernel.cpp, kernel/SpektrumKernel.h: spektrum
	  kernel based on SA (not working yet)
	* lib/suffixarrays/.ltp-sa-nsl.cpp.swp:
	* lib/suffixarrays, lib/suffixarrays/.ltp-sa-nsl.cpp.swp,
	  lib/suffixarrays/BWT.cpp, lib/suffixarrays/BWT.h,
	  lib/suffixarrays/BoundedRangeWeight.cpp,
	  lib/suffixarrays/BoundedRangeWeight.h,
	  lib/suffixarrays/ChildTable.cpp, lib/suffixarrays/ChildTable.h,
	  lib/suffixarrays/ConstantWeight.cpp,
	  lib/suffixarrays/ConstantWeight.h, lib/suffixarrays/DataType.h,
	  lib/suffixarrays/ESA.cpp, lib/suffixarrays/ESA.h,
	  lib/suffixarrays/ErrorCode.h,
	  lib/suffixarrays/ExpDecayWeight.cpp,
	  lib/suffixarrays/ExpDecayWeight.h,
	  lib/suffixarrays/I_LCPFactory.h, lib/suffixarrays/I_SAFactory.h,
	  lib/suffixarrays/I_WeightFactory.h,
	  lib/suffixarrays/InductionSort.cpp,
	  lib/suffixarrays/InductionSort.h, lib/suffixarrays/IntroSort.h,
	  lib/suffixarrays/KSpectrumWeight.cpp,
	  lib/suffixarrays/KSpectrumWeight.h, lib/suffixarrays/LCP.cpp,
	  lib/suffixarrays/LCP.h, lib/suffixarrays/MSufSort.cpp,
	  lib/suffixarrays/MSufSort.h, lib/suffixarrays/SConstruct,
	  lib/suffixarrays/Stack.h, lib/suffixarrays/W_kasai_lcp.cpp,
	  lib/suffixarrays/W_kasai_lcp.h, lib/suffixarrays/W_msufsort.cpp,
	  lib/suffixarrays/W_msufsort.h: +suffix arrays
	* ChangeLog, README.developer, TODO, classifier/svm/SVM.i,
	  features/CharFeatures.h, features/RealFeatures.h,
	  features/SimpleFeatures.h, features/StringFeatures.h,
	  features/WordFeatures.h, guilib/GUIKernel.cpp,
	  kernel/AUCKernel.cpp, kernel/AUCKernel.h, kernel/ByteKernel.h,
	  kernel/ByteKernel.i, kernel/CanberraWordKernel.cpp,
	  kernel/CanberraWordKernel.h, kernel/CharKernel.h,
	  kernel/CharKernel.i, kernel/CharPolyKernel.cpp,
	  kernel/CharPolyKernel.h, kernel/Chi2Kernel.cpp,
	  kernel/Chi2Kernel.h, kernel/CommWordKernel.cpp,
	  kernel/CommWordKernel.h, kernel/FixedDegreeCharKernel.cpp,
	  kernel/FixedDegreeCharKernel.h, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h, kernel/GaussianKernel.i,
	  kernel/HammingWordKernel.cpp, kernel/HammingWordKernel.h,
	  kernel/HistogramWordKernel.cpp, kernel/HistogramWordKernel.h,
	  kernel/LinearByteKernel.cpp, kernel/LinearByteKernel.h,
	  kernel/LinearCharKernel.cpp, kernel/LinearCharKernel.h,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/LinearWordKernel.cpp, kernel/LinearWordKernel.h,
	  kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h,
	  kernel/ManhattenWordKernel.cpp, kernel/ManhattenWordKernel.h,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/PolyMatchCharKernel.cpp, kernel/PolyMatchCharKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/RealKernel.h, kernel/RealKernel.i,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/ShortKernel.h, kernel/ShortKernel.i,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/SimpleKernel.h, kernel/SimpleKernel.i,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h, kernel/StringKernel.h,
	  kernel/WDCharKernel.cpp, kernel/WDCharKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.i, kernel/WordKernel.h,
	  kernel/WordKernel.i, kernel/WordMatchKernel.cpp,
	  kernel/WordMatchKernel.h: +make use of templates wherever
	  possible,
	  this removes all the {Byte,Char,Word,Real}Kernel* fils

2006-10-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, features/Alphabet.i, features/RealFeatures.i: +swig
	  Makefile fixes

2006-10-07  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM.h, classifier/svm/SVM_light.cpp,
	  guilib/GUISVM.h, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h, kernel/GaussianKernel.i,
	  kernel/Kernel.h, kernel/Kernel.i, kernel/RealKernel.h,
	  kernel/RealKernel.i, kernel/SimpleKernel.h,
	  kernel/SimpleKernel.i: +really introduce shrinking
	  +make the multiple svms example work again w/ swig
	* classifier/svm/SVM.h, classifier/svm/SVM_light.cpp,
	  gui/TextGUI.cpp, guilib/GUISVM.cpp, guilib/GUISVM.h,
	  kernel/Kernel.i: + option to disable shrinking in svm training

2006-10-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Alphabet.i: +forgot the alphabet for swig

2006-10-06  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h: fixed bugs in mindy
	  conversion routines
	* features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  features/StringFeatures.h, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h:
	  templates to support various conversions, e.g. string byte to
	  string ulong or string char to string word, or or or...
	* guilib/GUIMatlab.cpp: added matlab support byte matrices and cell
	  arrays of bytes

2006-10-06  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/CharFeatures.i, features/RealFeatures.i,
	  guilib/GUIFeatures.cpp, kernel/Kernel.i,
	  kernel/WeightedDegreeCharKernel.i, lib/Trie.h, lib/Trie.i,
	  lib/common.i: +really use alphabet for byte features
	  +freak out w/ swig
	* features/ByteFeatures.cpp, features/ByteFeatures.h: +byte
	  features now also have an alphabet
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h:
	  +optional zero terminate the strings again as sscanf fails if we
	  don't
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: + make
	  getstring function not use mxGetString as it is locale sensitive
	  and
	  might screw up no ascii (0x80-0xff) chars, but do it manually
	  instead. On
	  the way I've done some input sanitizing (no more buffer overflows
	  as we now
	  use strncmp & friends everywhere + no more strlen). this also
	  save 1 byte
	  per string in stringfeatures and has different code for char
	  matrices too
	  (testme!)

2006-10-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/Alphabet.cpp, features/Alphabet.h,
	  features/StringFeatures.h, guilib/GUIMatlab.cpp: this should now
	  really fix the 8bit alphabet case
	* features/Alphabet.cpp, features/StringFeatures.h,
	  kernel/CommUlongStringKernel.cpp, kernel/CommWordKernel.cpp,
	  kernel/CommWordStringKernel.cpp: hopefully fixes spec* kernels
	  for too long strings

2006-10-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CommUlongStringKernel.cpp, kernel/CommWordKernel.cpp,
	  kernel/CommWordStringKernel.cpp: + for very long repetitive
	  strings INT as result might not be enough (overflow)
	  -> make it a DREAL

2006-10-02  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreeCharKernel.cpp, lib/Trie.cpp: Fixed two bugs
	  in the new trie code related to uninitialized variables.
	  Gu

2006-10-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/Trie.cpp, kernel/Trie.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h, lib/Trie.cpp, lib/Trie.h,
	  lib/Trie.i: move trie to lib (to list & dynarray)
	* classifier/svm/SVM_light.cpp: + really learn to the set accuracy
	  svm_epsilon, works with rbf/ wds+linadd /wds-linadd
	* classifier/svm/SVM_light.cpp: fully screw svm light

2006-09-29  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreeCharKernel.cpp_orig,
	  kernel/WeightedDegreeCharKernel.h_orig:
	* kernel/Trie.cpp, kernel/Trie.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp_orig,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.h_orig: Major change in Weighted
	  Degree kernel (experimental):
	  
	  I moved all the trie-related code a separate class CTrie.
	  In principle, nothing should change, but I did not try it..
	  
	  Gu
	* kernel/Trie.cpp, kernel/Trie.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp_orig,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.h_orig:

2006-09-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, lib/Mathmatics.h: +workaround for
	  broken powl() (powl is crashing on congo!!!)
	* features/Alphabet.cpp: +fail on unknown alphabet
	* configure:

2006-09-24  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: +this *should* fix the
	  scoring computation function

2006-09-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/LibSVM_oneclass.cpp,
	  classifier/svm/LibSVM_oneclass.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_libsvm.cpp,
	  gui/TextGUI.cpp, guilib/GUISVM.cpp, guilib/GUISVM.h,
	  kernel/Kernel.cpp, lib/common.h: + LIBSVM_ONECLASS

2006-09-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* guilib/GUIOctave.cpp: +cell array support in octave (strings of
	  different length :)
	* classifier/svm/LibSVM.h, configure, features/Alphabet.cpp,
	  guilib/GUIPython.cpp, guilib/GUIR.cpp, guilib/GUIR.h,
	  lib/common.h: +configure now checks for math, posix threads,
	  atlas/lapack, readline
	  +compile fixes for R & python, the RAW alphabet type is now
	  RAWBYTE
	  (as it was conflicting with R)
	* configure:
	* configure:
	* configure:
	* .cpuinfo.c, INSTALL, configure: further configure updates / more
	  docu in INSTALL
	* .cpuinfo.c, configure: further configure fixes ...

2006-09-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, configure: +make install
	  +make -C src install DESTDIR=$(pwd)/debian/
	  +fixed name for binary
	* kernel/Kernel.cpp, kernel/Kernel.h, lib/common.h: This *should*
	  fix kernel cache stuff for svmlight:
	  
	  +kernel cache indices are now checked to fit in KERNELCACHE_IDX
	  type
	  an assertion is thrown if not
	  +kernel cache is reduced to
	  totdoc*totdoc*sizeof(KERNELCACHE_ELEM) if larger
	  +KERNELCACHE_IDX is now LONG again, access operations to the
	  cache buffer do a
	  cast to KERNELCACHE_IDX, while the cache lines are limited to
	  INTs only
	  (i.e. caching max ~2^31 cache lines (~2^62 elements) is possible)

2006-09-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: make configure work when $INCLUDES / $LIBS are empty
	* ChangeLog, LICENSE, configure, features/StringFeatures.h,
	  guilib/GUIOctave.cpp, lib/Mathmatics.h: + compile fixes for
	  octave
	  + modify configure to obey INCLUDES/LIBS environment variables as
	  well as
	  --libs --includes options
	  + fix compilation on g++-4.1.2
	  + note the GPL exception in LICENSE (i.e. when compiled with
	  --enable-svm-light binary is under LICENSE.SVMlight)

2006-09-06  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h: extended
	  Mindy support:
	  (a) embedding function: count, frequency, binary
	  (b) similarity measures: see sm.c in mindy distribution
	  (c) parameters for measures: kernel width, minkowski k, etc...

2006-09-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: + WD und WD-Position
	  kernel scoring functions -> gibt saucoole positionsgewichtungen -
	  nieder mit MKL!

2006-08-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: +support higher order scoring
	  info
	* classifier/Classifier.cpp, classifier/Classifier.h,
	  classifier/KNN.cpp, classifier/KNN.h,
	  classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/LDA.cpp, classifier/LDA.h, classifier/LPM.cpp,
	  classifier/LPM.h, classifier/LinearClassifier.cpp,
	  classifier/LinearClassifier.h, classifier/Perceptron.cpp,
	  classifier/Perceptron.h, classifier/PluginEstimate.cpp,
	  classifier/PluginEstimate.h, classifier/svm/CPLEXSVM.cpp,
	  classifier/svm/CPLEXSVM.h, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/GPBTSVM.h, classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/KerthiPrimalSVM.h, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVM.h, classifier/svm/MPD.cpp,
	  classifier/svm/MPD.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_libsvm.h, classifier/svm/gpdt.cpp,
	  classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/gpdtsolve.h, classifier/svm/gpm.cpp,
	  classifier/svm/gpm.h, classifier/svm/pr_loqo.cpp,
	  classifier/svm/pr_loqo.h, distributions/Distribution.cpp,
	  distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h, distributions/hmm/GHMM.cpp,
	  distributions/hmm/GHMM.h, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/HMM_bestpath_2struct.cpp,
	  distributions/hmm/HMM_bestpath_simple.cpp,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  distributions/hmm/fibheap.cpp, distributions/hmm/fibheap.h,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, features/Alphabet.cpp,
	  features/Alphabet.h, features/ByteFeatures.cpp,
	  features/ByteFeatures.h, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CombinedFeatures.cpp,
	  features/CombinedFeatures.h, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/Features.cpp,
	  features/Features.h, features/Labels.cpp, features/Labels.h,
	  features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  features/RealFeatures.cpp, features/RealFileFeatures.cpp,
	  features/RealFileFeatures.h, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/SimpleFeatures.h,
	  features/SparseFeatures.h, features/SparseRealFeatures.cpp,
	  features/SparseRealFeatures.h, features/StringFeatures.cpp,
	  features/StringFeatures.h, features/TOPFeatures.cpp,
	  features/WordFeatures.cpp, features/WordFeatures.h, gui/GUI.cpp,
	  gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp,
	  gui/Python.h, gui/R.cpp, gui/TextGUI.cpp, gui/TextGUI.h,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h, guilib/GUIHMM.cpp,
	  guilib/GUIHMM.h, guilib/GUIKNN.cpp, guilib/GUIKNN.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUILabels.cpp,
	  guilib/GUILabels.h, guilib/GUIMath.cpp, guilib/GUIMath.h,
	  guilib/GUIMatlab.cpp, guilib/GUIOctave.cpp, guilib/GUIOctave.h,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, guilib/GUIR.cpp, guilib/GUIR.h,
	  guilib/GUISVM.cpp, guilib/GUISVM.h, guilib/GUITime.cpp,
	  guilib/GUITime.h, kernel/AUCKernel.cpp, kernel/AUCKernel.h,
	  kernel/ByteKernel.h, kernel/CanberraWordKernel.cpp,
	  kernel/CanberraWordKernel.h, kernel/CharKernel.h,
	  kernel/CharPolyKernel.cpp, kernel/CharPolyKernel.h,
	  kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/ConstKernel.cpp, kernel/ConstKernel.h,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/DiagKernel.cpp, kernel/DiagKernel.h,
	  kernel/FixedDegreeCharKernel.cpp, kernel/FixedDegreeCharKernel.h,
	  kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/HammingWordKernel.cpp, kernel/HammingWordKernel.h,
	  kernel/HistogramWordKernel.cpp, kernel/HistogramWordKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h,
	  kernel/ManhattenWordKernel.cpp, kernel/ManhattenWordKernel.h,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/PolyMatchCharKernel.cpp, kernel/PolyMatchCharKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/RealKernel.h, kernel/SalzbergWordKernel.cpp,
	  kernel/SalzbergWordKernel.h, kernel/ShortKernel.h,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/SparseRealKernel.h,
	  kernel/StringKernel.h, kernel/WDCharKernel.cpp,
	  kernel/WDCharKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, kernel/WordKernel.h,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h,
	  lib/Cache.h, lib/Cplex.cpp, lib/Cplex.h, lib/DynArray.h,
	  lib/File.cpp, lib/File.h, lib/List.h, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/Parallel.cpp, lib/Parallel.h,
	  lib/Signal.cpp, lib/Signal.h, lib/SimpleFile.h, lib/Time.cpp,
	  lib/Time.h, lib/Version.cpp, lib/Version.h, lib/common.h,
	  lib/io.cpp, lib/io.h, lib/lapack.cpp, lib/lapack.h,
	  preproc/LogPlusOne.cpp, preproc/LogPlusOne.h,
	  preproc/NormDerivativeLem3.cpp, preproc/NormDerivativeLem3.h,
	  preproc/NormOne.cpp, preproc/NormOne.h, preproc/PCACut.cpp,
	  preproc/PCACut.h, preproc/PreProc.cpp, preproc/PreProc.h,
	  preproc/PruneVarSubMean.cpp, preproc/PruneVarSubMean.h,
	  preproc/RealPreProc.h, preproc/ShortPreProc.cpp,
	  preproc/ShortPreProc.h, preproc/SimplePreProc.h,
	  preproc/SortUlongString.cpp, preproc/SortUlongString.h,
	  preproc/SortWord.cpp, preproc/SortWord.h,
	  preproc/SortWordString.cpp, preproc/SortWordString.h,
	  preproc/SparsePreProc.h, preproc/StringPreProc.h,
	  preproc/WordPreProc.cpp, preproc/WordPreProc.h,
	  regression/svr/LibSVR.cpp, regression/svr/LibSVR.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: + now
	  alphabets are handled via the CAlphabet class,
	  + stringfeatures now require a alphabet name
	  + fixed sorting function w/ ULONGs (bug might have occured
	  with datatypes above DREAL)
	  + updated copyright info

2006-08-31  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/MindyGramFeatures.cpp, features/StringFeatures.h:
	  debugging...
	* classifier/LDA.cpp, configure, features/MindyGramFeatures.cpp,
	  features/StringFeatures.h, guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: several minor fixes by sonne

2006-08-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.h: + first try to get a
	  weighted scoring

2006-08-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/CharFeatures.cpp, features/StringFeatures.h: +hurray,
	  BYTE/RAW features are now working, however as features are now
	  set using
	  
	  sg('set_features', 'TRAIN', x, 'RAW');
	  
	  the alphabet argument should be obsolete from convert, i.e.
	  instead of
	  sg('send_command', sprintf('convert TRAIN STRING CHAR STRING
	  ULONG RAW 8 7'));
	  one should use
	  sg('send_command', sprintf('convert TRAIN STRING CHAR STRING
	  ULONG 8 7'));
	  or keep it as extra check - no ???
	* classifier/svm/Optimizer.cpp, classifier/svm/Optimizer.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  distributions/hmm/HMM.cpp, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CombinedFeatures.cpp,
	  features/Features.cpp, features/Features.h,
	  features/RealFeatures.h, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/SimpleFeatures.h,
	  features/SparseRealFeatures.h, features/StringFeatures.h,
	  features/WordFeatures.cpp, features/WordFeatures.h,
	  guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIMatlab.cpp, kernel/Kernel.cpp, kernel/Kernel.h,
	  lib/File.cpp, lib/File.h, lib/SimpleFile.h, lib/common.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: +LONG
	  is now definitely 64bit
	  +almost all occurances of LONG, long long, long int, long
	  were converted to INT (as this is enough)

2006-08-30  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* kernel/MindyGramKernel.cpp: fixed changes in mindy interface

2006-08-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, guilib/GUIMatlab.cpp, lib/common.h,
	  lib/io.h: - undo CHAR -> signed char change, as then CHAR* bla =
	  "dfadf" is a nogo on x86
	  - hopefully fix histogram creation (and thus RAW BYTE features)
	  by converting signed -> unsigned
	* features/CharFeatures.h, lib/common.h: +make CHAR case sensitive
	  and remap function return BYTE (unsigned!!!)

2006-08-30  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/StringFeatures.h, guilib/GUIMatlab.cpp,
	  kernel/CommUlongStringKernel.cpp,
	  kernel/CommWordStringKernel.cpp, lib/common.h: fixed
	  commstring{word|ulong}kernel bugs
	* features/MindyGramFeatures.cpp, features/MindyGramFeatures.h,
	  kernel/MindyGramKernel.cpp, kernel/MindyGramKernel.h: fixed minor
	  bugs in mindy code and did code beautification

2006-08-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/CharFeatures.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIOctave.cpp, guilib/GUIPython.cpp,
	  guilib/GUIR.cpp, lib/common.h: relabel BYTE -> RAW (due to name
	  clash with featue type..)
	* features/CharFeatures.cpp, gui/Octave.cpp, gui/R.cpp,
	  gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIOctave.cpp, guilib/GUIPython.cpp, guilib/GUIPython.h,
	  guilib/GUIR.cpp, guilib/GUIR.h, lib/common.h: +support for non
	  DNA (BYTE,PROTEIN,...) alphabet

2006-08-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/StringFeatures.h, guilib/GUIKernel.cpp: +ifdef mindy
	* TODO, guilib/GUIKernel.cpp: +comm word kernel obeys normalization
	  options

2006-08-29  Konrad Rieck <Konrad.Rieck@first.fraunhofer.de>

	* features/GramFeatures.cpp, features/GramFeatures.h,
	  features/GramFeatures.i, features/MindyGramFeatures.cpp,
	  features/MindyGramFeatures.h, features/MindyGramFeatures.i,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h,
	  guilib/GUIKernel.cpp, kernel/MindyGramKernel.cpp,
	  kernel/MindyGramKernel.h, kernel/MindyGramKernel.i, lib/common.h:
	  rudimentary interface (features/kernel) to mindy library

2006-08-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/GramFeatures.cpp, features/GramFeatures.h,
	  features/GramFeatures.i, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, lib/common.h: +konrads mindy lib based
	  n-gram / bag-of-words features (kernel to follow...)

2006-08-09  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: +new experimental configure (should work on macbook
	  pro's)

2006-07-14  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel.cpp:

2006-07-01  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: +compile fix for matlab+osx

2006-06-30  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* ChangeLog:

2006-06-29  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/SVM_light.cpp, guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp: +fix entropy
	  function
	  +use SLOWBUTMEMEFFICIENT in reactivate_inactive_examples
	  +fix: use normalization when requested w/ WDPosition kernel
	  +fix: shift of length 0 resulted in unitialized vec array
	  (WDPosition kernel)
	  +tons of fixes in WD kernel:
	  1. linadd should work again
	  2. batch computation implemented and works
	  3. mkl does at least not crash and leads to same objective value
	  (but output on test set is different)
	  4. used remap() function w/ alphabet from character features
	  (should speed up a lot)
	  5. removed has_floats from Trie structure (saves some mem)
	  
	  however WD+mismatch functions seem to not work, MKL w/ WD shift
	  kernel might work but need example!
	* kernel/WeightedDegreeCharKernel.cpp:

2006-06-28  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/WeightedDegreePositionCharKernel.cpp: good news: this
	  kernel is now really really working (except for maybe MKL -
	  i.e. someone needs to test it w/ MKL!), however it works with NON
	  CONSTANT
	  SHIFTS, with and w/o batch computation, with
	  FASTBUTMEMHUNGRY/SLOWBUTMEMEFFICIENT
	  the added (advanced!) example shows the usage. note: batch
	  computation is emulated
	  when the combined kernel is used (by using linadd/ if that is not
	  available linadd
	  is emulated)
	* classifier/svm/SVM_light.cpp, kernel/LinearByteKernel.cpp,
	  kernel/LinearCharKernel.cpp, kernel/LinearWordKernel.cpp,
	  kernel/WordMatchKernel.cpp, lib/common.h: +LONGDREAL -> LONGREAL
	  +call delete_optimization after svm training, this fixes the
	  'zero output on when init_kernel_optimization is forgotten' issue

2006-06-26  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: - mpisvm
	  + lots of documentation ...

2006-06-25  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* kernel/WeightedDegreePositionCharKernel.cpp: experimental code
	  for protein sequences ...
	  G

2006-06-25  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Mathmatics.cpp: + compile fix for cygwin W32 arch

2006-06-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/GaussianKernel.i, kernel/RealKernel.i,
	  kernel/SimpleKernel.i:
	* kernel/GaussianKernel.cpp, kernel/GaussianKernel.h:
	* classifier/svm/LibSVM.i, classifier/svm/SVM_light.i:
	* features/RealFeatures.i:
	* features/CharFeatures.i, features/RealFeatures.i,
	  features/SimpleFeatures.i, lib/common.i: just cleanups

2006-06-23  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/RealFeatures.h: changed include order
	* kernel/GaussianKernel.i: modified
	* features/RealFeatures.i: i
	* features/__init__.py: added new submodule
	* features/SimpleFeatures.i: added %template directive to solve the
	  issublcass(RealFatures,SimpleFeatures) problem
	* features/allFeatures.i: combined interface file for Features,
	  SimpleFeatures and RealFeatures.
	* features/Features.i, features/RealFeatures.i,
	  features/__init__.py, kernel/GaussianKernel.i,
	  kernel/__init__.py: added GaussianKernel interface
	* features/RealFeatures.i: new constructor added

2006-06-23  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* features/RealFeatures.h:
	* features/RealFeatures.h: + realfeatures

2006-06-22  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/common.i:

2006-06-22  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/CharFeatures.i: added include common.i
	* lib/__init__.py: added module init
	* features/CharFeatures.i, kernel/WeightedDegreeCharKernel.i,
	  lib/common.i: added some stuff
	* lib/common.i: modified common interface
	* classifier/svm/SVM_light.i, lib/common.i, swigfiles: removed
	  swigfiles dir

2006-06-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/Octave.cpp, guilib/GUIOctave.cpp, guilib/GUIOctave.h,
	  kernel/CommWordStringKernel.h, lib/Mathmatics.h: +hmm example
	  working in octave / several hmm fixes + svm_classify_example ...
	* distributions/hmm/HMM.cpp, gui/Matlab.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h: + fixed hmm w/ matlab
	  + nice hmm matlab example

2006-06-21  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* features/Labels.i, features/SimpleFeatures.i,
	  kernel/CharKernel.i, kernel/SimpleKernel.i,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.i: fixed even some more
	  lib/common.i issues
	* classifier/svm/SVM.i, classifier/svm/SVM_light.i,
	  features/CharFeatures.i, features/Features.i, kernel/Kernel.i,
	  lib/common.i: fixed some include paths

2006-06-21  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure, guilib/GUIOctave.cpp: +octave set/get_features fixes
	  +examples for svm/svr w/ octave
	* lib/lapack.c, lib/lapack.cpp: c -> cpp

2006-06-20  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/lapack.c, lib/lapack.h, preproc/PCACut.cpp: + use extern "C"
	  for lapack functions
	  + simplified python svm/svr examples -> now on webpage
	* classifier/svm/pr_loqo.cpp, configure, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/io.h, lib/lapack.c, lib/lapack.h,
	  preproc/PCACut.cpp: + fix c++ compiler detection on macs
	  + various workarounds for blas/lapack on macosx ... it does not
	  work :/
	  - disable lapack on macs and print a warning

2006-06-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* lib/Mathmatics.cpp, lib/lapack.h, preproc/PCACut.cpp: +further
	  lapack osx compilation fixes

2006-06-19  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* kernel/Kernel.i, kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.i, lib/common.i:
	  centralized swig helper datastructures in common.i
	* .generate_link_dependencies.py: cpointer added to none dependend
	  files

2006-06-19  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, classifier/LDA.cpp, configure, lib/Mathmatics.cpp,
	  lib/Mathmatics.h: + allow compiling w/ lapack/blas on osx
	  + workaround clapack_dpotrf not beeing defined (needs check!!)

2006-06-18  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* d-bug.py:
	* classifier/svm/gpdtsolve.h, classifier/svm/gpm.h: +forgotten
	  necessary files
	* Makefile, classifier/svm/GPBTSVM.cpp, classifier/svm/gpdt.cpp,
	  classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp, configure,
	  distributions/Distribution.h, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CharFeatures.i,
	  features/SimpleFeatures.h, features/SimpleFeatures.i,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/Kernel.i,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.i, lib/versionstring.i: using
	  swig one can now train a svm like this:
	  
	  import kernel.WeightedDegreeCharKernel as wd
	  import features.CharFeatures as cf
	  import features.Labels as lab
	  import classifier.svm.SVM_light as svm
	  
	  dA = wd.doubleArray(5)
	  dA[0] = 0.167
	  dA[1] = 0.25
	  dA[2] = 0.5
	  dA[3] = 0.25
	  dA[4] = 0.167
	  f=cf.CCharFeatures(cf.DNA,'ACGTAAACCGGT',4,3)
	  kernel = wd.CWeightedDegreeCharKernel(f,f,10,dA,2,0,True,False,1)
	  
	  trainlabels = lab.CLabels(3)
	  trainlabels.set_int_label(0,1)
	  trainlabels.set_int_label(1,-1)
	  trainlabels.set_int_label(2,-1)
	  
	  s = svm.CSVMLight()
	  s.set_labels(trainlabels)
	  s.set_kernel(kernel)
	  result = s.train();
	  print result

2006-06-16  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* classifier/svm/SVM.i, kernel/Kernel.i,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.i: updated a few
	  interfaces

2006-06-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile: +make swigclean
	* configure: yet another python build fix
	* configure:
	* configure: +fix linking in python interface, disable svm light
	  msg for now
	* Makefile: +check entries in .svn/ and always update versionstring
	  if a newer entry file exist
	* Makefile: - make doc
	* Makefile, configure: +updated the example to the one used in the
	  talk
	  +now R sources should really install
	* configure: -ccache

2006-06-16  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* Makefile: removed gcc --dumpversion

2006-06-16  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* README, classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  configure, gui/R.cpp, gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUIR.cpp,
	  guilib/GUIR.h, guilib/GUISVM.cpp, kernel/CombinedKernel.cpp,
	  kernel/CommUlongStringKernel.cpp, kernel/CommWordKernel.cpp,
	  kernel/CommWordStringKernel.cpp, kernel/Kernel.cpp,
	  kernel/Kernel.h, kernel/WDCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: + R
	  vignette
	  + configure option --disable-svm-light
	  + print out warning when confiuring w/ svmlight

2006-06-15  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* CONTRIBUTIONS, ChangeLog, HISTORY, LICENSE.SVMlight, gui/R.cpp,
	  guilib/GUIHMM.cpp, guilib/GUIR.cpp, guilib/GUIR.h,
	  lib/Mathmatics.cpp: + documented contributions form joachims,
	  chen lin, smola etc
	  + create math object to get its constructor called (this screwed
	  up the HMM since oct-2004) -> HMM training is now working again
	  + get_viterbi_path and other functions for HMM
	  + a running HMM example
	* .version.sh, AUTHORS, CONTRIBUTIONS, INSTALL, README,
	  README.developer, classifier/Classifier.cpp,
	  classifier/Classifier.h, classifier/KNN.cpp, classifier/KNN.h,
	  classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/LDA.cpp, classifier/LDA.h, classifier/LPM.cpp,
	  classifier/LPM.h, classifier/LinearClassifier.cpp,
	  classifier/LinearClassifier.h, classifier/Perceptron.cpp,
	  classifier/Perceptron.h, classifier/PluginEstimate.cpp,
	  classifier/PluginEstimate.h, classifier/svm/CPLEXSVM.cpp,
	  classifier/svm/CPLEXSVM.h, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/GPBTSVM.h, classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/KerthiPrimalSVM.h, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVM.h, classifier/svm/MPD.cpp,
	  classifier/svm/MPD.h, classifier/svm/Optimizer.cpp,
	  classifier/svm/Optimizer.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_libsvm.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, classifier/svm/gpdt.cpp,
	  classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/gpm.cpp, classifier/svm/pr_loqo.cpp,
	  classifier/svm/pr_loqo.h, distributions/Distribution.cpp,
	  distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h, distributions/hmm/GHMM.cpp,
	  distributions/hmm/GHMM.h, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/HMM_bestpath_2struct.cpp,
	  distributions/hmm/HMM_bestpath_simple.cpp,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  distributions/hmm/fibheap.cpp, distributions/hmm/fibheap.h,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, features/ByteFeatures.cpp,
	  features/ByteFeatures.h, features/CharFeatures.cpp,
	  features/CharFeatures.h, features/CombinedFeatures.cpp,
	  features/CombinedFeatures.h, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/Features.cpp,
	  features/Features.h, features/Labels.cpp, features/Labels.h,
	  features/RealFeatures.cpp, features/RealFeatures.h,
	  features/RealFileFeatures.cpp, features/RealFileFeatures.h,
	  features/ShortFeatures.cpp, features/ShortFeatures.h,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/SparseRealFeatures.cpp, features/SparseRealFeatures.h,
	  features/StringFeatures.cpp, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/TOPFeatures.h,
	  features/WordFeatures.cpp, features/WordFeatures.h, gui/GUI.cpp,
	  gui/GUI.h, gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp,
	  gui/Python.h, gui/R.cpp, gui/TextGUI.cpp, gui/TextGUI.h,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h, guilib/GUIHMM.cpp,
	  guilib/GUIHMM.h, guilib/GUIKNN.cpp, guilib/GUIKNN.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUILabels.cpp,
	  guilib/GUILabels.h, guilib/GUIMath.cpp, guilib/GUIMath.h,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, guilib/GUIOctave.cpp,
	  guilib/GUIOctave.h, guilib/GUIPluginEstimate.cpp,
	  guilib/GUIPluginEstimate.h, guilib/GUIPreProc.cpp,
	  guilib/GUIPreProc.h, guilib/GUIPython.cpp, guilib/GUIPython.h,
	  guilib/GUIR.cpp, guilib/GUIR.h, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, guilib/GUITime.cpp, guilib/GUITime.h,
	  kernel/AUCKernel.cpp, kernel/AUCKernel.h, kernel/ByteKernel.h,
	  kernel/CanberraWordKernel.cpp, kernel/CanberraWordKernel.h,
	  kernel/CharKernel.h, kernel/CharPolyKernel.cpp,
	  kernel/CharPolyKernel.h, kernel/Chi2Kernel.cpp,
	  kernel/Chi2Kernel.h, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h, kernel/CommUlongStringKernel.cpp,
	  kernel/CommUlongStringKernel.h, kernel/CommWordKernel.cpp,
	  kernel/CommWordKernel.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h, kernel/ConstKernel.cpp,
	  kernel/ConstKernel.h, kernel/CustomKernel.cpp,
	  kernel/CustomKernel.h, kernel/DiagKernel.cpp,
	  kernel/DiagKernel.h, kernel/FixedDegreeCharKernel.cpp,
	  kernel/FixedDegreeCharKernel.h, kernel/GaussianKernel.cpp,
	  kernel/GaussianKernel.h, kernel/HammingWordKernel.cpp,
	  kernel/HammingWordKernel.h, kernel/HistogramWordKernel.cpp,
	  kernel/HistogramWordKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/KernelMachine.cpp, kernel/KernelMachine.h,
	  kernel/LinearByteKernel.cpp, kernel/LinearByteKernel.h,
	  kernel/LinearCharKernel.cpp, kernel/LinearCharKernel.h,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/LinearWordKernel.cpp, kernel/LinearWordKernel.h,
	  kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h,
	  kernel/ManhattenWordKernel.cpp, kernel/ManhattenWordKernel.h,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/PolyMatchCharKernel.cpp, kernel/PolyMatchCharKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/RealKernel.h, kernel/SalzbergWordKernel.cpp,
	  kernel/SalzbergWordKernel.h, kernel/ShortKernel.h,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/SparseRealKernel.h,
	  kernel/StringKernel.h, kernel/WDCharKernel.cpp,
	  kernel/WDCharKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, kernel/WordKernel.h,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h,
	  lib/Cache.h, lib/Cplex.cpp, lib/Cplex.h, lib/DynArray.h,
	  lib/File.cpp, lib/File.h, lib/List.h, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/Parallel.cpp, lib/Parallel.h,
	  lib/Signal.cpp, lib/Signal.h, lib/SimpleFile.h, lib/Time.cpp,
	  lib/Time.h, lib/Version.cpp, lib/Version.h, lib/common.h,
	  lib/io.cpp, lib/io.h, lib/lapack.h, preproc/LogPlusOne.cpp,
	  preproc/LogPlusOne.h, preproc/NormDerivativeLem3.cpp,
	  preproc/NormDerivativeLem3.h, preproc/NormOne.cpp,
	  preproc/NormOne.h, preproc/PCACut.cpp, preproc/PCACut.h,
	  preproc/PreProc.cpp, preproc/PreProc.h,
	  preproc/PruneVarSubMean.cpp, preproc/PruneVarSubMean.h,
	  preproc/RealPreProc.h, preproc/ShortPreProc.cpp,
	  preproc/ShortPreProc.h, preproc/SimplePreProc.h,
	  preproc/SortUlongString.cpp, preproc/SortUlongString.h,
	  preproc/SortWord.cpp, preproc/SortWord.h,
	  preproc/SortWordString.cpp, preproc/SortWordString.h,
	  preproc/SparsePreProc.h, preproc/StringPreProc.h,
	  preproc/WordPreProc.cpp, preproc/WordPreProc.h,
	  regression/svr/LibSVR.cpp, regression/svr/LibSVR.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h, svm: +a
	  more useful general README, README.developer, LICENSE+INSTALL
	  information
	  +hmm example
	  +make best_path work again
	  +stringfeatures if order == 1 keep number of symbols
	  +some more checks in GUIR
	  +license information as a header to each file
	  +update version information from svn, now sg('get_version')
	  returns svn revision (not time in minutes since 197x)
	  -empty svm directory

2006-06-13  Fabio De Bona <Fabio.De.Bona@tuebingen.mpg.de>

	* gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: added length parameter
	  to set_features

2006-06-12  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* configure: +make configure executable

2006-06-11  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* Makefile, configure, gui/R.cpp, guilib/GUIPython.cpp,
	  guilib/GUIR.cpp, guilib/GUIR.h: + make char features work with
	  numarray (work around bug in numarray and take type info from
	  self->descr->type_num
	  + set/get_svm in R interf.
	  + make clean should not mess around in .svn

2006-06-08  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* classifier/svm/MPD.h, configure, gui/R.cpp, guilib/GUIFeatures.h,
	  guilib/GUILabels.h, guilib/GUIR.cpp, lib/io.cpp: - -fforce-mem
	  from configure
	  + make R interface work with matrices (not just 1d-vectors) and
	  string matrices
	  + overload CIO::message for R to use Rprintf / Reprintf

2006-06-06  Gunnar Raetsch <Gunnar.Raetsch@tuebingen.mpg.de>

	* deletemetoo: gu's 2nd test.
	  G
	* deletemetoo: gu's test.
	  G

2006-06-05  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* gui/R.cpp, guilib/GUIR.cpp: + classification example
	* .:
	* .:

2006-06-03  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/CanberraWordKernel.cpp: fixes..
	* guilib/GUIKernel.cpp, kernel/CanberraWordKernel.cpp,
	  kernel/CanberraWordKernel.h, kernel/HammingWordKernel.cpp,
	  kernel/ManhattenWordKernel.h, lib/common.h: +canberra kernel

2006-06-02  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/HammingWordKernel.cpp, kernel/ManhattenWordKernel.cpp: +
	  fixes in these kernels
	* classifier/svm/SVM.cpp, guilib/GUIKernel.cpp,
	  kernel/HammingWordKernel.cpp, kernel/ManhattenWordKernel.cpp,
	  kernel/ManhattenWordKernel.h: +Manhattenwordkernel
	  +ctrl+c allowed to cancel testing

2006-05-31  Soeren Sonnenburg <Soeren.Sonnenburg@first.fraunhofer.de>

	* kernel/HammingWordKernel.cpp:

2006-05-30  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/HammingWordKernel.cpp: +fixed hamming kernel
	  +last checking before svn migration, disabled everyones login

2006-05-29  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, kernel/HammingWordKernel.cpp,
	  kernel/HammingWordKernel.h, lib/common.h: +hamming word kernel
	  (as suggested by konrad rieck)

2006-05-25  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIR.cpp: still a bug in set features for strings
	* gui/R.cpp, guilib/GUIR.cpp: wrapped Rprintf output via #ifdef
	  DEBUG.

2006-05-18  Soeren Sonnenburg, Gunnar Raetsch

	* copyAll.sh: moved file
	* guilib/GUIR.cpp: some changes

2006-05-17  Soeren Sonnenburg, Gunnar Raetsch

	* TODO, features/StringFeatures.h, guilib/GUIFeatures.cpp: +make
	  gappy conversion work for STRING conversion functions
	  +convert functions for STRING now take a alphabet argument as the
	  SIMPLE/CHAR ones
	  
	  there are still valgrind errors and we should have a alphabet for
	  all char/word features
	  such that conversion does not require an alphabet argument

2006-05-16  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIR.cpp: fixed some bug

2006-05-15  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/Perceptron.cpp, gui/TextGUI.cpp,
	  guilib/GUIClassifier.cpp, guilib/GUIClassifier.h: new classifier
	  interface
	  
	  sg('send_command', 'new_classifier SVMLIGHT')
	  sg('send_command', 'train_classifier')
	  sg('classify')
	  
	  works for SVM and Perceptron

2006-05-12  Soeren Sonnenburg, Gunnar Raetsch

	* TODO: *** empty log message ***

2006-05-11  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIMatlab.cpp: +entropy stuff works
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h:
	  +entropy/relative entropy
	* copyAll.sh, gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: added some
	  stuff

2006-05-10  Soeren Sonnenburg, Gunnar Raetsch

	* gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: added basic hmm
	  functionality to R interface
	* d-bug.py, gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: some mods

2006-05-04  Soeren Sonnenburg, Gunnar Raetsch

	* d-bug.py: corrected some errors

2006-05-03  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, gui/Octave.cpp, gui/R.cpp, guilib/GUIOctave.cpp,
	  guilib/GUIR.cpp, guilib/GUIR.h: +make dist
	  +svm_classify for R interf.
	  +set_{features/labels} for octave
	* d-bug.py, gui/R.cpp, guilib/GUIR.cpp: added some stuff

2006-05-02  Soeren Sonnenburg, Gunnar Raetsch

	* d-bug.py, gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: The methods
	  'get_kernel_matrix' get/set features are working.
	  All svm methods are working.

2006-05-01  Soeren Sonnenburg, Gunnar Raetsch

	* d-bug.py, gui/R.cpp, guilib/GUIR.cpp: added comments, extended
	  debug script

2006-04-28  Soeren Sonnenburg, Gunnar Raetsch

	* configure: added --enable-R in help option dialogue

2006-04-26  Soeren Sonnenburg, Gunnar Raetsch

	* d-bug.py: debugging script added

2006-04-13  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/Optimizer.cpp, classifier/svm/Optimizer.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h:
	  +compute_objective was computed only on the active variables but
	  should be
	  (and is now) computed on all examples, should work for regression
	  and
	  classification now
	  
	  +svm_light was not as accurate as libsvm/gpbt as in optimizer
	  PRECICSION was
	  not enough (1e-8) ... it is now 1e-14 - the svmlight default.
	  however from
	  time to time one still gets a less accurate result (deviation
	  from others
	  <1e-5, usually it is around 1e-8). this enables us to use
	  svm_epsilon < 1e6
	  also. now a warning is printed if we terminate with a
	  max_violation >
	  svm_epsilon. we do unshrinking in the end and test/retrain to be
	  more
	  accurate (and compute the objective). this will slow doing things
	  a bit.
	  
	  +shrinking is now completely disabled for mkl. there still is
	  some deviation
	  in the betas for precompute 2/3 vs. precompute 0 which I am
	  unable to
	  explain. however it is <1e-3 ... and the wrapper svm also
	  deviates ~1e-3
	  from both solutions.

2006-04-12  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: ***
	  empty log message ***

2006-04-11  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp: *** empty log message ***

2006-04-10  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.h, regression/svr/SVR_light.h: *** empty
	  log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp, regression/svr/SVR_light.cpp: ***
	  empty log message ***
	* guilib/GUISVM.cpp, kernel/Kernel.cpp, kernel/Kernel.h,
	  lib/common.h, regression/svr/SVR_light.cpp: *** empty log message
	  ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: still
	  not ok... deviations in get_svm_objective even w/o MKL

2006-04-09  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h:
	  +several MKL regression fixes... it should work w/ and w/o LAPACK
	  and for precompute 2/3
	  there is still some `offset' when used w/ kernel caching

2006-04-07  Soeren Sonnenburg, Gunnar Raetsch

	* README, TODO, gui/GUI.cpp, gui/Octave.cpp, gui/TextGUI.cpp,
	  gui/TextGUI.h, guilib/GUIMatlab.h, guilib/GUIOctave.h,
	  guilib/GUIR.h, lib/Version.cpp: genefinder -> shogun
	* TODO, d-bug.py, features/WordFeatures.cpp, g.R, gui/GUI.cpp,
	  gui/Matlab.cpp, gui/Octave.cpp, gui/Python.cpp, gui/Python.h,
	  gui/R.cpp, guilib/GUIMatlab.h, guilib/GUIOctave.h,
	  guilib/GUIPython.cpp, guilib/GUIR.h, lib/Signal.cpp, sg.m: gf ->
	  sg
	* classifier/svm/SVM_light.cpp, kernel/Kernel.cpp, kernel/Kernel.h:
	  +fix MKL w/ kernel caching... we need to update W for all
	  variables not just
	  the active set. requires a compute_full_cacheline option in
	  get_kernel_row
	* Makefile, configure, gf.m, sg.m: gf -> sg
	  genefinder -> shogun

2006-04-04  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, distributions/hmm/HMM_bestpath.cpp,
	  guilib/GUIMatlab.cpp: included a header in GuiMatlab.cpp, go get
	  it compilable...
	  G
	* configure, guilib/GUIMatlab.cpp, guilib/GUIPython.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel_old.cpp,
	  kernel/WeightedDegreeCharKernel_old.h,
	  kernel/WeightedDegreeCharKernel_old.i,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel_old.cpp,
	  kernel/WeightedDegreePositionCharKernel_old.h,
	  kernel/WeightedDegreePositionCharKernel_old.i: +towards getting
	  WD char kernel working again
	  +get_kernel_optimization for COMMWORD kernel

2006-03-15  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: now even more b0rken
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/Kernel.i,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, lib/common.h,
	  regression/svr/SVR_light.cpp, swigfiles/common.i: SHORTDREAL ->
	  SHORTREAL

2006-03-10  Soeren Sonnenburg, Gunnar Raetsch

	* features/ShortFeatures.cpp: fixed a minor bug in Spectrum kernel
	  also for the short features.
	  
	  G
	* features/ShortFeatures.cpp, features/ShortFeatures.h,
	  features/WordFeatures.cpp, features/WordFeatures.h,
	  guilib/GUIFeatures.cpp, guilib/GUIMatlab.cpp: added gaps to the
	  simple word and short features.
	  Convert now takes an additional argument: the length of a central
	  gap.
	  
	  G
	* guilib/GUIKernel.cpp, kernel/ConstKernel.cpp,
	  kernel/ConstKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/common.h:
	  +started WD kernel batchcomputation mode DON'T USE THE WD KENREL
	  FOR NOW
	  +a constant kernel for testing with MKL

2006-02-27  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, classifier/svm/SVM.h, gui/TextGUI.cpp,
	  guilib/GUISVM.cpp, guilib/GUISVM.h: +option to disable batch
	  computation at some point before getting svm output, e.g.
	  
	  gf('send_command', 'use_batch_computation 0'); %disable
	  out=gf('svm_classify');
	  
	  HAS NO EFFECT ON TRAINING WHATSOEVER
	* kernel/CombinedKernel.cpp: set optimization type for the combined
	  kernel too (to avoid confusion :)
	* gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: added support for
	  get_svm
	* kernel/Kernel.cpp: made FASTBUTMEMHUNGRY the default
	* classifier/svm/SVM_light.cpp, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIR.cpp, guilib/GUIR.h,
	  kernel/Kernel.cpp, kernel/LinearKernel.h: mxDREAL ->mxREAL
	  #ifdef HAVE_R for R related files
	* features/Features.cpp, gui/R.cpp, gui/TextGUI.cpp,
	  guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp, guilib/GUIR.cpp,
	  guilib/GUIR.h, kernel/Kernel.cpp: In allen Strings: DREAL in REAL
	  umbenannt.
	* d-bug.py, g.R, gui/R.cpp, guilib/GUIR.cpp: modified R interface
	  to include -> set_features

2006-02-24  Soeren Sonnenburg, Gunnar Raetsch

	* configure, g.R, gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h:
	  .External interface works for simple args matrix args have to be
	  debugged

2006-02-22  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, classifier/Classifier.h, classifier/Classifier.i,
	  classifier/KNN.cpp, classifier/KNN.h,
	  classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/LDA.cpp, classifier/LDA.h, classifier/LPM.cpp,
	  classifier/LPM.h, classifier/LinearClassifier.h,
	  classifier/Perceptron.cpp, classifier/Perceptron.h,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm/CPLEXSVM.cpp, classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/MPD.cpp, classifier/svm/MPD.h,
	  classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM.i, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  distributions/Distribution.cpp, distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h, distributions/hmm/GHMM.cpp,
	  distributions/hmm/GHMM.h, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/HMM_bestpath_2struct.cpp,
	  distributions/hmm/HMM_bestpath_simple.cpp,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, features/FKFeatures.cpp,
	  features/FKFeatures.h, features/Features.cpp,
	  features/Features.h, features/Features.i, features/Labels.cpp,
	  features/Labels.h, features/Labels.i, features/RealFeatures.cpp,
	  features/RealFeatures.h, features/RealFileFeatures.cpp,
	  features/RealFileFeatures.h, features/SparseFeatures.h,
	  features/SparseRealFeatures.h, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/TOPFeatures.h, gui/Matlab.cpp,
	  gui/Octave.cpp, gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h, guilib/GUIFeatures.cpp,
	  guilib/GUIHMM.cpp, guilib/GUIHMM.h, guilib/GUIKNN.cpp,
	  guilib/GUIKernel.cpp, guilib/GUIMath.cpp, guilib/GUIMath.h,
	  guilib/GUIMatlab.cpp, guilib/GUIOctave.cpp,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPython.cpp, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, kernel/AUCKernel.cpp, kernel/AUCKernel.h,
	  kernel/CharPolyKernel.cpp, kernel/CharPolyKernel.h,
	  kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h,
	  kernel/DiagKernel.cpp, kernel/DiagKernel.h,
	  kernel/FixedDegreeCharKernel.cpp, kernel/FixedDegreeCharKernel.h,
	  kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/HistogramWordKernel.cpp, kernel/HistogramWordKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/Kernel.i,
	  kernel/LinearByteKernel.cpp, kernel/LinearByteKernel.h,
	  kernel/LinearCharKernel.cpp, kernel/LinearCharKernel.h,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/LinearWordKernel.cpp, kernel/LinearWordKernel.h,
	  kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h, kernel/PolyKernel.cpp,
	  kernel/PolyKernel.h, kernel/PolyMatchCharKernel.cpp,
	  kernel/PolyMatchCharKernel.h, kernel/PolyMatchWordKernel.cpp,
	  kernel/PolyMatchWordKernel.h, kernel/RealKernel.h,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseLinearKernel.cpp, kernel/SparseLinearKernel.h,
	  kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/SparseRealKernel.h,
	  kernel/WDCharKernel.cpp, kernel/WDCharKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.h,
	  kernel/WeightedDegreeCharKernel_old.cpp,
	  kernel/WeightedDegreeCharKernel_old.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel_old.cpp,
	  kernel/WeightedDegreePositionCharKernel_old.h,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h,
	  lib/Cplex.cpp, lib/Cplex.h, lib/File.cpp, lib/File.h,
	  lib/Mathmatics.cpp, lib/Mathmatics.h, lib/common.h, lib/io.cpp,
	  lib/io.h, preproc/LogPlusOne.cpp, preproc/LogPlusOne.h,
	  preproc/NormDerivativeLem3.cpp, preproc/NormDerivativeLem3.h,
	  preproc/NormOne.cpp, preproc/NormOne.h, preproc/PCACut.cpp,
	  preproc/PCACut.h, preproc/PruneVarSubMean.cpp,
	  preproc/PruneVarSubMean.h, preproc/RealPreProc.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h,
	  swigfiles/common.i: REAL -> DREAL (double real)
	* gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: R interface gf('help')
	  works

2006-02-21  Soeren Sonnenburg, Gunnar Raetsch

	* configure, gui/R.cpp: dyn.load('gf.so')
	* gui/R.cpp, guilib/GUIR.cpp, guilib/GUIR.h: addded R module

2006-02-20  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/Kernel.i, lib/common.h: addded R module

2006-02-14  Soeren Sonnenburg, Gunnar Raetsch

	* .version.sh: err year/month/day
	* .version.sh, Makefile: version string now checks all
	  ***/CVS/Entries files to produce some more meaningful
	  versionstring :)
	* kernel/CombinedKernel.cpp, kernel/CommWordKernel.cpp,
	  kernel/CommWordStringKernel.cpp: +make sure kernel optimization
	  is cleared on init_optimization
	  +cleanup kernel optimization before/after batch_computation
	* features/Features.cpp, features/Features.h,
	  guilib/GUIPreProc.cpp, kernel/CombinedKernel.cpp: +do
	  attach_preproc TEST now just once after all the test features are
	  set up
	  +GUIPreproc now checks whether testsubfeatures have >= #preprocs
	  attached than
	  trainsubfeatures (for each subfeatureobject) so one could add a
	  features+attached
	  preproc later.
	  +fixes in del_preproc *shrug*

2006-02-13  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIClassifier.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: *dammed* there was/is
	  no bug... this is all due to floating point accuracy.
	  to improve accuracy the inner node is now REAL, leaves still
	  SHORTREAL
	* guilib/GUIClassifier.cpp, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/io.h: +batch
	  evaluation fixes for Combined Kernel / WDPosition ... works now.
	* classifier/KNN.cpp, classifier/KNN.h,
	  classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/LDA.cpp, classifier/LDA.h, classifier/LPM.h,
	  classifier/svm/KerthiPrimalSVM.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVM_libsvm.cpp, configure,
	  distributions/hmm/HMM_bestpath.cpp, gui/Matlab.cpp,
	  gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h, guilib/GUIKNN.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, guilib/GUISVM.cpp, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, lib/common.h,
	  regression/svr/SVR_light.cpp: +make configure use ccache if
	  available
	  +create generic classifier GUI/interface (should work for all
	  SVMs/KNN/LDA/LPM/Perceptron...)
	  +further optimize testing w/ wd-shift kernel (batch computation
	  ...) if it does not workout now
	  we have to use 1/n of the suppvec...
	  +fix some warnings

2006-02-10  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, features/Features.h,
	  guilib/GUIClassifier.cpp, guilib/GUIKernel.cpp,
	  guilib/GUISVM.cpp, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/LinearKernel.cpp, kernel/SparseLinearKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, lib/common.h: some
	  kernels support 'faster' KP_BATCHEVALUATION...
	  for WD+shift testing is now 10 times slower...
	* kernel/Kernel.h: make set_optimization_type function virtual
	* classifier/Classifier.cpp, classifier/KNN.cpp, classifier/KNN.h,
	  classifier/KernelPerceptron.cpp, classifier/LDA.cpp,
	  classifier/LPM.cpp, classifier/Perceptron.cpp,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm/CPLEXSVM.cpp, classifier/svm/GPBTSVM.cpp,
	  classifier/svm/LibSVM.cpp, classifier/svm/MPD.h,
	  classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM.i, classifier/svm/SVM_light.cpp,
	  distributions/Distribution.cpp,
	  distributions/histogram/Histogram.cpp, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/HMM_bestpath_2struct.cpp,
	  distributions/hmm/HMM_bestpath_simple.cpp,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  distributions/hmm/penalty_info.cpp, features/FKFeatures.cpp,
	  features/Features.cpp, features/Labels.cpp, features/Labels.h,
	  features/Labels.i, features/RealFeatures.cpp,
	  features/RealFileFeatures.cpp, features/ShortFeatures.cpp,
	  features/SimpleFeatures.h, features/SimpleFeatures.i,
	  features/SparseFeatures.h, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/WordFeatures.cpp,
	  features/WordFeatures.h, gui/Octave.cpp, gui/TextGUI.cpp,
	  guilib/GUIClassifier.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIHMM.cpp, guilib/GUIKNN.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, guilib/GUIMatlab.cpp, guilib/GUIOctave.cpp,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPreProc.cpp,
	  guilib/GUIPython.cpp, guilib/GUISVM.cpp, guilib/GUITime.cpp,
	  kernel/AUCKernel.cpp, kernel/ByteKernel.h, kernel/CharKernel.h,
	  kernel/CharKernel.i, kernel/CharPolyKernel.cpp,
	  kernel/Chi2Kernel.cpp, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h, kernel/CommUlongStringKernel.cpp,
	  kernel/CommUlongStringKernel.h, kernel/CommWordKernel.cpp,
	  kernel/CommWordKernel.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h, kernel/CustomKernel.cpp,
	  kernel/CustomKernel.h, kernel/DiagKernel.cpp,
	  kernel/FixedDegreeCharKernel.cpp, kernel/GaussianKernel.cpp,
	  kernel/HistogramWordKernel.cpp, kernel/Kernel.cpp,
	  kernel/Kernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearCharKernel.cpp, kernel/LinearKernel.cpp,
	  kernel/LinearWordKernel.cpp,
	  kernel/LocalityImprovedCharKernel.cpp, kernel/PolyKernel.cpp,
	  kernel/PolyMatchCharKernel.cpp, kernel/PolyMatchWordKernel.cpp,
	  kernel/RealKernel.h, kernel/SalzbergWordKernel.cpp,
	  kernel/ShortKernel.h, kernel/SigmoidKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseKernel.h,
	  kernel/SparseLinearKernel.cpp,
	  kernel/SparseNormSquaredKernel.cpp, kernel/SparsePolyKernel.cpp,
	  kernel/SparseRealKernel.h, kernel/StringKernel.h,
	  kernel/WDCharKernel.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernel_old.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel_old.cpp,
	  kernel/WeightedDegreePositionCharKernel_old.h,
	  kernel/WordKernel.h, kernel/WordMatchKernel.cpp, lib/Cache.h,
	  lib/DynArray.h, lib/File.cpp, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/SimpleFile.h, lib/Time.h, lib/common.h,
	  lib/io.h, preproc/LogPlusOne.cpp, preproc/NormDerivativeLem3.cpp,
	  preproc/NormOne.cpp, preproc/PCACut.cpp,
	  preproc/PruneVarSubMean.cpp, preproc/SortUlongString.cpp,
	  preproc/SortWord.cpp, preproc/SortWordString.cpp,
	  regression/svr/LibSVR.cpp, regression/svr/SVR_light.cpp: +new
	  assert ASSERT macro
	  +set_kernel_optimization_type FASTBUTMEMHUNGRY or
	  SLOWBUTMEMEFFICIENT
	  (currently applies to all sub kernels if combined kernel is used)

2006-02-09  Soeren Sonnenburg, Gunnar Raetsch

	* configure, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, lib/Cplex.cpp,
	  lib/Version.cpp: +use_treemem is now default, use
	  --disable-treemem in configure to disable it
	  +bumped (C) to 2006
	  +WDPosition Kernel combined-tree speedup, removed has_floats &
	  other counts
	  should be much faster now.

2006-01-14  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile: make clean now no longer requires any config and does a
	  hardcoded rm ...
	* Makefile: scary, make clean could erase everything under src if
	  .config does not exist...
	* Makefile: also clean *.pyc files
	* Makefile, processWrappers, processWrappers.py: -remove old
	  wrapper scripts
	  -don't erase __init__.py
	* .generate_link_dependencies.py, Makefile,
	  classifier/svm/gpdt.cpp, classifier/svm/gpm.cpp, configure,
	  distributions/hmm/penalty_info.cpp, features/Features.cpp,
	  features/Features.h, features/SimpleFeatures.i,
	  features/TOPFeatures.cpp, gui/Matlab.cpp, guilib/GUIMatlab.h,
	  kernel/SimpleKernel.i, lib/io.cpp, preproc/LogPlusOne.cpp,
	  preproc/LogPlusOne.h, preproc/NormDerivativeLem3.cpp,
	  preproc/NormDerivativeLem3.h, preproc/NormOne.cpp,
	  preproc/NormOne.h, preproc/PCACut.cpp, preproc/PCACut.h,
	  preproc/PreProc.cpp, preproc/PruneVarSubMean.cpp,
	  preproc/PruneVarSubMean.h, preproc/ShortPreProc.cpp,
	  preproc/SortUlongString.cpp, preproc/SortUlongString.h,
	  preproc/SortWord.cpp, preproc/SortWord.h,
	  preproc/SortWordString.cpp, preproc/SortWordString.h,
	  preproc/WordPreProc.cpp: python w/ swig should now work just by
	  ./configure --enable-python --enable-swig && make
	  
	  attention in all include files do #include
	  "relative/to/your/path.h", (same for .i files)
	  don't use i.e. #include "mex.h" although it should be #include
	  <mex.h>

2006-01-12  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/__init__.py: added init.py

2006-01-11  Soeren Sonnenburg, Gunnar Raetsch

	* features/Labels.i, kernel/Kernel.i,
	  kernel/WeightedDegreeCharKernel.i, processWrappers,
	  swigfiles/common.i: *** empty log message ***
	* classifier/svm/__init__.py, processWrappers: added files

2006-01-10  Soeren Sonnenburg, Gunnar Raetsch

	* processWrappers: changed script name
	* classifier/svm/__init__.py, features/__init__.py,
	  kernel/__init__.py: added package initializers
	* features/Labels.h, features/Labels.i,
	  kernel/WeightedDegreeCharKernel.i, processWrappers.py,
	  swigfiles/common.i: corrected some errors
	* Makefile, classifier/svm/SVM.i, classifier/svm/SVM_light.i,
	  features/CharFeatures.i, features/SimpleFeatures.i,
	  kernel/CharKernel.i, kernel/Kernel.i, kernel/SimpleKernel.i,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel.i, swigfiles/common.i:
	  *** empty log message ***
	* classifier/svm/CPLEXSVM.cpp, classifier/svm/CPLEXSVM.h,
	  lib/Cplex.cpp, lib/Cplex.h: another tiny step towards working
	  cplexsvm
	  ifdef cplex in cplexsvm
	* swigfiles, swigfiles/common.i: *** empty log message ***
	* configure, features/Labels.i: addded common declarations
	* guilib/GUIMatlab.cpp: *** empty log message ***
	* processWrappers.py: This is the script for automated (swig)
	  wrapper generation.
	* lib/Cplex.h: removed #endif error

2006-01-08  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/CPLEXSVM.cpp, guilib/GUIMatlab.cpp, lib/Cplex.cpp,
	  lib/Cplex.h: worked on cplexsvm still not funcitonal

2006-01-06  Soeren Sonnenburg, Gunnar Raetsch

	* .generate_link_dependencies.py, Makefile,
	  classifier/svm/SVM_light.i, configure: further reworked build
	  system for swig (some objects work other have missing symbols
	  due too missing build-deps)
	  
	  to compile w/ swig support use:
	  
	  ./configure --enable-python --enable-swig
	  make
	  
	  TODO: we need a script to generate link dependencies correctly
	  (i.e. for each
	  .i file follow all includes within .h (and also .c .cpp!) until
	  saturation. Then for all .c/.cpp files put all .cpp.o and .c.o
	  files
	  as dependencies (append to .depend file) for the .i file with _
	  praefix
	  and .so suffix i.e. for SimpleFeatures.i:
	  
	  ./features/_SimpleFeatures.so: features/Features.cpp.o
	  preproc/PreProc.cpp.o lib/Mathmatics.cpp.o lib/io.cpp.o

2006-01-05  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Preprocessor.h, lib/Preprocessor.i: garbage cleanup
	* Makefile, classifier/Classifier.i, classifier/KNN.i,
	  classifier/KernelPerceptron.i, classifier/LDA.i,
	  classifier/LPM.i, classifier/LinearClassifier.i,
	  classifier/Perceptron.i, classifier/PluginEstimate.i,
	  classifier/svm/LibSVM.i, classifier/svm/SVM.i,
	  classifier/svm/SVM_light.h, classifier/svm/SVM_light.i,
	  distributions/Distribution.i, features/ByteFeatures.i,
	  features/CharFeatures.i, features/CombinedFeatures.i,
	  features/FKFeatures.i, features/Features.i, features/Labels.h,
	  features/Labels.i, features/RealFeatures.i,
	  features/RealFileFeatures.i, features/ShortFeatures.i,
	  features/SimpleFeatures.i, features/SparseFeatures.i,
	  features/SparseRealFeatures.i, features/StringFeatures.i,
	  features/TOPFeatures.i, features/WordFeatures.i,
	  kernel/AUCKernel.i, kernel/ByteKernel.i, kernel/CharKernel.i,
	  kernel/CharPolyKernel.i, kernel/Chi2Kernel.i,
	  kernel/CombinedKernel.i, kernel/CommUlongStringKernel.i,
	  kernel/CommWordKernel.i, kernel/CommWordStringKernel.i,
	  kernel/CustomKernel.i, kernel/DiagKernel.i,
	  kernel/FixedDegreeCharKernel.i, kernel/GaussianKernel.i,
	  kernel/HistogramWordKernel.i, kernel/Kernel.i,
	  kernel/KernelMachine.i, kernel/LinearByteKernel.i,
	  kernel/LinearCharKernel.i, kernel/LinearKernel.i,
	  kernel/LinearWordKernel.i, kernel/LocalityImprovedCharKernel.i,
	  kernel/PolyKernel.i, kernel/PolyMatchCharKernel.i,
	  kernel/PolyMatchWordKernel.i, kernel/RealKernel.i,
	  kernel/SalzbergWordKernel.i, kernel/ShortKernel.i,
	  kernel/SigmoidKernel.i, kernel/SimpleKernel.i,
	  kernel/SimpleLocalityImprovedCharKernel.i,
	  kernel/SparseGaussianKernel.i, kernel/SparseKernel.i,
	  kernel/SparseLinearKernel.i, kernel/SparseNormSquaredKernel.i,
	  kernel/SparsePolyKernel.i, kernel/SparseRealKernel.i,
	  kernel/StringKernel.i, kernel/WDCharKernel.i,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreeCharKernelPolyA.i,
	  kernel/WeightedDegreeCharKernel_old.i,
	  kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel_old.i,
	  kernel/WordKernel.i, kernel/WordMatchKernel.i, lib/Cache.i,
	  lib/DynArray.i, lib/File.i, lib/List.i, lib/Mathmatics.i,
	  lib/Parallel.i, lib/Signal.i, lib/SimpleFile.i, lib/Time.i,
	  lib/Version.i, lib/common.i, lib/config.i, lib/io.i,
	  lib/lapack.i, lib/versionstring.i: one step closer to a fully
	  functioning swig Makefile
	  some files (like classifier/svm/SVM_light_wrap.cxx)
	  currently don't compile and each .so is 1.5MB =:-)
	  also the python wrappers are not generated so the .so's are
	  useless
	  
	  fabio please try it out:
	  ./configure --enable-python
	  make swig
	* Makefile: +swig target
	* distributions/Distribution.i: added swig interface file
	* classifier/Classifier.i, classifier/KNN.i,
	  classifier/KernelPerceptron.i, classifier/LDA.i,
	  classifier/LPM.i, classifier/LinearClassifier.i,
	  classifier/Perceptron.i, classifier/PluginEstimate.i,
	  classifier/svm/LibSVM.i, classifier/svm/SVM.i,
	  classifier/svm/SVM_light.i, features/ByteFeatures.i,
	  features/CharFeatures.i, features/CombinedFeatures.i,
	  features/FKFeatures.i, features/Features.i, features/Labels.i,
	  features/RealFeatures.i, features/RealFileFeatures.i,
	  features/ShortFeatures.i, features/SimpleFeatures.i,
	  features/SparseFeatures.i, features/SparseRealFeatures.i,
	  features/StringFeatures.i, features/TOPFeatures.i,
	  features/WordFeatures.i, lib/Cache.i, lib/DynArray.i, lib/File.i,
	  lib/List.i, lib/Mathmatics.i, lib/Parallel.i, lib/Preprocessor.i,
	  lib/Signal.i, lib/SimpleFile.i, lib/Time.i, lib/Version.i,
	  lib/common.i, lib/config.i, lib/io.i, lib/lapack.i,
	  lib/versionstring.i: added swig interface files
	* guilib/GUIPython.cpp, kernel/CustomKernel.cpp: modified
	  get_kernel_matrix method invocation
	* kernel/AUCKernel.i, kernel/ByteKernel.i, kernel/CharKernel.i,
	  kernel/CharPolyKernel.i, kernel/Chi2Kernel.i,
	  kernel/CombinedKernel.i, kernel/CommUlongStringKernel.i,
	  kernel/CommWordKernel.i, kernel/CommWordStringKernel.i,
	  kernel/CustomKernel.i, kernel/DiagKernel.i,
	  kernel/FixedDegreeCharKernel.i, kernel/GaussianKernel.i,
	  kernel/HistogramWordKernel.i, kernel/Kernel.i,
	  kernel/KernelMachine.i, kernel/LinearByteKernel.i,
	  kernel/LinearCharKernel.i, kernel/LinearKernel.i,
	  kernel/LinearWordKernel.i, kernel/LocalityImprovedCharKernel.i,
	  kernel/PolyKernel.i, kernel/PolyMatchCharKernel.i,
	  kernel/PolyMatchWordKernel.i, kernel/RealKernel.i,
	  kernel/SalzbergWordKernel.i, kernel/ShortKernel.i,
	  kernel/SigmoidKernel.i, kernel/SimpleKernel.i,
	  kernel/SimpleLocalityImprovedCharKernel.i,
	  kernel/SparseGaussianKernel.i, kernel/SparseKernel.i,
	  kernel/SparseLinearKernel.i, kernel/SparseNormSquaredKernel.i,
	  kernel/SparsePolyKernel.i, kernel/SparseRealKernel.i,
	  kernel/StringKernel.i, kernel/WDCharKernel.i,
	  kernel/WeightedDegreeCharKernel.i,
	  kernel/WeightedDegreeCharKernelPolyA.i,
	  kernel/WeightedDegreeCharKernel_old.i,
	  kernel/WeightedDegreePositionCharKernel.i,
	  kernel/WeightedDegreePositionCharKernel_old.i,
	  kernel/WordKernel.i, kernel/WordMatchKernel.i: added interface
	  files needed for swig
	* kernel/Kernel.cpp: resolved ambiguity in overloading
	* kernel/Kernel.h: modified get_kernel_matrix methods (resolved
	  ambiguity in overloading)
	* distributions/hmm/HMM_bestpath_2struct.cpp: *** empty log message
	  ***
	* distributions/hmm/HMM_bestpath.cpp: nothing changed.
	  G
	* distributions/hmm/penalty_info.cpp: corrected the "follow_next"
	  parameter for svm penalties
	  G

2006-01-04  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/CPLEXSVM.cpp, classifier/svm/CPLEXSVM.h: /me
	  learning how to use cplex

2006-01-03  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: *** empty log message
	  ***
	* distributions/hmm/HMM_bestpath_2struct.cpp: tested version for
	  secondary structure prediction ...
	  G
	* distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  gui/Matlab.cpp, guilib/GUIMatlab.cpp: *** empty log message ***

2005-12-23  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h: *** empty log message ***

2005-12-14  Soeren Sonnenburg, Gunnar Raetsch

	* features/Features.cpp, kernel/CustomKernel.cpp,
	  kernel/CustomKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  lib/Signal.cpp, lib/common.h: +change prematurely abort signal to
	  SIGURG (as all the others will kill matlab)
	  +make combined kernel work with ULONG features/ COMMULONG kernel
	  +custom kernel overloads get_kernel_matrix for efficiency (just
	  returns inplace pointer)
	* lib/Signal.cpp, lib/Signal.h: +SIGHUP makes svmlight prematurely
	  finish (needed for non interactive use)

2005-12-10  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_libsvm.cpp: +updated to libsvm 2.81

2005-12-05  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp: +MKL separate WD kern fix

2005-12-04  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp: +another WD kernel option to only enable
	  computation of a single degree,
	  setting the other weights to zero

2005-12-01  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/LDA.cpp, classifier/LDA.h: +disable when no lapack
	  available
	* Makefile, configure: *** empty log message ***

2005-11-28  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/LDA.cpp, lib/Mathmatics.h: +LDA non working
	* regression/svr/SVR_light.cpp: +copy the mkl+cache code to
	  regression
	* classifier/svm/SVM_light.cpp: +enable kernel cache for MKL (it
	  was intentionally disabled before...)

2005-11-25  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/LDA.cpp, classifier/svm/SVM_light.cpp, gui/Python.h,
	  guilib/GUIPython.cpp, guilib/GUIPython.h, lib/DynArray.h,
	  lib/Mathmatics.h: +MKL with caching

2005-11-19  Soeren Sonnenburg, Gunnar Raetsch

	* preproc/SortUlongString.cpp, preproc/SortUlongString.h: *** empty
	  log message ***
	* features/StringFeatures.h, guilib/GUIFeatures.cpp,
	  guilib/GUIPreProc.cpp, kernel/CommUlongStringKernel.cpp,
	  kernel/CommUlongStringKernel.h, kernel/CommWordKernel.cpp,
	  kernel/CommWordKernel.h, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h, lib/DynArray.h, lib/Mathmatics.h,
	  lib/common.h: hurray we can now train spectrum kernels of order
	  32 on DNA :)
	  
	  However it is much much slower:
	  commulongkernel vs commword*kernels
	  O(n*log(n)) vs O(n) (for kernel computation)
	  O(1) vs O(|sigma|) (for linadd_clear)
	  O(N+n) vs O(n) (for linadd_add_normal, where N (>>> n) is number
	  of elements in dictionary list)
	  
	  +fixed CommWordKernel, CommWordStringKernel
	  +CommUlongKernel, preproc and feature conversion
	  +Dynamic Array (list like array that behaves like a list and also
	  like an array
	  and grows/shrinks automagically with certain granularity)
	  +working binary_search & binary_search_max_lower_equal functions
	  -removed LLONG ULLONG types as there is currently no 128bit int
	  type

2005-11-16  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/pr_loqo.cpp: +(working!) lapack for cholesky
	  decomposition... slightly slower for small qpsizes (maybe <200)
	  faster for qpsize 500...
	  
	  further optimizations necessary...
	* classifier/LinearClassifier.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/pr_loqo.cpp, configure, guilib/GUIPreProc.cpp,
	  kernel/DiagKernel.cpp, kernel/LinearKernel.cpp,
	  kernel/PolyKernel.cpp, kernel/SigmoidKernel.cpp,
	  lib/Mathmatics.h, preproc/PCACut.cpp, preproc/PCACut.h,
	  regression/svr/SVR_light.cpp: *** empty log message ***
	* classifier/svm/pr_loqo.cpp, configure: *** empty log message ***
	* classifier/svm/pr_loqo.cpp: *** empty log message ***
	* classifier/Perceptron.cpp: *** empty log message ***

2005-11-14  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/Perceptron.cpp, kernel/Kernel.cpp: *** empty log
	  message ***
	* configure, lib/Mathmatics.cpp, lib/Mathmatics.h: *** empty log
	  message ***

2005-10-28  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/GPBTSVM.cpp, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp: +fix obj.
	  function value for GPBT/LIBSVM. it still does not work for
	  svmlight
	  +add a hack to surpress a valgrind uninitialised memory read
	  (libsvm)
	* classifier/svm/GPBTSVM.cpp: *** empty log message ***
	* classifier/svm/SVM_libsvm.cpp: -runtime fix
	* classifier/svm/SVM_libsvm.cpp: +updated to libsvm2.8
	* classifier/svm/gpdt.cpp, classifier/svm/gpdt.h: -valgrind hit
	  fixes
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  configure, gui/TextGUI.cpp, kernel/Kernel.cpp, lib/Parallel.cpp,
	  regression/svr/SVR_light.cpp: -hmmhh, seems like I forgot to
	  checking a couple of changes, hope I
	  resolved the conflicts in SVM_light.{cpp,h} without creating new
	  bugs
	* classifier/svm/gpdt.cpp, classifier/svm/gpdt.h,
	  classifier/svm/gpdtsolve.cpp, classifier/svm/gpm.cpp: +update to
	  GPDTSVM 1.0

2005-10-24  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/Classifier.h, classifier/KNN.h, classifier/LDA.cpp,
	  classifier/LDA.h, classifier/LPM.cpp, classifier/Perceptron.h,
	  classifier/svm/GPBTSVM.h, classifier/svm/LibSVM.h,
	  classifier/svm/MPD.h, classifier/svm/SVM_light.h,
	  guilib/GUIKernel.cpp, guilib/GUIPython.cpp, lib/common.h,
	  regression/svr/LibSVR.h: +prepare for more general classifier
	  guilib (to make things as KNN/LPM/LDA work in the GUI)

2005-10-23  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***
	* classifier/svm/SVM_light.cpp, kernel/Kernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: alles bloedsinn. wird nur
	  langsamer, das mit dem reihenfolge aendern. *aerger*
	  Naja, ich raeum gleich wieder auf...
	  G
	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***
	* kernel/WeightedDegreeCharKernel.h: *** empty log message ***
	* classifier/svm/SVM_light.cpp, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel_old.h: version 0 of WD
	  kernel with adaptive TreeMem and faster computation of outputs
	  with kernel_optimization.
	  Not TESTED!
	  Gu

2005-10-20  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: +make orig WD kernel thread
	  safe (so that was the bug after all...)

2005-10-19  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, kernel/Kernel.cpp, lib/Time.cpp,
	  lib/Time.h: bummer:there is no bug in parallel computation but in
	  the Weighted Degree Kernel
	* classifier/LPM.cpp, classifier/LPM.h, kernel/Kernel.cpp:
	  -parallel still not working ?!
	  +possible fix for gabi-problem

2005-10-13  Soeren Sonnenburg, Gunnar Raetsch

	* gui/Python.cpp, kernel/Kernel.cpp, kernel/Kernel.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: +a
	  working parallel svm

2005-10-11  Soeren Sonnenburg, Gunnar Raetsch

	* gui/Python.cpp, guilib/GUIPython.cpp, kernel/Kernel.cpp: wtf ?
	  parallel svm works with matlab interface but not with python ?!?
	* configure, kernel/Kernel.cpp, regression/svr/SVR_light.cpp: still
	  debugging the svm_parallel case w/o linadd

2005-10-03  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, kernel/Kernel.cpp, kernel/Kernel.h:
	  *** empty log message ***
	* kernel/Kernel.cpp, kernel/Kernel.h: *** empty log message ***

2005-09-30  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, lib/Time.cpp, lib/Time.h: +
	  (not yet working) parallel SVM_light, i.e.
	  cache_multiple_kernel_rows impl.
	* configure, gui/TextGUI.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp, regression/svr/SVR_light.cpp:
	  +parallel mkl linadd
	* configure: remove -liberty, lapack/atlas work without
	* classifier/svm/SVM_light.cpp, gui/TextGUI.cpp, lib/Parallel.cpp,
	  lib/Parallel.h: +lots of parallel hacks, don't expect it to work
	  yet when configured with --enable-svm-parallel
	* classifier/LinearClassifier.h, lib/Mathmatics.h, lib/lapack.h,
	  preproc/PCACut.cpp, regression/svr/SVR_light.cpp: +some
	  atlas/lapack compile fixes

2005-09-29  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, configure, lib/Version.cpp: +linadd
	  fix for empty tree
	  +verboser version info

2005-09-28  Soeren Sonnenburg, Gunnar Raetsch

	* configure: *** empty log message ***
	* configure: + -fexceptions for matlab

2005-09-23  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/Classifier.cpp, classifier/Classifier.h, gui/GUI.h,
	  gui/TextGUI.cpp, guilib/GUIClassifier.cpp,
	  guilib/GUIClassifier.h: on the way to a general
	  
	  new classifier XXX
	  
	  command, with unified training/testing

2005-09-10  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath_simple.cpp: *** empty log message
	  ***
	* distributions/hmm/HMM.h,
	  distributions/hmm/HMM_bestpath_simple.cpp, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp: *** empty log message ***
	* distributions/hmm/HMM_bestpath_simple.cpp: simple version of
	  best_path_trans.
	  G
	* distributions/hmm/HMM.h, gui/Matlab.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h: ... a simpler version of best_path_trans.
	  G

2005-09-05  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/Classifier.cpp, classifier/Perceptron.cpp: fix CVS
	  merge
	* README, classifier/Classifier.cpp, classifier/Classifier.h,
	  classifier/KNN.h, classifier/KernelPerceptron.cpp,
	  classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/Perceptron.cpp, classifier/Perceptron.h,
	  classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/KerthiPrimalSVM.h, classifier/svm/SVM_light.cpp,
	  configure, distributions/hmm/HMM_bestpath.cpp,
	  kernel/KernelMachine.cpp, kernel/KernelMachine.h,
	  kernel/LinearKernel.cpp, kernel/SparseLinearKernel.cpp,
	  lib/Mathmatics.h, lib/common.h, regression/svr/SVR_light.cpp: +
	  fix warning in HMM_bestpath
	  + perceptron
	  + new classifier hierarchy: classifier ->
	  (LinearClassifier/KernelMachine), LinearClassifier -> Perceptron,
	  KernelMachine ->(SVM/KernelPerceptron/...)
	  + add type LLONG/ULLONG (16 byte integer)

2005-09-04  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/KernelPerceptron.cpp, classifier/Perceptron.cpp:
	  +stubs for load/save to get the matlab interface working

2005-09-02  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/fibheap.cpp, distributions/hmm/fibheap.h:
	  Dinojs Version of HMM_bestpath.cpp with fibonacci heap (and also
	  other versions).
	  He says it is tested to be equivalent. I have not tested it yet.
	  Gu

2005-08-30  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/KernelPerceptron.cpp, classifier/KernelPerceptron.h,
	  classifier/LinearClassifier.cpp, classifier/LinearClassifier.h,
	  classifier/Perceptron.cpp, classifier/Perceptron.h,
	  classifier/svm/KerthiPrimalSVM.cpp,
	  classifier/svm/KerthiPrimalSVM.h, features/SparseFeatures.h,
	  guilib/GUIKernel.cpp, kernel/DiagKernel.cpp, kernel/DiagKernel.h,
	  kernel/SparseLinearKernel.cpp, kernel/SparseLinearKernel.h,
	  lib/common.h: +diag kernel (just some const on diagonal)
	  +started perceptron/kernel perceptron/kerthiprimalsvm ->non
	  functional

2005-08-25  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIMatlab.cpp, kernel/Kernel.cpp: *** empty log message
	  ***

2005-08-23  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/MPD.cpp, guilib/GUIMatlab.cpp,
	  kernel/LinearKernel.h: +linadd test script /
	  get_kernel_optimization for Linear kernel

2005-08-13  Soeren Sonnenburg, Gunnar Raetsch

	* TODO, guilib/GUIMatlab.cpp, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/SimpleKernel.h, lib/Mathmatics.h: +get_kernel_matrix from
	  kernel object only
	  +check size for simplefeatures
	  +dot() in mathm.

2005-08-07  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.h, regression/svr/SVR_light.cpp:
	  fixed SVR_light with SVM_PARALLEL (did not test it... only needed
	  classification)
	  G

2005-08-04  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Cache.h: finally fixed the cache

2005-08-03  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Cache.h: *** empty log message ***
	* classifier/svm/MPD.cpp, classifier/svm/MPD.h,
	  classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_libsvm.cpp, lib/Cache.h: *** empty log message
	  ***

2005-07-28  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/LibSVM.cpp, regression/svr/LibSVR.cpp: +don't
	  invert libsvm's decision function when regression is used
	* .version.sh: +fix versionstring when hour/minute/second is 00

2005-07-27  Soeren Sonnenburg, Gunnar Raetsch

	* configure: +make configure work with cplex @fhg
	* classifier/svm/LibSVM.cpp, regression/svr/LibSVR.cpp: +make
	  libsvm not fail if trained SVM has no suppvec

2005-07-23  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/Optimizer.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  configure, features/StringFeatures.h, gui/Python.cpp,
	  gui/TextGUI.cpp, gui/TextGUI.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, lib/Signal.cpp, regression/svr/SVR_light.cpp,
	  regression/svr/SVR_light.h: +gcc4 fixes (configure + templates in
	  Stringfeatures)
	  +make SVR_light a derivative of SVM_light
	  +quieten SVM training (only warnings are shown now)
	  +fix ctrl-c behaviour to work the python way(tm), (i.e. raise
	  keyboard exception, no more signal handler)
	  +remove linux specific signal handling (now hopefully 100% POSIX)
	  +in python interface implement
	  svm_classify_example(...)
	  set_subkernel_weights(...)
	  set_svm(...)
	  get_labels(...)
	  get_features(...)

2005-07-21  Soeren Sonnenburg, Gunnar Raetsch

	* gui/Python.cpp, guilib/GUIPython.cpp, lib/Signal.cpp, lib/io.cpp,
	  regression/svr/SVR_light.cpp: +python ctrl+c support,
	  get_subkernelweighting
	* classifier/svm/Optimizer.cpp, lib/Mathmatics.h,
	  regression/svr/SVR_light.cpp: +svmlight pr_loqo convergence fix

2005-07-18  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIFeatures.cpp: *** empty log message ***
	* configure, gui/Matlab.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIPython.cpp, kernel/Kernel.cpp,
	  kernel/Kernel.h: b0VIM 6.3

2005-07-14  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Signal.cpp: +compile fixes for macosx

2005-07-13  Soeren Sonnenburg, Gunnar Raetsch

	* configure: +compile with python under 64bit nodes
	* regression/svr/SVR_light.cpp: *** empty log message ***

2005-07-01  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp: *** empty log message ***
	* kernel/WeightedDegreeCharKernel.h: *** empty log message ***

2005-06-28  Soeren Sonnenburg, Gunnar Raetsch

	* regression/svr/SVR_light.cpp: +mkl linadd + precompute + atlas..
	* regression/svr/SVR_light.cpp: +fix for mkl using linadd
	* regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: +mkl
	  svr fix

2005-06-27  Soeren Sonnenburg, Gunnar Raetsch

	* regression/svr/SVR_light.h: +linadd now working with svr
	* classifier/svm/MPD.cpp, classifier/svm/SVM.h, lib/Cache.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h: +svr
	  linadd fix ???

2005-06-15  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/MPD.cpp: we now have a MPD CSVC

2005-06-14  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/MPD.cpp, classifier/svm/MPD.h, configure,
	  guilib/GUISVM.cpp, lib/Cache.h: +MPD SVM

2005-06-08  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIPreProc.cpp: *** empty log message ***
	* guilib/GUIPreProc.cpp: +fix case with mixed preproc/no preproc
	  for subfeatures of combined features
	* features/CombinedFeatures.cpp, features/Features.cpp,
	  guilib/GUIPreProc.cpp: fixing preproc test once again. now run
	  this for combined features just once for attach_preproc TEST
	* features/CombinedFeatures.cpp: +fix infinite loop in feature
	  compatibility check

2005-06-02  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/Kernel.cpp: *** empty log message ***
	* kernel/Kernel.cpp: *** empty log message ***
	* features/Features.cpp: -replace ERROR
	* kernel/Kernel.cpp: *** empty log message ***
	* distributions/hmm/HMM_bestpath.cpp, regression/svr/SVR_light.cpp:
	  *** empty log message ***

2005-06-01  Soeren Sonnenburg, Gunnar Raetsch

	* regression/svr/SVR_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp, regression/svr/SVR_light.cpp: fix
	  obj output

2005-05-31  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_libsvm.h,
	  classifier/svm/SVM_light.cpp, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  regression/svr/LibSVR.cpp, regression/svr/SVR_light.cpp,
	  regression/svr/SVR_light.h: +get_svm_objective for
	  libsv{r,m}/sv{r,m}light. output objective for svmlight again

2005-05-30  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/LibSVM.cpp, regression/svr/LibSVR.cpp,
	  regression/svr/SVR_light.cpp: libsvr + svrlight now both get the
	  same result (C was not set for libsvm..)
	* .version.sh: version string fix

2005-05-26  Soeren Sonnenburg, Gunnar Raetsch

	* gui/Python.cpp, gui/TextGUI.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIPython.cpp, guilib/GUIPython.h, kernel/Kernel.cpp:
	  +working svm classifier und regression test script

2005-05-23  Soeren Sonnenburg, Gunnar Raetsch

	* TODO, gui/Python.cpp, gui/Python.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  lib/common.h: +some more stuff for the python interface
	  (get_kernel/set_features)

2005-05-21  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/Kernel.cpp, regression/svr/SVR_light.cpp,
	  regression/svr/SVR_light.h: +regression now also working with
	  svmlight (actually mkl should also...)
	* regression/svr/SVR_light.cpp: +test scripts, needs valgrinding
	  @fhg
	* configure, regression/svr/LibSVR.cpp,
	  regression/svr/SVR_light.cpp: +fix configure to new matlab paths
	  *arg*
	  +SVR via libsvm works
	* classifier/svm/SVM.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, gui/TextGUI.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUISVM.cpp, guilib/GUISVM.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, regression, regression/svr,
	  regression/svr/LibSVR.cpp, regression/svr/LibSVR.h,
	  regression/svr/SVR_light.cpp, regression/svr/SVR_light.h:
	  +libsvm/svmlight regression (though it is not yet clear how to
	  get svmlights regression to work)

2005-05-18  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: ->CPX free prob gives only a
	  warning message

2005-05-10  Soeren Sonnenburg, Gunnar Raetsch

	* configure, distributions/hmm/HMM.cpp: +make it compile with
	  matlab on older nodes
	  +wrongly checked for <= in HMM #obs

2005-04-26  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, classifier/svm/SVM_light.cpp,
	  guilib/GUISVM.cpp: -min SVM iterations -> 3
	  -default qpsize back to 41 as optimizier died/hung several times
	  :(
	* classifier/svm/pr_loqo.cpp: +make terminating optimizer - choldc
	  failed, matrix not positive definite a WARNING
	* .version.sh, classifier/svm/SVM_light.cpp: +fix version for
	  minute 00, cplex typos
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: +cplex
	  (de)init fixes

2005-04-25  Soeren Sonnenburg, Gunnar Raetsch

	* features/Features.cpp, lib/io.cpp: *** empty log message ***

2005-04-23  Soeren Sonnenburg, Gunnar Raetsch

	* TODO, guilib/GUIPreProc.cpp, guilib/GUIPython.cpp:
	  +attach_preproc TEST for combined features should not call
	  preprocess for every
	  sub-feature obj, but instead only once for the last test-train
	  subfeature combination
	  we should switch to dynarray instead of CList as this would avoid
	  fishing out the right
	  sub-trainfeature obj
	  +updated TODO

2005-04-19  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: +warning when mkl is enabled but
	  disabled at compile time
	* gui/Python.cpp, guilib/GUIPython.cpp, guilib/GUIPython.h,
	  kernel/CombinedKernel.cpp: fix: combined kernel does not delete
	  kernel_optimization of kernels that are not optimizable according
	  to is_optimizable

2005-04-15  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, lib/io.cpp, lib/io.h: *** empty log
	  message ***

2005-04-14  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Signal.cpp: *** empty log message ***
	* lib/io.cpp: +WARN -> blue
	  +ERROR -> red
	* classifier/svm/SVM_light.cpp, gui/GUI.cpp, gui/Matlab.cpp,
	  gui/TextGUI.cpp, gui/TextGUI.h, lib/Signal.cpp, lib/Signal.h,
	  lib/Version.cpp, lib/io.cpp, lib/io.h: +finally fixed signal +
	  output
	  +cancel knob
	* lib/Signal.cpp: *** empty log message ***
	* gui/TextGUI.cpp, lib/Signal.cpp, lib/Signal.h, lib/io.cpp,
	  lib/io.h: *** empty log message ***
	* features/StringFeatures.cpp, features/StringFeatures.h,
	  gui/GUI.cpp, lib/Signal.cpp, lib/io.cpp: +signal / mexError
	  finally works
	* lib/Signal.cpp: *** empty log message ***
	* lib/Signal.cpp, lib/Signal.h: +sighandler files
	* gui/Matlab.cpp, gui/TextGUI.cpp, gui/TextGUI.h: +sighandler to
	  trap SIGTERM from within matlab...
	* kernel/Chi2Kernel.cpp, kernel/Chi2Kernel.h: +chi^2 kernel
	* classifier/svm/SVM_light.cpp, configure, distributions/hmm/HMM.h,
	  features/SparseFeatures.h, features/StringFeatures.cpp,
	  features/StringFeatures.h, gui/Python.cpp,
	  guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp,
	  guilib/GUILabels.cpp, guilib/GUISVM.cpp,
	  kernel/LinearByteKernel.cpp, kernel/LinearCharKernel.cpp,
	  kernel/LinearKernel.cpp, kernel/LinearWordKernel.cpp,
	  kernel/SparseLinearKernel.cpp, kernel/WDCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernel_old.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel_old.cpp,
	  kernel/WordMatchKernel.cpp, lib/File.cpp, lib/List.h, lib/Time.h,
	  lib/common.h, lib/io.cpp, lib/io.h, preproc/PruneVarSubMean.cpp:
	  +svm training now checks for same number of training labels and
	  vectors
	  +matlab gui now uses mex* functions for CIO::message
	  +made other List access functions thread safe
	  +remove all load/safe stuff in Kernels/Features as we anyway
	  won't use them

2005-04-13  Soeren Sonnenburg, Gunnar Raetsch

	* features/StringFeatures.h, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  kernel/CommUlongStringKernel.cpp, kernel/CommUlongStringKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  lib/Mathmatics.h, lib/common.h: +CommUlongStringKernel
	  +CommWordString now uses nonsparse table as CommWord

2005-04-12  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIMatlab.cpp: +support for set/get_features for char cell
	  arrays

2005-04-11  Soeren Sonnenburg, Gunnar Raetsch

	* gui/GUI.cpp, gui/Python.cpp, gui/Python.h, guilib/GUIPython.cpp,
	  guilib/GUIPython.h: +python gui forgotten files
	* configure, gui/GUI.h, gui/TextGUI.cpp, gui/TextGUI.h,
	  guilib/GUIMatlab.h, guilib/GUIOctave.h: +python interface

2005-04-09  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.cpp: *** empty log message ***
	* guilib/GUISVM.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***

2005-04-05  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp,
	  features/CombinedFeatures.cpp, features/CombinedFeatures.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h, lib/List.h:
	  made CCombinedKernel, CCombinedFeatures and parts of CList
	  multi-thread safe.
	  G

2005-03-21  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/GPBTSVM.cpp, classifier/svm/GPBTSVM.h,
	  classifier/svm/gpdt.cpp, classifier/svm/gpdt.h,
	  classifier/svm/gpdtsolve.cpp: +valgrinded+compared gpbt svm with
	  libsvm+light -> gives same result :)

2005-03-18  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/GPBTSVM.cpp, classifier/svm/GPBTSVM.h,
	  classifier/svm/LibSVM.cpp, classifier/svm/LibSVM.h,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/gpdt.cpp,
	  classifier/svm/gpdt.h, classifier/svm/gpdtsolve.cpp,
	  classifier/svm/gpm.cpp, guilib/GUIKernel.cpp, guilib/GUISVM.cpp,
	  kernel/SigmoidKernel.cpp, kernel/SigmoidKernel.h, lib/common.h:
	  +sigmoid-kernel
	  +updated (resynced) to libsvm version 2.71
	  +GPBTSVM

2005-03-17  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/Kernel.cpp, lib/io.cpp: *** empty log message ***
	* kernel/Kernel.cpp, lib/io.cpp: *** empty log message ***

2005-03-14  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: require 10 iterations

2005-03-13  Soeren Sonnenburg, Gunnar Raetsch

	* lib/lapack.h: *** empty log message ***
	* classifier/svm/SVM_light.cpp, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h: *** empty log message ***
	* kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: speedup in gfwdp.
	  Gu
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: fixed
	  some mkl bug.
	* classifier/svm/SVM_light.cpp, lib/io.cpp: improved CIO::progress.
	  Gu
	* kernel/CombinedKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: improved speed of
	  WDPos kernel for the case that many weights are zero.
	  Gu
	* lib/io.cpp, lib/io.h: extended cio::progress. It now has some
	  time estimate and only outputs something at most every second;
	  Gu
	* guilib/GUIMatlab.cpp: *** empty log message ***
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: added
	  {s,g}et_last_subkernel_weights and extended {g,s}et_WD_position
	  weights.
	  Gu

2005-03-11  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: -polltime 60s fix
	* configure: +cplex
	* classifier/svm/SVM.h, classifier/svm/SVM_light.cpp,
	  gui/TextGUI.cpp, guilib/GUISVM.cpp, guilib/GUISVM.h: +qpsize
	  option

2005-03-10  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.cpp: +baum
	* configure: +opteron

2005-03-08  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: memory optimized hack
	  Gu
	* classifier/svm/SVM_light.cpp, distributions/hmm/HMM.h,
	  distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***

2005-03-04  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/CommWordKernel.cpp, kernel/CommWordKernel.h: *** empty log
	  message ***

2005-02-22  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, distributions/hmm/HMM_bestpath.cpp,
	  guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: fixed the
	  kernel_optimization for WDpos kernel (was not fixed for the new
	  kernel)
	  Gu

2005-02-21  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIMatlab.cpp, kernel/CombinedKernel.h: fixed CUSTOM
	  kernel with COmbined Kernel...
	  Gu

2005-02-19  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, distributions/hmm/HMM_bestpath.cpp,
	  guilib/GUIMatlab.cpp: fixed a (probably the) gf bug, that made
	  the mSplicer results worse than before.
	  (all due to some last minute hacking, which was not cleaned up
	  aftwerwards)
	  Gu

2005-02-15  Soeren Sonnenburg, Gunnar Raetsch

	* TODO, guilib/GUIKernel.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: + option to turn off blocking
	  mode

2005-02-14  Soeren Sonnenburg, Gunnar Raetsch

	* preproc/cleaner.c, preproc/cleaner.h, preproc/cleaner.m,
	  preproc/cleaner_main.c: -remove more obsolete stuff
	* gui/TextGUI.cpp, guilib/GUIHMM.cpp, guilib/GUIHMM.h,
	  guilib/GUISVM.cpp: -remove further obsolete hooks
	* classifier/svm_cplex, classifier/svm_mpi, grad_descent: -remove
	  obsolete stuff
	* HISTORY, LICENSE, Makefile, TODO, kernel/CombinedKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp, preproc/PCACut.cpp: +linadd
	  for COMMWORD kernel

2005-02-11  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.cpp: +argh forgot return
	  statement
	* kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: +block algo im wd

2005-02-10  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIMatlab.cpp: +replaced mxGetPr with mxGetData + typecast
	  fixes
	* guilib/GUIFeatures.cpp, guilib/GUIFeatures.h,
	  guilib/GUIMatlab.cpp: +fixes in convert
	  +get_features for other matrix types

2005-02-09  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIFeatures.cpp: *** empty log message ***
	* gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIFeatures.h: +
	  new convert ala:
	  
	  convert SPARSE REAL SIMPLE REAL
	  convert SIMPLE CHAR SIMPLE WORD DNA <order> <start>
	  convert STRING CHAR STRING WORD DNA <order> <start>
	  etc.

2005-02-08  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/PolyMatchCharKernel.cpp, kernel/PolyMatchCharKernel.h: ***
	  empty log message ***
	* lib/io.cpp: no more INFO
	* guilib/GUIKernel.cpp, kernel/PolyMatchWordKernel.h: +poly match
	  no scale option

2005-02-03  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Version.cpp: updated version to 2005

2005-01-31  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: fixed a minor bug in
	  MKL/linadd/testing.
	  Gunnar

2005-01-28  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel_old.cpp,
	  kernel/WeightedDegreePositionCharKernel_old.h, lib/common.h,
	  lib/io.cpp: kernel optimization for WD Pos kernel does not work
	  yet...
	  Gu

2005-01-27  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreeCharKernel.cpp, lib/common.h: first
	  implementation of the correct WD kernel (L-k instead of L-d)
	  Not tested yet.
	  G
	* kernel/WeightedDegreeCharKernel_old.h: fixed kernel name and id
	  G
	* kernel/WeightedDegreeCharKernel_old.cpp,
	  kernel/WeightedDegreeCharKernel_old.h: *** empty log message ***

2005-01-18  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WeightedDegreePositionCharKernel.cpp: len == 0 -> len <= 0
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: more
	  fixes for custom kernel
	* guilib/GUIMatlab.cpp, kernel/CustomKernel.cpp,
	  kernel/CustomKernel.h: +save only upper diagonal for custom
	  kernel

2005-01-17  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIMatlab.cpp, kernel/CustomKernel.h: +get_kernel_matrix
	  now twice as fast for training data
	* guilib/GUIKernel.cpp: +progress function
	  +for all kinds of polykernels (real/sparse/char/polymatch) allow
	  to disable normalization
	* classifier/svm/SVM.cpp, distributions/hmm/HMM_bestpath.cpp,
	  gui/TextGUI.cpp, guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  kernel/CharPolyKernel.cpp, kernel/CharPolyKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/PolyKernel.cpp, kernel/PolyKernel.h,
	  kernel/PolyMatchWordKernel.cpp, kernel/PolyMatchWordKernel.h,
	  kernel/SparsePolyKernel.cpp, kernel/SparsePolyKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp, lib/Mathmatics.h,
	  lib/common.h, lib/io.cpp, lib/io.h, preproc/PCACut.cpp: *** empty
	  log message ***

2005-01-12  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, guilib/GUIMatlab.cpp,
	  kernel/CustomKernel.cpp: custom kernel vs cache fixes

2005-01-11  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, gui/TextGUI.cpp, guilib/GUISVM.cpp,
	  guilib/GUISVM.h: *** empty log message ***
	* guilib/GUIMatlab.cpp: *** empty log message ***
	* classifier/svm/SVM.cpp, gui/Matlab.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, guilib/GUISVM.cpp,
	  kernel/CustomKernel.cpp, kernel/CustomKernel.h: +custom kernel
	  fixes

2005-01-10  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIFeatures.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* features/Features.cpp, guilib/GUIFeatures.cpp: finally found
	  zzzzzzze bug
	* guilib/GUIFeatures.cpp, lib/List.h: +remove replace from list as
	  this seems buggy/dangerous
	  +convert should now preprocess last feature obj from combined
	  features
	* guilib/GUIFeatures.cpp: *** empty log message ***
	* guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, kernel/AUCKernel.cpp,
	  kernel/AUCKernel.h: *** empty log message ***
	* kernel/CustomKernel.cpp, kernel/CustomKernel.h: +custom kernel
	  (now really)
	* classifier/svm/SVM_light.cpp, gui/Matlab.cpp,
	  guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp, lib/common.h: +custom
	  kernel
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  features/Labels.cpp, features/Labels.h, gui/Matlab.cpp,
	  guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h, lib/common.h:
	  implemented AUC maximization.
	  G

2005-01-07  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/Kernel.cpp, kernel/Kernel.h: optimized kernel
	  precomputation: only store the symmetric part and in float.
	  (allows to use it with more kernels and/or more examples)
	  
	  Gu

2005-01-06  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, guilib/GUIKernel.cpp,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/Kernel.cpp: added a option to CombinedKernel to append the
	  weights of the subkernels.
	  set_kernel COMBINED <cache_size> [<flag>]
	  
	  default: false
	  Now we can optimize WD weights in combination with other kernels
	  (e.g. linear).
	  :-)
	  
	  Gu
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/CombinedKernel.cpp: made it a bit more efficient....
	  (disabled kernel caching and made use or precomputed matrices in
	  the rest of svm-light)
	  
	  Gu
	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  guilib/GUIKernel.cpp, guilib/GUISVM.cpp, guilib/GUISVM.h,
	  kernel/CombinedKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: implemented MKL for
	  arbitrary kernels with the option to precompute the kernel before
	  optimization (also works for WD).
	  use
	  use_precompute 3
	  
	  Gu
	* guilib/GUISVM.cpp, kernel/PolyKernel.cpp: *** empty log message
	  ***
	* classifier/svm/SVM_light.cpp, guilib/GUIKernel.cpp,
	  guilib/GUISVM.cpp, guilib/GUISVM.h, kernel/CombinedKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h: implement precomputation for
	  subkernels to be used with MKL.
	  Now its fast if you have a few kernels
	  use command
	  use_precompute 1
	  for precomputation without MKL
	  and
	  use_precompute 2
	  for precomputation of subkernels with MKL.
	  Gu
	* classifier/svm/SVM_light.cpp, guilib/GUIKernel.cpp,
	  guilib/GUISVM.cpp: implemented first version of general MKL.
	  (easier than I thought).
	  Gu

2005-01-03  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  gui/TextGUI.cpp, guilib/GUISVM.cpp, guilib/GUISVM.h,
	  kernel/Kernel.cpp, kernel/Kernel.h: added new command
	  use_precompute
	  to turnn on/off kernel matrix precomputation (quite a bite
	  faster, even if cache is large enough)
	  Gu
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: removed
	  active set algorithm.
	  Gu
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h:
	  implemented a LP active set algorithm. It works, but it does not
	  improve speed (as expected). I'll remove it again in the next
	  version.
	  Gu

2005-01-02  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: minor
	  changes, prepared active set optimization for MKL.
	  G
	* classifier/svm/SVM.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, gui/TextGUI.cpp,
	  guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: quite a few
	  extensions/modifications for MKL.
	  G

2005-01-01  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: works

2004-12-29  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***
	* classifier/svm/SVM_light.cpp: *** empty log message ***

2004-12-28  Soeren Sonnenburg, Gunnar Raetsch

	* gui/TextGUI.cpp, guilib/GUIKernel.cpp, lib/common.h: minor
	  changes. G

2004-12-26  Soeren Sonnenburg, Gunnar Raetsch

	* gui/TextGUI.cpp, gui/TextGUI.h, guilib/GUIKernel.cpp: *** empty
	  log message ***

2004-12-23  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUISVM.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp, kernel/CombinedKernel.h: *** empty
	  log message ***

2004-12-13  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  configure, gui/TextGUI.cpp, guilib/GUISVM.cpp, guilib/GUISVM.h,
	  kernel/CombinedKernel.cpp, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/WeightedDegreeCharKernel.h:
	  +make mkl learning optional via ./configure
	  +make mkl learning configurable: new command: use_kerncombination
	  1 (or 0)
	  +add linear{byte,word,char,real}kernel to fast learning kernels
	  +prepare combined kernel mkl learning

2004-11-23  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: ***
	  empty log message ***

2004-11-08  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp, classifier/svm/SVM.h,
	  classifier/svm/SVM_light.cpp, gui/TextGUI.cpp, guilib/GUISVM.cpp,
	  guilib/GUISVM.h: +command
	  epsilon 1e-4

2004-10-28  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: minor
	* classifier/svm/SVM_light.cpp: *** empty log message ***

2004-10-22  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: fixed memory leak
	  G

2004-10-21  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, kernel/LinearKernel.cpp: fixed
	  typos
	  G
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: fixed
	  wgap epsilon to 1e-4 ;
	  G
	* classifier/svm/SVM_light.cpp, configure, kernel/LinearKernel.cpp,
	  preproc/PCACut.cpp: jaja atlas...
	* classifier/svm/SVM_light.cpp: atlas geht
	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  guilib/GUIMatlab.cpp, kernel/WeightedDegreeCharKernel.cpp: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/WeightedDegreeCharKernel.cpp: backup
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  guilib/GUIMatlab.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***

2004-10-20  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIMatlab.cpp, kernel/WeightedDegreeCharKernel.cpp: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp, guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreeCharKernel.cpp: *** empty log message ***
	* kernel/WeightedDegreeCharKernel.cpp: *** empty log message ***
	* guilib/GUIMatlab.cpp, kernel/WeightedDegreeCharKernel.cpp: ***
	  empty log message ***
	* guilib/GUIMatlab.cpp, kernel/WeightedDegreeCharKernel.cpp: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***
	* guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: *** empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/WeightedDegreeCharKernel.cpp: take this commit with
	  extreme care:
	  * a few hacky changes in svm_light.cpp
	  * removed the normalization in the kernel
	  G

2004-10-19  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: *** empty log message ***

2004-10-18  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: ***
	  empty log message ***
	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp: *** empty log message ***
	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: another
	  buggy(?) selfopt. version
	* classifier/svm/SVM_light.cpp, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h, lib/common.h: +gunnar mult.
	  kern. zeug

2004-10-17  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h, lib/common.h: +linear svmlight
	  training

2004-10-16  Soeren Sonnenburg, Gunnar Raetsch

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreeCharKernel.h: added functions for changing
	  the weighting of the WD kernel on the fly (first version, does
	  not update the tree yet).
	  G
	* guilib/GUIMatlab.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: minor optimization.
	  G
	* classifier/svm/SVM.cpp, features/Features.h, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h: added a function
	  compute_WD_by_levels which is needed when optimizing the weights
	  of different substring lengths.
	  G

2004-10-14  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Mathmatics.h: +qsort template build fix

2004-10-06  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, kernel/WDCharKernel.cpp,
	  kernel/WDCharKernel.h: + option to disable WD kernel
	  normalization

2004-10-05  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, kernel/WDCharKernel.cpp,
	  kernel/WDCharKernel.h: +WD kernel now has an extra argument to
	  compute only a specific linear component

2004-10-04  Soeren Sonnenburg, Gunnar Raetsch

	* lib/Mathmatics.cpp, lib/Mathmatics.h: +double template in qsort
	  functions with index
	* classifier/KNN.cpp, classifier/svm/Optimizer.cpp,
	  classifier/svm/SVM_libsvm.cpp, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, classifier/svm/pr_loqo.cpp,
	  classifier/svm_cplex/SVM_cplex.cpp,
	  distributions/Distribution.cpp, distributions/Distribution.h,
	  distributions/histogram/Histogram.cpp, distributions/hmm/GHMM.h,
	  distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp, features/FKFeatures.cpp,
	  features/ShortFeatures.cpp, features/StringFeatures.h,
	  features/TOPFeatures.cpp, features/WordFeatures.cpp,
	  grad_descent/mnbrak.cpp, gui/Matlab.cpp, gui/Octave.cpp,
	  guilib/GUIHMM.cpp, guilib/GUIKernel.cpp, guilib/GUIMath.cpp,
	  kernel/CommWordKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/HistogramWordKernel.cpp, kernel/LinearByteKernel.cpp,
	  kernel/LinearCharKernel.cpp, kernel/LinearKernel.cpp,
	  kernel/LinearWordKernel.cpp, kernel/SalzbergWordKernel.cpp,
	  kernel/SparseLinearKernel.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WordMatchKernel.cpp, lib/Cache.h, lib/DynArray.h,
	  lib/Mathmatics.cpp, lib/Mathmatics.h, preproc/LogPlusOne.cpp,
	  preproc/NormOne.cpp, preproc/PCACut.cpp,
	  preproc/PruneVarSubMean.cpp, preproc/SortWord.cpp,
	  preproc/SortWordString.cpp: global object math -> static CMath
	  transition

2004-10-01  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp, lib/Mathmatics.cpp,
	  lib/Mathmatics.h: @gunnar: du musst template funktionen auch ins
	  header file schreiben und
	  wenn die static sachen benutzen die funktionen die du aus der
	  klasse aus
	  diesen funktionen aufrufst auch wieder static machen
	  
	  +fixed compilation... Mathmatics needs a big cleanup to really
	  only use
	  templates and static functions now. we should drop the math
	  object
	* lib/Mathmatics.cpp, lib/Mathmatics.h: Achtung: liefert
	  undefininiertes Symbol nmin.
	  habe was mit einem template versucht. klappt aber nicht, wie es
	  aussieht.
	  Soeren, hast du eine idee, wie man das fixt. syntax ok, aber
	  funktion fehlt wohl doch (Mathmatics.cpp Cmath::nmin)
	  Gunnar

2004-09-14  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: svm retraining works now, just use
	  set_svm with what you have as inital guess :D

2004-09-10  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp: + support for different C's in
	  svmlight
	  + now svm's won't always learn from scratch (use set_svm to set
	  initial parameters)

2004-09-09  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h: -bias
	  corrected
	* classifier/svm/Optimizer.cpp, classifier/svm/Optimizer.h,
	  classifier/svm/SVM_light.cpp, classifier/svm/SVM_light.h,
	  kernel/Kernel.cpp, kernel/Kernel.h: +updated SVM_light* to
	  svmlight6.01

2004-08-31  Soeren Sonnenburg, Gunnar Raetsch

	* gui/Matlab.cpp, guilib/GUIKernel.cpp, guilib/GUIMatlab.cpp,
	  guilib/GUIMatlab.h, kernel/WDCharKernel.cpp: +fixed,
	  tested+verified :)
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, kernel/Kernel.h,
	  kernel/WDCharKernel.cpp, kernel/WDCharKernel.h:
	  +set_kernel_parameters function (infect all kernels should use
	  this...)

2004-08-04  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/HistogramWordKernel.h, kernel/LinearKernel.cpp: fix return
	  values
	* TODO, guilib/GUIKernel.cpp, kernel/CharPolyKernel.cpp,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/FixedDegreeCharKernel.cpp, kernel/HistogramWordKernel.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LocalityImprovedCharKernel.cpp,
	  kernel/PolyKernel.cpp, kernel/PolyMatchWordKernel.cpp,
	  kernel/SalzbergWordKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseLinearKernel.cpp,
	  kernel/SparseNormSquaredKernel.cpp, kernel/SparsePolyKernel.cpp,
	  kernel/WDCharKernel.cpp, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h,
	  kernel/WordMatchKernel.cpp: changed cleanup for all kernels, as
	  it was done in a very unclean way.
	  
	  - calling cleanup functions twice should not trigger crashes
	  - delete_kernel_optimization is now called without checks for
	  is_initialized
	  
	  - Kernel objects must call the cleanup function in destructor.
	  everything that
	  gets initialized in the constructor must be cleaned up in the
	  destructor. all
	  the rest has to be done via the cleanup() function (i.e. cleanup
	  must call delete_kernel_optimization)
	  
	  -typos/thinkos might lead to IMMEDIATE CRASHES on deleting
	  kernels NOW.
	  
	  I will run some tests and then pass this version over to alex to
	  see whether
	  it survives his complex scenario (which it did not in former
	  versions)

2004-07-28  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM_libsvm.cpp, configure, kernel/Kernel.cpp,
	  kernel/Kernel.h, lib/common.h: *** empty log message ***

2004-07-26  Soeren Sonnenburg, Gunnar Raetsch

	* .version.sh, Makefile, README: +hints on how to cvs tag (create
	  versions/branches) in genefinder
	  +automatic versioning added which should be enough for most cases
	* lib/Version.cpp, lib/Version.h: forgot to add version files
	* .version.sh, Makefile, gui/Matlab.cpp, gui/TextGUI.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: +ver=gf('get_version')
	  to obtain version from within matlab
	* .version.sh: version script
	* Makefile, features/ShortFeatures.cpp, gui/TextGUI.cpp:
	  +versioning (only in textgui)
	* TODO: *** empty log message ***
	* guilib/GUIMatlab.h: forgot to change get_kernel_matrix function
	  definition
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, kernel/LinearKernel.cpp,
	  kernel/PolyKernel.cpp, kernel/SparseGaussianKernel.cpp,
	  kernel/SparseGaussianKernel.h: +optimized sparsegaussiankernel
	  +changed gf('get_kernel_matrix') to
	  gf('get_kernel_matrix','TRAIN')
	  +poly/gaussian kernel cleanups now in cleanup(), call cleanup()
	  in destructor

2004-07-25  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/LinearKernel.cpp: disabled ATLAS, as it induced some
	  strange errors. also the HAVE_ATLAS switch did not seem to work.
	  G

2004-07-22  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM.cpp: *** empty log message ***
	* distributions/hmm/HMM.cpp, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/StringFeatures.h,
	  gui/Matlab.cpp, gui/TextGUI.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIHMM.cpp: more hmm+char/stringfeature fixes
	* configure, gui/Matlab.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: +hmm fixes, char
	  features now have alphabet type

2004-07-21  Soeren Sonnenburg, Gunnar Raetsch

	* gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: compile
	  fixes
	* distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h:
	  +get_viterbi_path

2004-07-20  Soeren Sonnenburg, Gunnar Raetsch

	* gf.m: updated help

2004-07-19  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/PluginEstimate.h, distributions/hmm/HMM.cpp,
	  distributions/hmm/HMM.h, distributions/hmm/LinearHMM.cpp,
	  distributions/hmm/LinearHMM.h, gf.m, gui/Octave.cpp,
	  guilib/GUIOctave.cpp, guilib/GUIOctave.h: initial octave support,
	  get/set_hmm works all the rest is likely to be buggy(tm)
	* guilib/GUIPreProc.cpp: preproc crash

2004-07-18  Soeren Sonnenburg, Gunnar Raetsch

	* configure: *** empty log message ***

2004-07-16  Soeren Sonnenburg, Gunnar Raetsch

	* features/CombinedFeatures.cpp, features/Features.cpp,
	  features/Features.h, guilib/GUIPreProc.cpp: and even further
	  preproc fixes
	* configure, features/CombinedFeatures.cpp,
	  features/CombinedFeatures.h, features/Features.cpp,
	  features/Features.h, guilib/GUIPreProc.cpp, guilib/GUIPreProc.h:
	  further preproc fixes
	  
	  rule is now to:
	  
	  add_features
	  add_preproc
	  ..
	  add_preproc
	  attach_preproc
	  
	  add_features
	  add_preproc
	  ..
	  add_preproc
	  attach_preproc TRAIN
	  
	  <do some stuff>
	  
	  attach_preproc TEST
	  
	  
	  attach_preproc will attach & preprocess (if feature matrix is
	  available) in both cases

2004-07-15  Soeren Sonnenburg, Gunnar Raetsch

	* features/SimpleFeatures.h, guilib/GUIPreProc.cpp,
	  kernel/WDCharKernel.cpp: preproc fixes
	* guilib/GUIKernel.cpp, guilib/GUIPreProc.cpp, preproc/PCACut.cpp:
	  *** empty log message ***

2004-07-12  Soeren Sonnenburg, Gunnar Raetsch

	* configure, distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  gui/TextGUI.cpp, guilib/GUIHMM.cpp: +make hmm work again

2004-06-29  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/WDCharKernel.h: please the compiler (fixes a warning)
	* guilib/GUIKernel.cpp, kernel/WDCharKernel.cpp,
	  kernel/WDCharKernel.h, kernel/WeightedDegreeCharKernel.cpp: +
	  different weightings (const,linear,log,exp,x^2 x^3)

2004-06-25  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, kernel/WDCharKernel.cpp,
	  kernel/WDCharKernel.h: finally found the weighting for arbitrary
	  sizes it is linear (3*l + const)
	  and yes the kernel is >2 times faster

2004-06-21  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/LinearByteKernel.cpp, kernel/LinearCharKernel.cpp,
	  kernel/LinearWordKernel.cpp: fixed a stupid type casting bug with
	  kernel optimization for Byte/Char/Word Kernels
	* kernel/WDCharKernel.cpp, kernel/WDCharKernel.h: first tests of WD
	  kernel following the XXX publication
	* classifier/svm/SVM.cpp, gui/TextGUI.cpp, guilib/GUIFeatures.cpp,
	  guilib/GUIFeatures.h, guilib/GUIKernel.cpp,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUISVM.cpp,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommWordStringKernel.h, kernel/Kernel.cpp,
	  kernel/Kernel.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/OptimizableKernel.cpp,
	  kernel/OptimizableKernel.h, kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreeCharKernelPolyA.h, lib/Mathmatics.h,
	  lib/common.h: -removed optimizablekernel files as they are now in
	  CKernel anyway
	  -fixed comment in Mathmatics (long/real mixup)
	  -added kernel optimizations for Linear*Kernels
	  -rewrote gui - preproc. there is no longer a preprocess command
	  but just a
	  attach_preproc function which attaches the current preproc-list
	  to
	  TRAIN/TEST feature object and clears the list afterwards. this is
	  needed for
	  combined features to have different preprocs. for combined
	  features the
	  preproc is attached to the last feature object in the list

2004-05-06  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, guilib/GUIMatlab.cpp: *** empty
	  log message ***

2004-04-22  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp: compile time fixes
	* preproc/SortWordString.cpp, preproc/SortWordString.h: *** empty
	  log message ***

2004-04-02  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, guilib/GUIMatlab.cpp: *** empty
	  log message ***
	* distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  kernel/CommWordStringKernel.h: viterbi with exon svm works now
	  and is fast.
	  G

2004-04-01  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h: introduced more normalization
	  options for faster normalization.
	* distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, features/StringFeatures.h:
	  first version of "svm in viterby".
	  G
	* distributions/hmm/HMM.h, guilib/GUIKernel.cpp:
	  CommWordStringKernel is working and tested.
	  G
	* kernel/CommWordStringKernel.h: *** empty log message ***
	* kernel/CommWordStringKernel.cpp: introduced a normalization
	  option: no, sqrt, full.
	  Might be worth transfering to other kernels..
	  G
	* distributions/hmm/HMM_bestpath.cpp, features/StringFeatures.h,
	  guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIPreProc.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/CommWordStringKernel.h, kernel/StringKernel.h,
	  preproc/StringPreProc.h: added StringKernel-Preproc support
	  wrote SortPreProc for Strings
	  changed CommWordStringKernel including kernel-optimization
	  (to be tested)

2004-03-31  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, guilib/GUIMatlab.cpp: typos..

2004-03-24  Soeren Sonnenburg, Gunnar Raetsch

	* classifier/svm/SVM.cpp: *** empty log message ***

2004-03-22  Soeren Sonnenburg, Gunnar Raetsch

	* TODO, classifier/svm/LibSVM.cpp, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, features/RealFeatures.cpp, gui/TextGUI.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUISVM.cpp, kernel/CombinedKernel.h,
	  kernel/LinearKernel.cpp, kernel/LinearKernel.h: +workaround fix
	  for libsvm (to handle the case - first example has positive label
	  - correctly)
	  +kernel optimizations for linear kernel (REAL)

2004-03-18  Soeren Sonnenburg, Gunnar Raetsch

	* configure, distributions/hmm/penalty_info.cpp, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h: added #include
	  "lib/config.h" as the first line to make HAVE_MATLAB work
	  correctly
	  remove cmdline -DMATLAB from configure

2004-03-09  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/penalty_info.h, kernel/CharPolyKernel.cpp,
	  kernel/CommWordKernel.cpp, kernel/CommWordStringKernel.cpp,
	  kernel/FixedDegreeCharKernel.cpp, kernel/HistogramWordKernel.cpp,
	  kernel/PolyKernel.cpp, kernel/PolyMatchWordKernel.cpp,
	  kernel/SalzbergWordKernel.cpp, kernel/SparsePolyKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp: fixed kernel divide
	  by zero bugs, not compiling bug when not using matlab

2004-02-21  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, kernel/WeightedDegreeCharKernelPolyA.cpp,
	  kernel/WeightedDegreeCharKernelPolyA.h, lib/common.h: *** empty
	  log message ***

2004-02-15  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/HMM_bestpath.cpp: final bug and cleanup.
	  G
	* distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, guilib/GUIMatlab.cpp,
	  lib/Mathmatics.cpp: fixed bugs
	  G
	* distributions/hmm/penalty_info.h: *** empty log message ***
	* distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, guilib/GUIMatlab.cpp: the new
	  viterby seems to work.
	  TODO: put the penalty_struct in a class.
	* distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h, gui/Matlab.cpp,
	  guilib/GUIMatlab.cpp, lib/Mathmatics.cpp, lib/Mathmatics.h: new
	  trail version 0.9

2004-02-13  Soeren Sonnenburg, Gunnar Raetsch

	* distributions/hmm/penalty_info.cpp,
	  distributions/hmm/penalty_info.h: *** empty log message ***
	* distributions/hmm/HMM.h, distributions/hmm/HMM_bestpath.cpp,
	  gui/Matlab.cpp, guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  lib/Mathmatics.h: new trial with the shit viterbi...
	  G
	* distributions/hmm/HMM_bestpath.cpp: *** empty log message ***
	* distributions/hmm/HMM_bestpath.cpp: *** empty log message ***

2004-02-11  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/CombinedKernel.cpp, kernel/Kernel.cpp, kernel/Kernel.h:
	  minor changes.
	  G

2004-02-10  Soeren Sonnenburg, Gunnar Raetsch

	* gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIFeatures.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h: fixed a few bugs
	  related to the propation of a changed feature object to the
	  kernels.
	  G
	* gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIFeatures.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUIPreProc.cpp,
	  guilib/GUIPreProc.h: added
	  clean_features
	  clean_kernel
	  clean_preproc
	  as commands
	  G

2004-02-09  Soeren Sonnenburg, Gunnar Raetsch

	* kernel/CombinedKernel.cpp: *** empty log message ***
	* classifier/svm/SVM.cpp, classifier/svm/SVM.h, gui/Matlab.cpp,
	  gui/TextGUI.cpp, guilib/GUIKernel.cpp, guilib/GUIKernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.h, kernel/Kernel.h,
	  kernel/LinearKernel.h, kernel/OptimizableKernel.cpp,
	  kernel/OptimizableKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/common.h, lib/io.cpp: created new command
	  "init_kernel_optimization" and "delete_kernel_optimization" which
	  replace "init_kernel_tree" and "delete_kernel_tree".
	  implemented the kernel optimization for commword kernel and
	  WeightedDegreePositionKernel.
	  improved output of progress while testing.
	  needed a new class COptimizableKernel.
	  
	  Gu

2004-02-06  Soeren Sonnenburg, Gunnar Raetsch

	* features/CombinedFeatures.h, guilib/GUIFeatures.cpp,
	  guilib/GUIKernel.cpp: fixed some more bugs and made some
	  extensions
	  G

2004-02-05  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIKernel.cpp, kernel/CombinedKernel.cpp,
	  kernel/Kernel.cpp, kernel/Kernel.h, lib/io.cpp: fixed the bugs in
	  the combined kernel stuff.
	  there is a new tester in matlab/test_combined2.m
	  
	  It should work now.
	  Gu

2004-02-02  Soeren Sonnenburg, Gunnar Raetsch

	* features/CombinedFeatures.cpp, features/CombinedFeatures.h,
	  guilib/GUIKernel.cpp, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h: combined stuff still crashy
	* gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIKernel.cpp,
	  guilib/GUIKernel.h, kernel/CombinedKernel.cpp,
	  kernel/CombinedKernel.h: untested support for
	  combined{features,kernel}

2004-01-30  Soeren Sonnenburg, Gunnar Raetsch

	* configure: *** empty log message ***
	* configure: *** empty log message ***
	* features/Labels.cpp, gui/TextGUI.cpp: fixed readline vs. input
	  from file problems

2004-01-27  Soeren Sonnenburg, Gunnar Raetsch

	* guilib/GUIFeatures.cpp: *** empty log message ***
	* gui/TextGUI.cpp: *** empty log message ***
	* gui/TextGUI.cpp: readline fixes
	* gui/Matlab.cpp, guilib/GUIMatlab.cpp: *** empty log message ***
	* Makefile, TODO, classifier/KNN.cpp,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm/LibSVM.cpp, classifier/svm/Optimizer.cpp,
	  classifier/svm/SVM.cpp, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_light.cpp, classifier/svm/pr_loqo.cpp,
	  classifier/svm_cplex/SVM_cplex.cpp,
	  classifier/svm_cplex/SVM_cplex.h,
	  classifier/svm_cplex/cplex_init_mex_interface.c,
	  classifier/svm_cplex/cplex_quit_mex_interface.c,
	  classifier/svm_cplex/qp_solve_mex_interface.c,
	  classifier/svm_cplex/spdiag.c, classifier/svm_cplex/train_svm.c,
	  classifier/svm_cplex/train_svm_main.c,
	  classifier/svm_mpi/bcache.h, classifier/svm_mpi/intpoint.h,
	  classifier/svm_mpi/intpoint_mpi.h, classifier/svm_mpi/matrix.h,
	  classifier/svm_mpi/mpi_base.cpp, classifier/svm_mpi/mpi_base.h,
	  classifier/svm_mpi/mpi_oneclass.cpp,
	  classifier/svm_mpi/mpi_oneclass.h,
	  classifier/svm_mpi/mpi_svm.cpp, classifier/svm_mpi/mpi_svm.h,
	  configure, distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  features/ByteFeatures.cpp, features/CharFeatures.cpp,
	  features/CombinedFeatures.cpp, features/FKFeatures.cpp,
	  features/Features.cpp, features/Labels.cpp,
	  features/RealFeatures.cpp, features/RealFileFeatures.cpp,
	  features/SimpleFeatures.h, features/SparseFeatures.h,
	  features/StringFeatures.h, features/TOPFeatures.cpp,
	  features/WordFeatures.cpp, grad_descent/test.cpp, gui/Matlab.cpp,
	  gui/TextGUI.cpp, guilib/GUIFeatures.cpp, guilib/GUIFeatures.h,
	  guilib/GUIHMM.cpp, guilib/GUIKNN.cpp, guilib/GUIKernel.cpp,
	  guilib/GUILabels.cpp, guilib/GUIMath.cpp,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPreProc.cpp,
	  guilib/GUISVM.cpp, kernel/CombinedKernel.cpp,
	  kernel/HistogramWordKernel.cpp, kernel/Kernel.cpp,
	  kernel/LinearByteKernel.cpp, kernel/LinearCharKernel.cpp,
	  kernel/LinearKernel.cpp, kernel/LinearWordKernel.cpp,
	  kernel/LocalityImprovedCharKernel.cpp, kernel/PolyKernel.cpp,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SparseLinearKernel.cpp, kernel/SparsePolyKernel.cpp,
	  kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WordMatchKernel.cpp, lib/Cache.h, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/SimpleFile.h, lib/Time.cpp, lib/common.h,
	  lib/io.cpp, lib/io.h, preproc/PCACut.cpp, preproc/PCACut.h,
	  preproc/PreProc.cpp, preproc/PruneVarSubMean.cpp: +useful CIO
	  messages WARN/INFO/DEBUG/etc...
	  +configure to generate lib/config.h

2004-01-24  Soeren Sonnenburg, Gunnar Raetsch

	* configure: *** empty log message ***
	* .cpuinfo.c, Makefile, Makefile.env, README, TODO, classifier,
	  classifier/KNN.cpp, classifier/KNN.h,
	  classifier/PluginEstimate.cpp, classifier/PluginEstimate.h,
	  classifier/svm, classifier/svm/LibSVM.cpp,
	  classifier/svm/LibSVM.h, classifier/svm/Optimizer.cpp,
	  classifier/svm/Optimizer.h, classifier/svm/SVM.cpp,
	  classifier/svm/SVM.h, classifier/svm/SVM_libsvm.cpp,
	  classifier/svm/SVM_libsvm.h, classifier/svm/SVM_light.cpp,
	  classifier/svm/SVM_light.h, classifier/svm/pr_loqo.cpp,
	  classifier/svm/pr_loqo.h, classifier/svm_cplex,
	  classifier/svm_cplex/SVM_cplex.cpp,
	  classifier/svm_cplex/SVM_cplex.h,
	  classifier/svm_cplex/cplex_init_mex_interface.c,
	  classifier/svm_cplex/cplex_init_mex_interface.h,
	  classifier/svm_cplex/cplex_quit_mex_interface.c,
	  classifier/svm_cplex/cplex_quit_mex_interface.h,
	  classifier/svm_cplex/qp_solve_mex_interface.c,
	  classifier/svm_cplex/qp_solve_mex_interface.h,
	  classifier/svm_cplex/spdiag.c, classifier/svm_cplex/spdiag.h,
	  classifier/svm_cplex/test_it.m, classifier/svm_cplex/train_lpm.m,
	  classifier/svm_cplex/train_svm.c,
	  classifier/svm_cplex/train_svm.h,
	  classifier/svm_cplex/train_svm.m,
	  classifier/svm_cplex/train_svm_main.c, classifier/svm_mpi,
	  classifier/svm_mpi/bcache.h, classifier/svm_mpi/config.h,
	  classifier/svm_mpi/intpoint.h, classifier/svm_mpi/intpoint_mpi.h,
	  classifier/svm_mpi/libipallmpi.a,
	  classifier/svm_mpi/libipallmpi_linux.a, classifier/svm_mpi/mat.h,
	  classifier/svm_mpi/matlab_matrix.h, classifier/svm_mpi/matrix.h,
	  classifier/svm_mpi/mpi_base.cpp, classifier/svm_mpi/mpi_base.h,
	  classifier/svm_mpi/mpi_oneclass.cpp,
	  classifier/svm_mpi/mpi_oneclass.h,
	  classifier/svm_mpi/mpi_svm.cpp, classifier/svm_mpi/mpi_svm.h,
	  classifier/svm_mpi/optimizer.h, classifier/svm_mpi/tmwtypes.h,
	  classifier/svm_mpi/tt.m, configure, distributions,
	  distributions/Distribution.cpp, distributions/Distribution.h,
	  distributions/histogram, distributions/histogram/Histogram.cpp,
	  distributions/histogram/Histogram.h, distributions/hmm,
	  distributions/hmm/GHMM.cpp, distributions/hmm/GHMM.h,
	  distributions/hmm/HMM.cpp, distributions/hmm/HMM.h,
	  distributions/hmm/LinearHMM.cpp, distributions/hmm/LinearHMM.h,
	  features, features/ByteFeatures.cpp, features/ByteFeatures.h,
	  features/CharFeatures.cpp, features/CharFeatures.h,
	  features/CombinedFeatures.cpp, features/CombinedFeatures.h,
	  features/FKFeatures.cpp, features/FKFeatures.h,
	  features/Features.cpp, features/Features.h, features/Labels.cpp,
	  features/Labels.h, features/RealFeatures.cpp,
	  features/RealFeatures.h, features/RealFileFeatures.cpp,
	  features/RealFileFeatures.h, features/ShortFeatures.cpp,
	  features/ShortFeatures.h, features/SimpleFeatures.h,
	  features/SparseFeatures.h, features/SparseRealFeatures.cpp,
	  features/SparseRealFeatures.h, features/StringFeatures.cpp,
	  features/StringFeatures.h, features/TOPFeatures.cpp,
	  features/TOPFeatures.h, features/WordFeatures.cpp,
	  features/WordFeatures.h, gf.m, grad_descent,
	  grad_descent/brent.cpp, grad_descent/f1dim.cpp,
	  grad_descent/linmin.cpp, grad_descent/mnbrak.cpp,
	  grad_descent/nrutil.cpp, grad_descent/nrutil.h,
	  grad_descent/test.cpp, gui/GUI.h, gui/GeneFinder.cpp,
	  gui/Matlab.cpp, gui/TextGUI.cpp, gui/TextGUI.h, guilib,
	  guilib/GUIFeatures.cpp, guilib/GUIFeatures.h, guilib/GUIHMM.cpp,
	  guilib/GUIHMM.h, guilib/GUIKNN.cpp, guilib/GUIKNN.h,
	  guilib/GUIKernel.cpp, guilib/GUIKernel.h, guilib/GUILabels.cpp,
	  guilib/GUILabels.h, guilib/GUIMath.cpp, guilib/GUIMath.h,
	  guilib/GUIMatlab.cpp, guilib/GUIMatlab.h,
	  guilib/GUIPluginEstimate.cpp, guilib/GUIPluginEstimate.h,
	  guilib/GUIPreProc.cpp, guilib/GUIPreProc.h, guilib/GUISVM.cpp,
	  guilib/GUISVM.h, guilib/GUITime.cpp, guilib/GUITime.h, hmm,
	  kernel, kernel/ByteKernel.h, kernel/CharKernel.h,
	  kernel/CharPolyKernel.cpp, kernel/CharPolyKernel.h,
	  kernel/CombinedKernel.cpp, kernel/CombinedKernel.h,
	  kernel/CommWordKernel.cpp, kernel/CommWordKernel.h,
	  kernel/CommWordStringKernel.cpp, kernel/CommWordStringKernel.h,
	  kernel/FixedDegreeCharKernel.cpp, kernel/FixedDegreeCharKernel.h,
	  kernel/GaussianKernel.cpp, kernel/GaussianKernel.h,
	  kernel/HistogramWordKernel.cpp, kernel/HistogramWordKernel.h,
	  kernel/Kernel.cpp, kernel/Kernel.h, kernel/KernelMachine.cpp,
	  kernel/KernelMachine.h, kernel/LinearByteKernel.cpp,
	  kernel/LinearByteKernel.h, kernel/LinearCharKernel.cpp,
	  kernel/LinearCharKernel.h, kernel/LinearKernel.cpp,
	  kernel/LinearKernel.h, kernel/LinearWordKernel.cpp,
	  kernel/LinearWordKernel.h, kernel/LocalityImprovedCharKernel.cpp,
	  kernel/LocalityImprovedCharKernel.h, kernel/PolyKernel.cpp,
	  kernel/PolyKernel.h, kernel/PolyMatchWordKernel.cpp,
	  kernel/PolyMatchWordKernel.h, kernel/RealKernel.h,
	  kernel/SalzbergWordKernel.cpp, kernel/SalzbergWordKernel.h,
	  kernel/ShortKernel.h, kernel/SimpleKernel.h,
	  kernel/SimpleLocalityImprovedCharKernel.cpp,
	  kernel/SimpleLocalityImprovedCharKernel.h,
	  kernel/SparseGaussianKernel.cpp, kernel/SparseGaussianKernel.h,
	  kernel/SparseKernel.h, kernel/SparseLinearKernel.cpp,
	  kernel/SparseLinearKernel.h, kernel/SparseNormSquaredKernel.cpp,
	  kernel/SparseNormSquaredKernel.h, kernel/SparsePolyKernel.cpp,
	  kernel/SparsePolyKernel.h, kernel/SparseRealKernel.h,
	  kernel/StringKernel.h, kernel/WeightedDegreeCharKernel.cpp,
	  kernel/WeightedDegreeCharKernel.h,
	  kernel/WeightedDegreePositionCharKernel.cpp,
	  kernel/WeightedDegreePositionCharKernel.h, kernel/WordKernel.h,
	  kernel/WordMatchKernel.cpp, kernel/WordMatchKernel.h,
	  lib/Cache.h, lib/DynArray.h, lib/File.cpp, lib/File.h,
	  lib/List.h, lib/Mathmatics.cpp, lib/Mathmatics.h,
	  lib/Observation.cpp, lib/Observation.h, lib/Preprocessor.h,
	  lib/SimpleFile.h, lib/Time.cpp, lib/Time.h, lib/common.h,
	  lib/io.cpp, lib/io.h, lib/lapack.c, lib/lapack.h, preproc,
	  preproc/LogPlusOne.cpp, preproc/LogPlusOne.h,
	  preproc/NormDerivativeLem3.cpp, preproc/NormDerivativeLem3.h,
	  preproc/NormOne.cpp, preproc/NormOne.h, preproc/PCACut.cpp,
	  preproc/PCACut.h, preproc/PreProc.cpp, preproc/PreProc.h,
	  preproc/PruneVarSubMean.cpp, preproc/PruneVarSubMean.h,
	  preproc/RealPreProc.h, preproc/ShortPreProc.cpp,
	  preproc/ShortPreProc.h, preproc/SimplePreProc.h,
	  preproc/SortWord.cpp, preproc/SortWord.h,
	  preproc/SparsePreProc.h, preproc/WordPreProc.cpp,
	  preproc/WordPreProc.h, preproc/cleaner.c, preproc/cleaner.h,
	  preproc/cleaner.m, preproc/cleaner_main.c, svm/Optimizer.cpp,
	  svm/Optimizer.h, svm/SVM.cpp, svm/SVM.h, svm/SVM_light.cpp,
	  svm/SVM_light.h, svm/kernel.cpp, svm/kernel.h, svm/pr_loqo.cpp,
	  svm/pr_loqo.h, svm_cplex, tests/script2: merged unstable branch
	  into HEAD

2002-01-26  Soeren Sonnenburg, Gunnar Raetsch

	* lib/common.h: *** empty log message ***
	* Makefile, Makefile.env, lib/common.h: *** empty log message ***

2002-01-22  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile.env, svm/kernel.cpp: self introduced bug:
	  kernel cache now uses 100MB not 100*sizeof(CFLOAT) igrrg.

2002-01-21  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, hmm/HMM.cpp, hmm/HMM.h, svm/kernel.cpp:
	  der verdammte mist should(TM) work.

2002-01-20  Soeren Sonnenburg, Gunnar Raetsch

	* hmm/HMM.cpp: -added feature normalization ( norm(x)=1 ) , enable
	  with -DNORMALIZE_TO_ONE -DNORMALIZE_DERIVATIVE
	  -jaahau feature normalization, enable with -DNORMALIZE_DERIVATIVE
	  only
	  -special negative model bw training, enable with
	  -DNEGATIVE_MODEL_HACK

2002-01-16  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, lib/common.h, svm/SVM_light.cpp,
	  svm/kernel.cpp: -svm new/malloc races fixed
	  -b had wrong sign
	* svm/SVM_light.cpp, svm/kernel.cpp, svm/kernel.h: debugging the
	  svm
	* gui/GeneFinder.cpp, hmm/HMM.cpp, hmm/HMM.h, svm/kernel.cpp,
	  svm/kernel.h: added
	  save_features <filename>
	  save_kernel <filename> <FK|TOP>

2002-01-15  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, gui/GeneFinder.cpp, svm/SVM_light.cpp, svm/SVM_light.h,
	  svm/kernel.cpp, svm/kernel.h: - added save_top_kernel <file>.
	  since this is more or less straight forward
	  (although I had to move some functions from svm to kernel) it
	  *should* work.

2002-01-09  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, hmm/HMM.cpp: copy'n'paste bugfix in linear_likelihood
	* Makefile, gui/GeneFinder.cpp, hmm/HMM.cpp: fyab (fixed yet
	  another bug):
	  
	  MAX_M - stands for the the representation of M in bit, i.e. for
	  M==4 MAX_M=2
	  it is *NOT* sizeof(M) nor 8*sizeof(M)
	* Makefile, gui/GeneFinder.cpp, hmm/HMM.cpp, lib/Observation.h:
	  -still bugfixing - mist verdammter.
	* Makefile, gui/GeneFinder.cpp: linear higher order (WORK IN
	  PROGRESS)

2002-01-08  Soeren Sonnenburg, Gunnar Raetsch

	* svm/SVM_light.cpp: arg I mean 5e-4
	* Makefile, hmm/HMM.cpp, svm/SVM_light.cpp: -svm epsilon 5e-5
	* Makefile, gui/GeneFinder.cpp, lib/Mathmatics.h: -kill observation
	  @ linear train
	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp,
	  lib/Mathmatics.cpp, lib/Mathmatics.h: -infty now is 1e11, more
	  finite check in logsum (fixes nan conditions)
	  -alpha makefile adjustments

2002-01-07  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, hmm/HMM.cpp, svm/kernel.cpp: -fixed some
	  unitialized memory-reads
	  -> there are some in SVM_LIGHT (our fault ?)

2002-01-06  Soeren Sonnenburg, Gunnar Raetsch

	* hmm/HMM.cpp, svm/SVM_light.cpp: - SVM convergence 1e-5
	  - mem leak fixes (?)
	* Makefile, gui/GeneFinder.cpp, hmm/HMM.cpp, hmm/HMM.h: - fixed
	  nasty bug in add_states
	  - fixes in append_model
	  - fixes in alloc_state_dep...
	  -> testing now

2002-01-05  Soeren Sonnenburg, Gunnar Raetsch

	* hmm/HMM.cpp, hmm/HMM.h: adding append_model
	* hmm/HMM.cpp: some more FLOATING POINT EXCEPTION fixes in
	  load_model,etc.

2002-01-02  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, hmm/HMM.cpp, lib/Mathmatics.cpp: - fixed
	  a bug in qsort (pivot element was sometimes taken from the right
	  array bound)
	  - make debug now uses dbx on alpha
	  - add_state initializes values in the range 1e-2 - 2e-1 (for now)

2001-12-31  Soeren Sonnenburg, Gunnar Raetsch

	* hmm/HMM.cpp: alloc_... fixes
	  set_observations(xxx, NULL) is required now (everything else
	  crashes) -> FIXME!
	  the memory allocation/freing stuff should be rewritten -> EXTRA
	  CLASS CACHE,
	  the way it is at the moment makes all additions somewhat painful.
	* Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp, hmm/HMM.h: time to
	  check add_state on the cluster

2001-12-30  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, hmm/HMM.cpp, hmm/HMM.h: add_state *work in progress*
	* Makefile, Makefile.env, hmm/HMM.cpp, hmm/HMM.h: -Floating Point
	  exception on load_model fixed
	  -makefile adjusted for sc - APAC

2001-12-22  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, hmm/HMM.cpp, hmm/HMM.h: it at least
	  compiles now.
	* hmm/HMM.cpp, hmm/HMM.h: DONT USE

2001-12-13  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile.env, hmm/HMM.cpp, hmm/HMM.h, lib/Mathmatics.h: parallel
	  improvements.
	  work in progress

2001-12-12  Soeren Sonnenburg, Gunnar Raetsch

	* gui/GeneFinder.cpp, hmm/HMM.cpp, hmm/HMM.h: one_class_hmm_test
	  one_class_linear_hmm_test
	  +few fixes

2001-11-30  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile.env, hmm/HMM.h: sqrt(1/n) only in model_probability(-1)

2001-11-29  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp,
	  lib/Mathmatics.h: bugfixes in Makefile and hopefully last in HMM

2001-11-26  Soeren Sonnenburg, Gunnar Raetsch

	* svm/SVM_light.cpp: *** empty log message ***
	* svm/SVM_light.cpp: *** empty log message ***

2001-11-22  Soeren Sonnenburg, Gunnar Raetsch

	* hmm/HMM.cpp: try
	  bw
	  it gives you forward/backward variables in matlab format

2001-11-21  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile.env: *** empty log message ***
	* Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp, lib/common.h:
	  grmpf

2001-11-20  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, gui/GeneFinder.cpp, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/common.h, svm/SVM_light.cpp: log_table
	  autoinit / new define NO_LOG_TABLE added
	  REAL <-> double,float fixes

2001-11-19  Soeren Sonnenburg, Gunnar Raetsch

	* gui/GeneFinder.cpp, hmm/HMM.cpp, hmm/HMM.h, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/Observation.cpp, lib/Observation.h,
	  lib/common.h, lib/io.cpp, lib/io.h, svm/Optimizer.cpp,
	  svm/SVM_light.cpp, svm/kernel.cpp, svm/pr_loqo.cpp,
	  svm_cplex/SVM_cplex.cpp: -bugfixes and cleanups
	  -REPLACE of printf() !!!
	  use
	  CIO::message("na klar %s", "soeren");
	  or CIO::message(file, "na klar %s", "soeren");

2001-11-18  Soeren Sonnenburg, Gunnar Raetsch

	* hmm/HMM.cpp, lib/Mathmatics.cpp, svm/SVM_light.cpp,
	  svm/SVM_light.h, svm/kernel.cpp: bugfixes

2001-11-16  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp: bug
	  fixes.
	* Makefile.env: *** empty log message ***
	* Makefile.env, hmm/HMM.cpp: *** empty log message ***
	* svm/SVM_light.cpp: *** empty log message ***
	* svm/SVM_light.cpp: *** empty log message ***
	* Makefile, Makefile.env, hmm/HMM.cpp, svm/SVM_light.cpp,
	  tests/test_it.scr, tests/test_it2.scr: *** empty log message ***
	* Makefile, gui/GeneFinder.cpp: *** empty log message ***
	* svm/SVM_light.cpp: *** empty log message ***

2001-11-15  Soeren Sonnenburg, Gunnar Raetsch

	* hmm/HMM.h, tests/test_it.scr: *** empty log message ***
	* tests/test_it.scr: *** empty log message ***
	* svm/SVM_light.cpp: disabled svm_cache
	  to enable define KERNEL_CACHE
	* Makefile: *** empty log message ***
	* hmm/HMM.cpp, hmm/HMM.h, tests/script2: *** empty log message ***
	* hmm/HMM.cpp: *** empty log message ***
	* Makefile.env, hmm/HMM.cpp, hmm/HMM.h, tests, tests/script2: ***
	  empty log message ***
	* gui/GeneFinder.cpp, hmm/HMM.cpp, hmm/HMM.h, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/Observation.cpp: merged version with fancy
	  caching, results to follow !!!
	* Makefile.env, hmm/HMM.cpp: *** empty log message ***
	* Makefile.env, hmm/HMM.cpp: *** empty log message ***
	* hmm/HMM.cpp, hmm/HMM.h, lib/common.h: made threads more dynamic
	  G
	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp,
	  hmm/HMM.h, lib/Mathmatics.h, svm/kernel.cpp,
	  svm_cplex/cplex_init_mex_interface.c,
	  svm_cplex/cplex_quit_mex_interface.c: *** empty log message ***

2001-11-14  Soeren Sonnenburg, Gunnar Raetsch

	* gui/GeneFinder.cpp, hmm/HMM.cpp, hmm/HMM.h, lib/Mathmatics.cpp:
	  es geht nun cplex+svm_light zusammen, und very useful
	  top_feature_cache stays in memory until invalid
	  ---> training svms' with several C's goes in one abwasch.
	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp,
	  hmm/HMM.h, svm/SVM_light.cpp, svm/SVM_light.h, svm/kernel.cpp:
	  FOUND THE BUG. a stupid flcose() in write_model :`-(
	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp,
	  lib/Mathmatics.cpp, lib/Observation.cpp, svm/SVM_light.cpp,
	  svm/SVM_light.h, svm/pr_loqo.cpp: *** empty log message ***
	* lib/Observation.cpp: *** empty log message ***

2001-11-13  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp,
	  svm/SVM_light.cpp: added comments to genefinder scripts, use % or
	  # for them.
	  slight Makefile HMM fixes.
	* Makefile, Makefile.env, gui/GeneFinder.cpp: there is an
	  INCLUDE_AUSTRALIA now !
	* Makefile, Makefile.env, gui/GeneFinder.cpp,
	  svm_cplex/SVM_cplex.cpp, svm_cplex/SVM_cplex.h,
	  svm_cplex/cplex_init_mex_interface.c,
	  svm_cplex/cplex_quit_mex_interface.c,
	  svm_cplex/qp_solve_mex_interface.c, svm_cplex/spdiag.c,
	  svm_cplex/train_svm.c, svm_cplex/train_svm_main.c: *** empty log
	  message ***
	* gui/GeneFinder.cpp, hmm/HMM.cpp, svm/kernel.cpp,
	  svm_cplex/SVM_cplex.cpp: gunnar approved kernel included.
	* Makefile.env: *** empty log message ***
	* Makefile, hmm/HMM.h, svm/SVM_light.cpp, svm_cplex/SVM_cplex.cpp:
	  *** empty log message ***

2001-11-12  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, Makefile.env, gui/GeneFinder.cpp, lib/Mathmatics.cpp,
	  svm/SVM_light.cpp, svm/SVM_light.h, svm/kernel.cpp: it is still
	  broken :`-(((
	  CPLEX takes extremely long :-(
	  Grmpf.
	* Makefile, Makefile.deb, Makefile.env, gui/GeneFinder.cpp:
	  Makefile cleanup
	* Makefile, gui/GeneFinder.cpp, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, svm/SVM.cpp, svm/SVM.h, svm/SVM_light.cpp,
	  svm/SVM_light.h, svm_cplex/SVM_cplex.cpp, svm_cplex/SVM_cplex.h:
	  work in progress
	* Makefile.deb: *** empty log message ***
	* Makefile, Makefile.deb: *** empty log message ***
	* Makefile, Makefile.deb, Makefile.env, gui/GeneFinder.cpp,
	  lib/Mathmatics.cpp, svm/SVM.cpp, svm/SVM.h, svm/SVM_light.cpp,
	  svm/SVM_light.h, svm/kernel.cpp, svm/kernel.h, svm/svm_learn.h,
	  svm_cplex/train_svm_main.c: *** empty log message ***
	* svm/SVM_light.cpp, svm/SVM_light.h, svm_cplex/SVM_cplex.h: ***
	  empty log message ***
	* svm_cplex, svm_cplex/SVM_cplex.cpp, svm_cplex/SVM_cplex.h,
	  svm_cplex/cplex_init_mex_interface.c,
	  svm_cplex/cplex_init_mex_interface.h,
	  svm_cplex/cplex_quit_mex_interface.c,
	  svm_cplex/cplex_quit_mex_interface.h,
	  svm_cplex/qp_solve_mex_interface.c,
	  svm_cplex/qp_solve_mex_interface.h, svm_cplex/spdiag.c,
	  svm_cplex/spdiag.h, svm_cplex/test_it.m, svm_cplex/train_lpm.m,
	  svm_cplex/train_svm.c, svm_cplex/train_svm.h,
	  svm_cplex/train_svm.m, svm_cplex/train_svm_main.c: *** empty log
	  message ***
	* Makefile, Makefile.env, gui/GeneFinder.cpp, hmm/HMM.cpp,
	  hmm/HMM.h, lib/Mathmatics.h, lib/Observation.cpp,
	  lib/Observation.h, lib/common.h, svm/Optimizer.cpp,
	  svm/Optimizer.h, svm/SVM.cpp, svm/SVM.h, svm/kernel.cpp,
	  svm/kernel.h, svm/svm_common.cpp, svm/svm_common.h,
	  svm/svm_learn.cpp, svm/svm_learn.h, svm/svm_loqo.cpp: rather BIG
	  changes:
	  
	  1. OO'ed SVM, i.e. svm_common.* svm_learn.* went into SVM.{cpp,h}
	  2. added groovy compute_top_feature_cache function to HMM which
	  increases speed at least 100 (!) times
	  3. removed buggy -fastmath from Makefile.env (Oops it was on...)
	  4. fixed kernel in general (it returns 0 for observation indices
	  <0)
	  5. top_kernel *should* be correct now. processing works as
	  follows:
	  5.1. if there is enough memory cached_top_kernel will be used
	  5.2. else fallback to veryslowandthereforeunusable top_kernel is
	  used (same scheme that has been applied to hmms and
	  alphabetacache
	  ...
	  42. hopefully introduced some fancy bugs.

2001-10-23  Soeren Sonnenburg, Gunnar Raetsch

	* svm/svm_learn.cpp: limited nr. of iterations of SVM to 5000
	  (since some models did not converge after 2 million it)

2001-10-22  Soeren Sonnenburg, Gunnar Raetsch

	* Makefile, gui/GeneFinder.cpp, svm/SVM.cpp, svm/SVM.h: added c
	  option for SVM
	  added matlab dir with hmm visualization scripts
	* ., Makefile, Makefile.env, gui, gui/GeneFinder.cpp, hmm,
	  hmm/HMM.cpp, hmm/HMM.h, lib, lib/Mathmatics.cpp,
	  lib/Mathmatics.h, lib/Observation.cpp, lib/Observation.h,
	  lib/common.h, svm, svm/SVM.cpp, svm/SVM.h, svm/kernel.cpp,
	  svm/kernel.h, svm/pr_loqo.cpp, svm/pr_loqo.h, svm/svm_common.cpp,
	  svm/svm_common.h, svm/svm_learn.cpp, svm/svm_learn.h,
	  svm/svm_loqo.cpp: *** empty log message ***

