commit 682cd3c27864ba6d67ca81890760a5f697f21d63 Author: Keir Mierle Date: Tue Sep 3 14:28:32 2013 -0700 Update version history with shared libs changes Change-Id: Iafd55087bc5eef4c15c3b544222147aa99df7690 commit 340d7c1415f144ca335ec1e87832c3f41d5d515b Author: Keir Mierle Date: Tue Sep 3 13:50:03 2013 -0700 Update version history with miniglog fix Change-Id: Ic69f4994259e05fa88548b957146a1aac73b7af7 commit ac061c0f2334868e671f26d24e34a14c77fac716 Author: Keir Mierle Date: Tue Sep 3 13:03:28 2013 -0700 Cleanups in logging.h Thanks to Scott Ettinger for the patch this is based off of, which restores the NDK build. Change-Id: I8036dc1388438a4940e6f4ae297162902afd8d3a commit 0338f9a8e69582a550ef6d128e447779536d623c Author: Sameer Agarwal Date: Mon Sep 2 22:28:40 2013 -0700 ITERATIVE_SCHUR works with no f-blocks. When the Schur complement is of size zero, i.e. none of the parameter blocks interact with each other, the ITERATIVE_SCHUR linear solver crashes due to some checks that are triggered in the SCHUR_JACOBI preconditioner. This patch adds logic to detect this condition and to deal with it and adds tests that verify the fix. Thanks to Soohyun Bae for reporting this bug. Change-Id: If29ddf32463cbb1960414fff0e29bbf0d2ee7989 commit 263de47419167786c9ab6d93fa2f3e32e8e75fe1 Author: Taylor Braun-Jones Date: Thu Aug 29 10:33:29 2013 -0400 Incorporate RHEL build fixes from Brian Pitts CMake build fixed so that versioned shared libraries are installed (along with .so symlinks) Change-Id: Ibbaea9d37d17754cb8c3cd36fc17d015ca7d2a57 commit 6b4131993ec0db6c850bb2ae07ba8793dbab3e39 Author: Sameer Agarwal Date: Mon Aug 26 00:02:50 2013 -0700 Update spec file Change-Id: Id6426d7cad41cde2cbab411964ac013d724a066c commit c24a4ec6fb6202d1f6a576f211b99fbe9c9906ef Author: Sameer Agarwal Date: Fri Aug 23 06:49:22 2013 -0700 Cmake refactoring 1. Use CMake FindLAPACK and FindBLAS Modules. 2. Remove SEARCH_HEADERS and SEARCH_LIBS and replace them with CMAKE variables. This leads to simplification of the FIND_LIBRARY and FIND_PATH calls. 3. Make miniglog a fallback when glog is not present and the user indicates MINIGLOG=OFF. 4. Add time.h to miniglog. 5. Remove shared library building. Change-Id: I8a97156d3d7cf645fbbfe8e571761bc16c89f43f commit 48e9cd31db0bf7223beb83cdc90e3cd2b5aad054 Author: Sameer Agarwal Date: Wed Aug 21 10:55:16 2013 -0700 Add a test name Change-Id: I06dfc9cad2c54ef6078342766577eab92645283f commit 126dfbe27df9c5b9f41cf7cc92b75c1219518283 Author: Sameer Agarwal Date: Tue Aug 20 22:34:34 2013 -0700 Fix how Ceres calls CAMD. CAMD requires that the id of the largest numbered elimination group be less than the number of columns in the matrix. This patch ensures that this is the case. Without this, in certain cases its possible for CAMD to silently fail while doing out of bounds access and then causing Ceres to fail. Also add some logging about the problem size before and after the reduced program has been created. Change-Id: I0ea3c6572a7c29cbbf09afec9ba5b4f4d4b21a9b commit 69af5d8b4d7c48b2efa3c61e51c86cfa1b380b8a Author: Sameer Agarwal Date: Tue Aug 20 13:58:59 2013 -0700 Add comments to trust_region_minimizer.cc. trust_region_minimizer.cc now contains a comment that explains the reasoning behind he inner iteration step acceptance change. Change-Id: I4eaa69d6bab92c543bba3f119c09f44625d393bd commit e45db9d05aaa26b1ddffa44c9190a1018aa2655f Author: Sameer Agarwal Date: Mon Aug 19 23:13:29 2013 -0700 Improve inner iteration step acceptance. Normally, in a trust region algorithm the quality of a trust region step is measured by the ratio nonlinear_cost_change r = --------------------- model_cost_change All the change in the nonlinear objective is due to the trust region step so this ratio is a good measure of the quality of the trust region radius. However, when inner iterations are being used, nonlinear_cost_change includes the contribution of the inner iterations and its not fair to credit it all to the trust region algorithm. So we change the ratio to be nonlinear_cost_change r = ------------------------------------------------ (model_cost_change + inner_iteration_cost_change) In most cases this is fine, but it can be the case that the change in solution quality due to inner iterations is so large and the trust region step is so bad, that this ratio can become quite small. This can cause the trust region loop to reject this step. This change, fixes this problem by looking at the inner_iteration_cost_change explicitly and accepting a step if the inner iterations led to a net decrease in the objective function value. Along the way it also fixes the way model_cost_change is computed. Changing to a more numerically robust way of computing it. The last and final change is to ensure that inner iterations and the non-monotonic version of the trust region algorithm interact correctly. This addresses part 2 of https://code.google.com/p/ceres-solver/issues/detail?id=115 As an illustration of the change. Before this change [master] build: ./bin/bundle_adjuster --input ~/Downloads/problem-245-198739-pre.txt -num_iterations 10 -translation_sigma 0.01 -rotation_sigma 0.001 -point_sigma 0.1 -inner_iterations -num_threads 4 0: f: 7.731660e+15 d: 0.00e+00 g: 3.51e+12 h: 0.00e+00 rho: 0.00e+00 mu: 1.00e+04 li: 0 it: 5.87e-01 tt: 9.37e+00 1: f: 7.731660e+15 d: 7.73e+15 g: 0.00e+00 h: 1.20e+10 rho: 2.43e-11 mu: 5.00e+03 li: 1 it: 1.41e+01 tt: 2.35e+01 2: f: 7.731660e+15 d: 7.73e+15 g: 0.00e+00 h: 1.25e+10 rho: 1.70e-07 mu: 1.25e+03 li: 1 it: 1.86e+01 tt: 4.22e+01 3: f: 7.731660e+15 d:-2.39e+40 g: 0.00e+00 h: 3.53e+10 rho:-2.63e-13 mu: 1.56e+02 li: 1 it: 3.35e+01 tt: 7.57e+01 4: f: 7.731660e+15 d:-1.66e+39 g: 0.00e+00 h: 1.21e+11 rho:-6.58e-15 mu: 9.77e+00 li: 1 it: 3.86e+01 tt: 1.14e+02 5: f: 7.731660e+15 d:-3.57e+55 g: 0.00e+00 h: 5.00e+12 rho:-1.89e-14 mu: 3.05e-01 li: 1 it: 3.84e+01 tt: 1.53e+02 6: f: 7.731660e+15 d:-2.26e+35 g: 0.00e+00 h: 3.82e+12 rho:-1.77e-20 mu: 4.77e-03 li: 1 it: 3.45e+01 tt: 1.87e+02 7: f: 7.731660e+15 d:-5.31e+19 g: 0.00e+00 h: 1.22e+11 rho:-9.96e-21 mu: 3.73e-05 li: 1 it: 2.77e+01 tt: 2.15e+02 8: f: 1.784990e+08 d: 7.73e+15 g: 4.13e+07 h: 1.20e+10 rho: 1.00e+00 mu: 1.12e-04 li: 1 it: 1.13e+01 tt: 2.26e+02 9: f: 1.524025e+08 d: 2.61e+07 g: 5.81e+10 h: 2.41e+08 rho: 1.00e+00 mu: 3.35e-04 li: 1 it: 1.13e+01 tt: 2.37e+02 10: f: 1.488524e+08 d: 3.55e+06 g: 2.79e+09 h: 5.01e+08 rho: 1.00e+00 mu: 1.01e-03 li: 1 it: 1.09e+01 tt: 2.48e+02 After this change [inner] build: ./bin/bundle_adjuster --input ~/Downloads/problem-245-198739-pre.txt -num_iterations 10 -translation_sigma 0.01 -rotation_sigma 0.001 -point_sigma 0.1 -inner_iterations -num_threads 4 0: f: 7.731660e+15 d: 0.00e+00 g: 3.51e+12 h: 0.00e+00 rho: 0.00e+00 mu: 1.00e+04 li: 0 it: 5.66e-01 tt: 9.31e+00 1: f: 5.941477e+09 d: 7.73e+15 g: 1.20e+18 h: 1.20e+10 rho: 2.43e-11 mu: 5.00e+03 li: 1 it: 1.38e+01 tt: 2.32e+01 2: f: 3.341986e+08 d: 5.61e+09 g: 1.42e+14 h: 1.37e+09 rho: 9.38e-08 mu: 2.50e+03 li: 1 it: 1.30e+01 tt: 3.61e+01 3: f: 3.241492e+08 d: 1.00e+07 g: 3.64e+13 h: 8.26e+08 rho: 6.12e-08 mu: 1.25e+03 li: 1 it: 1.15e+01 tt: 4.77e+01 4: f: 3.152280e+08 d: 8.92e+06 g: 2.02e+13 h: 2.95e+08 rho: 1.56e-05 mu: 6.25e+02 li: 1 it: 1.11e+01 tt: 5.88e+01 5: f: 3.078535e+08 d: 7.37e+06 g: 9.72e+12 h: 4.57e+08 rho: 6.55e-09 mu: 3.13e+02 li: 1 it: 1.16e+01 tt: 7.04e+01 6: f: 3.025353e+08 d: 5.32e+06 g: 1.33e+13 h: 2.14e+08 rho: 7.21e-01 mu: 3.42e+02 li: 1 it: 1.14e+01 tt: 8.18e+01 7: f: 2.908298e+08 d: 1.17e+07 g: 5.97e+12 h: 7.25e+08 rho: 5.73e-01 mu: 3.43e+02 li: 1 it: 1.08e+01 tt: 9.26e+01 8: f: 2.803927e+08 d: 1.04e+07 g: 1.07e+12 h: 9.72e+07 rho: 5.27e-01 mu: 3.43e+02 li: 1 it: 1.03e+01 tt: 1.03e+02 9: f: 2.767074e+08 d: 3.69e+06 g: 2.10e+11 h: 7.35e+07 rho: 7.37e-01 mu: 3.84e+02 li: 1 it: 1.03e+01 tt: 1.13e+02 10: f: 2.744282e+08 d: 2.28e+06 g: 2.17e+11 h: 1.23e+08 rho: 3.11e-01 mu: 3.64e+02 li: 1 it: 9.61e+00 tt: 1.23e+02 Change-Id: I7c3b132f7ce62719795bfa489ec2276d0455cc97 commit 3e6ef29be6f3cd672a73cefb52838832a49e5427 Author: Sameer Agarwal Date: Tue Aug 20 09:53:54 2013 -0700 Update version history to reflect API changes Change-Id: I5ce744d72b991abba17b5cf9c6a1e1f158693151 commit 1918453aeeae629be1f02eb333e91c4f728ace12 Author: Sameer Agarwal Date: Mon Aug 19 14:15:48 2013 -0700 Fix build breakage on old SuiteSparse. Errant semi colon is to blame. Thanks to Timothy Langlois for reporting this. Change-Id: I57bb1cd69d78ab1897ead3627539a0da11b97455 commit 8f33332c598d8209df73eb1c729e0abe2c890468 Author: Sameer Agarwal Date: Sun Aug 18 23:25:00 2013 -0700 Documentation update for 1.7.0rc2 Change-Id: I6b0c19bed57b51a0f6591c60a4ae0d849c62451b commit ad2819a1afa94990022999a96eb158add68419e0 Author: Sameer Agarwal Date: Sat Aug 17 23:44:09 2013 -0700 Fix breakage on old versions of SuiteSparse. Thanks to Fisher Yu for reporting this. Change-Id: Iefa89816cbb60e3512338a7c2a65655c017877ac commit 880cba0939b2caa2641a5752373ffd47b64edd0f Author: Petter Strandmark Date: Fri Aug 16 20:05:30 2013 +0200 Fix warning C4373 in Visual Studio The warning occurs because an overridden function added a const to one argument. Change-Id: Idd24f7c6ab60064747104bfc75ae9bf112f61b3e commit d61b68aaac3fa51b8fca8b1a268e83b0d5da01ea Author: Sameer Agarwal Date: Fri Aug 16 17:02:56 2013 -0700 Lint cleanups from William Rucklidge Change-Id: Ia4756ef97e65837d55838ee0b30806a234565bfd commit b22d063075ec545a59a25abd5d83e4642dc329c2 Author: Sameer Agarwal Date: Thu Aug 15 22:55:23 2013 -0700 Reduce memory usage in covariance estimation. When using the SPARSE_QR algorithm, now a Q-less factorization is used. This results in significantly less memory usage. The inversion of the semi-normal equations is now threaded using openmp. Indeed if one has SuiteSparse compiled with TBB, then both the factorization and the inversion are completely threaded. Change-Id: Ia07591e48e7958d427ef91ff9e67662f6e982c21 commit f258e4624f5bd86105ea28b9b92dd70a3f4a3a44 Author: Sergey Sharybin Date: Thu Aug 15 14:50:08 2013 +0600 Move most of suitesparse/cxsparse ifdef code to their headers Main purpose of this is to make implementation files free from endless ifdef blocks every time this libraries are needed to be included. This would hopefully prevent compilation errors in the future caused by missing ifdef around header include. This also includes some stubs added to suitesparse/cxsparse headers to make code even more free from ifdefs. Change-Id: Ic8554e7df31d8c4751583fe004b99e71b3c9087b commit dc60d9c4519b5eb5e2cff8741680fecf4d6eb2c5 Author: Sameer Agarwal Date: Thu Aug 15 10:13:45 2013 -0700 Fix broken android build. Change-Id: I6f27e3ef9bd678f7393c9f573491064978e9c368 commit 367b65e17a541a9f29b9ea63682fe6f6b5b54074 Author: Sameer Agarwal Date: Fri Aug 9 10:35:37 2013 -0700 Multiple dense linear algebra backends. 1. When a LAPACK implementation is present, then DENSE_QR, DENSE_NORMAL_CHOLESKY and DENSE_SCHUR can use it for doing dense linear algebra operations. 2. The user can switch dense linear algebra libraries by setting Solver::Options::dense_linear_algebra_library_type. 3. Solver::Options::sparse_linear_algebra_library is now Solver::Options::sparse_linear_algebra_library_type to be consistent with all the other enums in Solver::Options. 4. Updated documentation as well as Solver::Summary::FullReport to reflect these changes. Change-Id: I5ab930bc15e90906b648bc399b551e6bd5d6498f commit 080d1d04bdf722c3f602833c4c07ac1c5d26fcc0 Author: Sameer Agarwal Date: Mon Aug 12 16:28:37 2013 -0700 Use more performant, less conservative Eigen solvers. colPivHouseholderQR -> householderQR ldlt -> llt. The resulting performance differences are significant enough to justify switching. LAPACK's dgels routine used for solving linear least squares problems does not use pivoting either. Similarly, we are not actually using the fact that the matrix being factorized can be indefinite when using LDLT factorization, so its not clear that the performance hit is worth it. These two changes result in Eigen being able to use blocking algorithms, which for Cholesky factorization, brings the performance closer to hardware optimized LAPACK. Similarly for dense QR factorization, on intel there is a 2x speedup. Change-Id: I4459ee0fc8eb87d58e2b299dfaa9e656d539dc5e commit fb465a03b83fad2dceaea091ee3763c3dc6e83d2 Author: Sergey Sharybin Date: Mon Aug 5 22:35:14 2013 -0700 Fix compilation error caused by missing suitesparse headers Covariance implementation file used to unconditionally include SuiteSparseQR.hpp which caused compilation error in cases you don't have SuiteSuite installed to the system Moved the include to #ifdef block. Change-Id: I3a52c0f81711b2b70ae625fe80b758ecb0817cc6 commit 2460bf0733b4070e52d68a4a85046c1b20913e2c Author: Steven Lovegrove Date: Sun Jul 21 13:13:11 2013 -0400 Check GCC Version before adding -fast compiler option on OSX. -fast compiler option is only supported using Apple's GCC packaged with XCode. Other GCC versions will fail when this flag is enabled. This commit checks the GCC version on OSX and only enables this flag when < 4.3. Apple's GCC is currently 4.2.1 and a user is unlikely to install a non-apple version this old on OSX. Change-Id: Ifca9149625c065cd16559d7e30c218a322cf79aa commit c5bcfc01af37b4f667be075c3c58dc024f3c7f06 Author: Sameer Agarwal Date: Fri Jul 19 15:50:27 2013 -0700 Lint fixes from Jim Roseborough. Change-Id: If93e1972041b36410225a509e3c8c7c818f92124 commit 16924168ce0b3e29d9b1e16a08d2b3d2930e017a Author: Sameer Agarwal Date: Thu Jul 18 12:52:35 2013 -0700 Update version from 1.6.0 -> 1.7.0rc1. Change-Id: I420a8907142bffad0e3aa6c7196541ca2309c099 commit 588228bdadcc0a1ffc55442a0672998241e53e09 Author: Sameer Agarwal Date: Thu Jul 18 11:29:19 2013 -0700 Add the ability to turn shared library compilation on and off Change-Id: Ib9eacfbc894bb2b66aafff3b930c63e2ad8a555e commit 6d93450cb563dc992cbc29ca069c886bf24bb458 Author: Sameer Agarwal Date: Thu Jul 18 11:08:07 2013 -0700 Fix build breakage on old versions of SuiteSparse. SuiteSparse_long is only defined in recent versions of SuiteSparse as the index variable type for large matrices. In older versions UF_long was used. Ubuntu still ships with an older version of SuiteSparse, so an ifdef is needed to fix the build. This patch has been tested on mac and on linux with older and newer versions of SuiteSparse. Change-Id: I4ada86d7973784a79bde4afec13ce3ca4e8dc225 commit 42be9cafe6203745fb09d611773305433c117396 Author: Sameer Agarwal Date: Thu Jul 18 08:02:08 2013 -0700 Update documentation for Covariance Change-Id: Ia4a7347ef8267b7107698d85fcbfc986111958dc commit 5a974716e111e4aa87a4840902b957060bd644fc Author: Sameer Agarwal Date: Fri Jun 7 22:38:30 2013 -0700 Covariance estimation using SuiteSparseQR. Change-Id: I70d1686e3288fdde5f9723e832e15ffb857d6d85 commit 719889b8b7a3ef6712516d169a4ce3a33d272fda Author: Sameer Agarwal Date: Wed Jul 17 11:31:08 2013 -0700 Minor fixes 1. Typo in c_api.h 2. The stream operator for FunctionSample is now in the ceres::internal namespace. Change-Id: Id927a7a49c47d8903505535749ecca78cd2e83b3 commit 12cc164f79bb8a31e0eb3946e6f4898ac3c21c55 Author: Alex Stewart Date: Wed Jul 17 12:08:33 2013 +0100 Minor fix to reject a line search config with negative L-BFGS rank. Change-Id: Iad4c678efe574ef6696c34bd2a0ce61a504c7344 commit 9aa0e3cf7243a2e837bbfa22d4677010463f6a4e Author: Alex Stewart Date: Fri Jul 5 20:22:37 2013 +0100 Adding Wolfe line search algorithm and full BFGS search direction options. Change-Id: I9d3fb117805bdfa5bc33613368f45ae8f10e0d79 commit 51c772c843ccecca006c706a9f64b8cbaf5416f9 Author: Sameer Agarwal Date: Tue Jul 16 16:42:52 2013 -0700 householderQR -> colPivHouseholderQR. Change-Id: Ida623e853711f665e7a9d3b140a93e861591f96d commit c2c6411d16db95cde0cc3a7a80bac87266234bb7 Author: Sameer Agarwal Date: Sat Jul 13 18:47:49 2013 -0700 DENSE_QR solver now uses non pivoting QR decomposition. Change-Id: I9099221448ccf71d0de20b9f652405009a6c24c5 commit 3c2ad4018c8d2271434b9ff2bd05437b96f4927c Author: Sameer Agarwal Date: Mon Jul 15 08:09:38 2013 -0700 Speed up Automatic differentiation by 7%. 1. Templatize Make1stOrderPerturbation. 2. Convert a hard CHECK into DCHECK. Change-Id: I02cd67f2b87bc5722f1a090057d55f23e98d2c3b commit 0a07fbf8731adcdce98c8e73127d379199341132 Author: Sameer Agarwal Date: Wed Jul 10 11:57:35 2013 -0700 Use ATLAS as the example BLAS in building.rst OpenBLAS has subtle issues releated to threading. It conflicts with the use of threads in the other parts of the application. Careful users can still use it by disabling threads via an environment variable, but by default we want to use a BLAS/LAPACK that does not suffer from these problems. Change-Id: I8c1c0ed0b526453564c5f9ea69b646fac32fe027 commit aee5597acf9c2c064977e937f52689254ebd1a39 Author: Sameer Agarwal Date: Tue Jul 9 23:30:07 2013 -0700 Minor fix to curve_fitting.c Change-Id: Ib3669a5c4c73178b088dc1e80141f844f807b179 commit bd82f82c3afeb3c57fa03f61fdbb0388f9ed8b02 Author: Sameer Agarwal Date: Tue Jul 9 23:19:09 2013 -0700 More CMake file cleanup. Reduce the verbosity of the Cmake file. All the "Checking for" messages have been removed since we log both success and failures. Further, UFConfig is only searched for if SuiteSparse_config cannot be found. Change-Id: I601a6ffc808e566ff78ce232c86519ef413f0b33 commit 9f4552b6475616df7e60681e60cd5afebb45a4ea Author: Sameer Agarwal Date: Tue Jul 9 00:10:08 2013 -0700 Stop CMake from trying to detect OpenMP when using Clang. Change-Id: Ie14c6466475b401ba35dbf13adc2e8701999c969 commit 6e8bd501b25dc308df7b1a5eed16edfd8442002e Author: Keir Mierle Date: Thu May 23 01:49:08 2013 -0700 Extend the C API to support loss functions This extends the C API to support loss functions. Both user-supplied cost functions as well as the stock Ceres cost functions (Cauchy, Huber, etc) are supported. In addition, this adds a simple unit test for the C API. Supporting loss functions required changing the signature of the ceres_add_residual_block() function to also take a thunk for the loss function. Change-Id: Iefa58cf709adbb8f24588e5eb6aed9aef46b6d73 commit 1ab7fde626c3d3ac02664183f21fedd397785bea Author: Sameer Agarwal Date: Mon Jul 8 10:03:49 2013 -0700 Update gmock and gtest to the latest svn versions. This fixes a variety of mac/clang/c++11 issues. Change-Id: I52e76d733cd53c9bb2fda125e51a6b58a90e41b3 commit eeedd2e191f5ce404453c735061ad13bd45b939b Author: Sameer Agarwal Date: Sun Jul 7 23:04:31 2013 -0700 Rationalize some of the variable names in Solver::Options. lm_max_diagonal -> max_lm_diagonal lm_min_diagonal -> min_lm_diagonal linear_solver_max_num_iterations -> max_linear_solver_iterations linear_solver_min_num_iterations -> min_linear_solver_iterations This follows the pattern for the other parameters in Solver::Options where, the max/min is the first word followed by the name of the parameter. Change-Id: I0893610fceb6b7983fdb458a65522ba7079596a7 commit 7a8f79792467e56012d43b5f9aa7aefce14d5ee9 Author: Sameer Agarwal Date: Wed Jul 3 09:03:55 2013 -0700 Lint fixes Change-Id: Ic453597488ef92723a81a224e7443e8f454b25da commit 67ccb7379e7eab709480e227323ea48ea91e7ccc Author: Sameer Agarwal Date: Wed Jul 3 06:28:34 2013 -0700 Fix broken build. Change-Id: Ieb122bb96d5776f962fff6d6e9345dfc855bfed7 commit 4f010b2db02f22cee8243ed83a49e63a305dbb76 Author: Sameer Agarwal Date: Mon Jul 1 08:01:01 2013 -0700 Improve Summary::FullReport when line search is used. Disable reporting of preconditioner when direct factorization is being used. Change-Id: Id264d2292c5cab608724a6a8fab5d588db950468 commit 09244015e304b0ebfb2f2399edd2d97e3b9dcd8f Author: Sameer Agarwal Date: Sun Jun 30 14:33:23 2013 -0700 Expose line search parameters in Solver::Options. Change-Id: Ifc52980976e7bac73c8164d80518a5a19db1b79d commit 1c70ae9aa626e591cda987a970c240dd40d23a69 Author: Sameer Agarwal Date: Sun Jun 30 12:50:43 2013 -0700 Fix Solver::Summary when line search is used. Also enable line search in bundle_adjuster. Change-Id: Ic4343a4334b9f5a6fdeab38d4e3e1f6932bbc601 commit 70b06c89c7491d7749957c8454769bfcb0108a97 Author: Alex Stewart Date: Sun Jun 30 18:49:56 2013 +0100 Fix update of L-BFGS history buffers after they become full. Previously there was an assignment dimension mismatch in the history update; thus, over time, the history would contain (only) replicated copies of the (max_num_corrections_ -1)-th update and the most recent update. Change-Id: I26203acf689686d41a5029c675ebbe001fe05d90 commit a427c877f968d951b3cdcb5f5298deaf84647830 Author: Sameer Agarwal Date: Mon Jun 24 17:50:56 2013 -0700 Lint cleanup. Change-Id: Ie489f1ff182d99251ed8c0728cc6ea8e1c262ce0