diff options
Diffstat (limited to 'extern/libmv/third_party/ceres/ChangeLog')
-rw-r--r-- | extern/libmv/third_party/ceres/ChangeLog | 673 |
1 files changed, 0 insertions, 673 deletions
diff --git a/extern/libmv/third_party/ceres/ChangeLog b/extern/libmv/third_party/ceres/ChangeLog deleted file mode 100644 index b4f78ee0731..00000000000 --- a/extern/libmv/third_party/ceres/ChangeLog +++ /dev/null @@ -1,673 +0,0 @@ -commit 0435246de5f45e69b2c97d244ed61bedd340215a -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Oct 8 18:12:53 2014 -0700 - - Add seene to users.rst - - Change-Id: If40726775a3d4b234b6e10517fe9943d122a3384 - -commit fdf32b315f39553639f0becf078ad4eec763a10e -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Oct 8 16:04:32 2014 -0700 - - Fix some errant tabs. - - Change-Id: Iaf1906eaade49467ba282656cf0a10879d258b1f - -commit 6768b3586a027bb850c0a50e2a27380f5d80142a -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Oct 8 12:48:16 2014 -0700 - - Minor cleanups in preparation for a release. - - 1. Fix the release script to ignore the version.h checking. - 2. Fix some ceres documentation formatting errors. - - Change-Id: I3fd6b85e771b242f463d6a36c3efd8d691f9242f - -commit 7b6bd1cd31aa0b8cb7fb97600c1b9999846e3152 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Oct 2 16:16:26 2014 -0700 - - Documentation update. - - 1. Complete restructuring of the documentation to account for - GradientProblemSolver. - 2. Update the version history to account for changes since 1.9.0. - 3. Add links and document the various examples that ship with ceres. - 4. Documentation for GradientProblem GradientProblemSolver. - - Change-Id: If3a18f2850cbc98be1bc34435e9ea468785b8b27 - -commit b7d321f505e936b6c09aeb43ae3f7b1252388a95 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Fri Oct 3 15:47:59 2014 -0700 - - Relax the warning/error handing in GCC. - - Thanks to Matthew Woehlke for suggesting this. - - Change-Id: Iae754465c086b0841a7816df1a36781371d0dc9a - -commit 94c6e7d27b5d48d81ab54ed9cdcbc55c3c099311 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Oct 1 15:55:13 2014 -0700 - - Improve multithreading when using inner iterations. - - Inner iterations by default would use problems where the evaluator - was configured to use exactly one thread for doing the evaluation. - This is fine when there are multiple inner iteration problems - being executed concurrently, but every now and then there are - problem decompositions where there is just one parameter block - in the current independent set and it touches every single - residual block. In such cases it is essential that the evaluator - be configured to use multiple threads. - - We now pay attention to the size of the independent set and - dynamically configure the number of threads being used by the - outer loop and the evaluator loop. - - Thanks to William Rucklidge for reporting this issue and providing - a test problem to debug. - - Change-Id: Iaff9a4ab6d2658cf7b61ea213575d23aab604e3b - -commit 9e11cd16d09403b9270e621e839d5948b6a74b8d -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Mon Sep 29 14:27:58 2014 -0700 - - Faster BlockRandomAccessSparseMatrix::SymmetricRightMultiply. - - Trade a small amount of memory to improve the cache coherency of - the SymmetricRightMultiply operation. - - The resulting code leads to a 10-20% speedup in the linear solver - end to end. - - Change-Id: I8ab2fe152099e849b211b5b19e4ef9f03d8e7f1c - -commit 46b8461fd010c1e7ffce6bb2bdf8a84b659d5e09 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Mon Sep 29 15:10:58 2014 -0700 - - Various minor fixes from William Rucklidge. - - Change-Id: Ibe731d5db374ad8ee148d62a9fdd8d726b607a3f - -commit b44cfdef25f6bf0917a23b3fd65cce38aa6a3362 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Mon Sep 29 07:53:54 2014 -0700 - - Let ITERATIVE_SCHUR use an explicit Schur Complement matrix. - - Up till now ITERATIVE_SCHUR evaluates matrix-vector products - between the Schur complement and a vector implicitly by exploiting - the algebraic expression for the Schur complement. - - This cost of this evaluation scales with the number of non-zeros - in the Jacobian. - - For small to medium sized problems there is a sweet spot where - computing the Schur complement is cheap enough that it is much - more efficient to explicitly compute it and use it for evaluating - the matrix-vector products. - - This changes implements support for an explicit Schur complement - in ITERATIVE_SCHUR in combination with the SCHUR_JACOBI preconditioner. - - API wise a new bool Solver::Options::use_explicit_schur_complement - has been added. - - The implementation extends the SparseSchurComplementSolver to use - Conjugate Gradients. - - Example speedup: - - use_explicit_schur_complement = false - - Time (in seconds): - Preprocessor 0.585 - - Residual evaluation 0.319 - Jacobian evaluation 1.590 - Linear solver 25.685 - Minimizer 27.990 - - Postprocessor 0.010 - Total 28.585 - - use_explicit_schur_complement = true - - Time (in seconds): - Preprocessor 0.638 - - Residual evaluation 0.318 - Jacobian evaluation 1.507 - Linear solver 5.930 - Minimizer 8.144 - - Postprocessor 0.010 - Total 8.791 - - Which indicates an end-to-end speedup of more than 3x, with the linear - solver being sped up by > 4x. - - The idea to explore this optimization was inspired by the recent paper: - - Mining structure fragments for smart bundle adjustment - L. Carlone, P. Alcantarilla, H. Chiu, K. Zsolt, F. Dellaert - British Machine Vision Conference, 2014 - - which uses a more complicated algorithm to compute parts of the - Schur complement to speed up the matrix-vector product. - - Change-Id: I95324af0ab351faa1600f5204039a1d2a64ae61d - -commit 4ad91490827f2ebebcc70d17e63ef653bf06fd0d -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Sep 24 23:54:18 2014 -0700 - - Simplify the Block Jacobi and Schur Jacobi preconditioners. - - 1. Extend the implementation of BlockRandomAccessDiagonalMatrix - by adding Invert and RightMultiply methods. - - 2. Simplify the implementation of the Schur Jacobi preconditioner - using these new methods. - - 3. Replace the custom storage used inside Block Jacobi preconditioner - with BlockRandomAccessDiagonalMatrix and simplify its implementation - too. - - Change-Id: I9d4888b35f0f228c08244abbdda5298b3ce9c466 - -commit 8f7be1036b853addc33224d97b92412b5a1281b6 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Mon Sep 29 08:13:35 2014 -0700 - - Fix a formatting error TrustRegionMinimizer logging. - - Change-Id: Iad1873c51eece46c3fdee1356d154367cfd7925e - -commit c99872d48e322662ea19efb9010a62b7432687ae -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Sep 24 21:30:02 2014 -0700 - - Add BlockRandomAccessSparseMatrix::SymmetricRightMultiply. - - Change-Id: Ib06a22a209b4c985ba218162dfb6bf46bd93169e - -commit d3ecd18625ba260e0d00912a305a448b566acc59 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Tue Sep 23 10:12:42 2014 -0700 - - Add an explicit include for local_parameterization.h - - Thanks to cooordz for reporting this. - - Change-Id: I7d345404e362a94ff1eb433ad6b9dcc4960ba76d - -commit 5dd76869cf45122c79579423f09e0de08cf04092 -Author: Alex Stewart <alexs.mac@gmail.com> -Date: Fri Sep 19 16:08:25 2014 +0100 - - Fix unused-function warning with Eigen < 3.2.2. - - - CreateBlockJacobian() is only ever used when Eigen >= 3.2.2 is - detected, but was previously defined whenever CERES_USE_EIGEN_SPARSE - was defined with no check on the Eigen version. - - This resulted in an unused-function compile warning that became an - error due to -Werror, preventing compilation when using Eigen < 3.2.2. - - Change-Id: I24628ff329f14b087ece66bf2626bdc0de4ba224 - -commit 820cb7b14831aa03eca1e8186000cebfdf0a42f3 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Sep 17 09:46:08 2014 -0700 - - Add solver_utils.cc to Android.mk - - Change-Id: I358522971711280f4362a1fa39b1568160e21e63 - -commit 092b94970a073f8b47179d96160226fc19095898 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Fri Sep 5 11:56:29 2014 -0700 - - Add GradientProblem and GradientProblemSolver. - - The line search minimizer in Ceres does not require that the - problems that is solving is a sum of squares. Over the past - year there have been multiple requests to expose this algorithm - on its own so that it can be used to solve unconstrained - non-linear minimization problems on its own. - - With this change, a new optimization problem called - GradientProblem is introduced which is basically a thin - wrapper around a user defined functor that evaluates cost - and gradients (FirstOrderFunction) and an optional LocalParameterization. - - Corresponding to it, a GradientProblemSolver and its associated - options and summary structs are introduced too. - - An example that uses the new API to find the minimum of Rosenbrock's - function is also added. - - Change-Id: I42bf687540da25de991e9bdb00e321239244e8b4 - -commit 6c45d6b891aac01489b478a021f99081c61792cb -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Sep 11 07:48:30 2014 -0700 - - Add more inspection methods to Problem. - - Problem::GetCostFunctionForResidualBlock - Problem::GetLossFunctionForResidualBlock - - are added, so that users do not have to maintain this mapping - outside the Problem. - - Change-Id: I38356dfa094b2c7eec90651dafeaf3a33c5f5f56 - -commit 6ad9b8e2ae66c9009441d0f9304486ec8dfa9a6a -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Tue Sep 9 14:29:28 2014 -0700 - - Ignore row/column blocks structure when using dynamic sparsity - - The row/column blocks can be huge when using dynamic sparsity. This - can result in very large memory usage when augmenting the jacobian - with the LM diagonal. - - Thanks to Mingsong Dou for reporting this. - - Change-Id: I6aa140ceefa98389ae17958f89ca76e0c76f95b8 - -commit 7e43460d42e20be1ba13121655dbbfd0d1c751ae -Author: Martin Baeuml <baeuml@gmail.com> -Date: Mon Sep 8 16:49:06 2014 +0200 - - Fix a few typos in the documentation. - - Change-Id: I541db56b2b81ae758e233ce850d78c3cbb4b6fa3 - -commit 1aef66eeae7042902655a11b0d6a1a32900abb7b -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Sun Sep 7 21:18:44 2014 -0700 - - Remove errant space. - - Change-Id: Iedc06960417a9b938d57f623b4beb87a98e3d081 - -commit 89080ab153a33008782759187fa8e9af7d2f83f1 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Sat Sep 6 21:13:48 2014 -0700 - - Add LocalParameterization::MultiplyByJacobian. - - This is needed to efficiently support LocalParameterization objects - in GradientProblemSolver. - - Change-Id: Ic7b715b8be694b099dc95d6707a67474297533e6 - -commit d76da16f49d419ae3664ca1bdc2286c1ea78ebed -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Sun Sep 7 18:42:49 2014 -0700 - - Move some routines to solver_utils.h/cc - - This moves a couple of routines from solver.cc into solver_utils.h/cc - so that they can also be used by the upcoming GradientProblemSolver. - - Change-Id: I627b32ad3dc639422aacde78a8e391459d947e99 - -commit cbf03ac292a0c0e9e6b7fcc1b08b67e95965922f -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Sat Sep 6 21:07:08 2014 -0700 - - Make LineSearchMinimizer consistent with TrustRegionMinimizer. - - Change the logic for how IterationSummary objects are added to - Summary::iterations to match the one in TrustRegionMinimizer. - - Change-Id: I57851ad8294e58f83b9115cca9c24695d86ee92a - -commit f04c32319751e1efd610acd3699bca0a6dd6c6d1 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Sat Sep 6 21:05:41 2014 -0700 - - Fix some obsolete documentation in CostFunction::Evaluate - - Change-Id: I1d7ee5c596fbf6a4d886dce5b989c8eb18af2dce - -commit 9263547c02a1807532b159c217e7acd124d3db10 -Author: Johannes Schönberger <hannesschoenberger@gmail.com> -Date: Sat Sep 6 17:26:15 2014 -0400 - - Fix CG solver options for ITERATIVE_SCHUR, which did not copy min_num_iterations - - Change-Id: If31bc53b49ec20426fd438b79b8fa1f69d11e861 - -commit b41f048256d1a8184cbe874b5a96dffa7fa4630d -Author: Martin Baeuml <baeuml@gmail.com> -Date: Fri Sep 5 15:03:32 2014 +0200 - - Remove obsolete include of numeric_diff_functor.h. - - numeric_diff_functor.h was removed and does not exist anymore. - - Change-Id: I07bf04bf81142551e867b95b83a0653e11cad54c - -commit b7fb6056a717cc3c372cfb7115c527ee8bc05ddb -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Sep 3 11:19:02 2014 -0700 - - Remove NumericDiffFunctor. - - Its API was broken, and its implementation was an unnecessary - layer of abstraction over CostFunctionToFunctor. - - Change-Id: I18fc261fc6a3620b51a9eeb4dde0af03d753af69 - -commit 175fa8ff09049110a8509409f60cee5fd52cdbe6 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Tue Sep 2 06:49:08 2014 -0700 - - CostFunctionToFunctor allows dynamic number of residuals. - - The code itself was perfectly capable of handling residuals, but there - was an overly strict runtime check that had to be removed. - - Thanks to Domink Reitzle for reporting this. - - Change-Id: I6a6d000a7c5203dd5945a61b4caeda1b8aeb09c9 - -commit 70ace0d5a5601901288974fcf27919754260cf0e -Author: Johannes Schönberger <hannesschoenberger@gmail.com> -Date: Sat Aug 30 15:52:34 2014 -0400 - - Fix max. linear solver iterations in ConjugateGradientsSolver - - Change-Id: Ice0cef46441dbc1c121eeb42113667a46c96936f - -commit c5d8d0680250f5eb554577d30d28fc805b03fab9 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Fri Aug 29 20:31:19 2014 -0700 - - Fix a unused function error with Eigen version 3.2.1 or less. - - Thanks to Johannes Schoenberger for reporting this. - - Change-Id: Ie17d28f2a68734a978a8c95007724bc4055de43a - -commit 0e1cc2a55488e4cf381833baaa3531c02ce9d69e -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Fri Aug 29 09:16:56 2014 -0700 - - Fix the build on Eigen version 3.2.1 and older. - - Change-Id: I18f5cb5d42113737d7b8f78a67acee28bd5b3e08 - -commit 5f96c62b56222f27e606f2246a8a16b6942af8d1 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Aug 28 23:06:17 2014 -0700 - - Add Block AMD ordering for SPARSE_SCHUR + EIGEN_SPARSE. - - Ordering routines for the Schur complement when using EIGEN_SPARSE. - Also integration into SchurComplementSolver. - - Part of this CL is also a refactoring of the block jacobian matrix - construction. - - Change-Id: I11d665cc7d4867c64190e6fed1118f4d2e13d59b - -commit 7344626c04d19ca1dc4871c377c4422c744b1bca -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Aug 28 22:03:09 2014 -0700 - - Let EIGEN_SPARSE + SPARSE_NORMAL_CHOLESKY use block AMD. - - Modify SparseNormalCholeskySolver to use a pre-ordered Jacobian - matrix. - - Change-Id: Ib4d725d7a2d7bb94ea76dbb3a9b172784dbc8ea0 - -commit 9f7032369ea4e432f0fb507cb6d2209741ee6946 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Aug 28 21:46:43 2014 -0700 - - Block AMD for SparseNormalCholesky + EIGEN_SPARSE. - - This is just the reordering routine. The integration with - SparseNormalCholesky shall happen in a subsequent CL. - - Change-Id: I39ddc32aa66b11c368faf75404850fa0ae0d2b3a - -commit b9331cd4077100d645be22a912d5743eeda72878 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Aug 28 14:42:27 2014 -0700 - - Cleanup reorder_program.cc - - Program::SetParameterOffsetsAndIndex() was being called willy nilly. - Now the invariant is that any function that actually reorders the - program, updates the offsets and indices. - - Also the logic around handling EIGEN_SPARSE has been simplified in - anticipation of the block AMD code that is forthcoming. - - Last but not the least, num_eliminate_blocks, which is a rather - cryptic name to begin with has been replaced by the more meaningful - size_of_first_elimination_group. - - Change-Id: I77e684f699a93b53e76aa406d64f40f8704df813 - -commit 79491a3f4a3939a3cce4644da7a998b7782b963a -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Aug 28 13:57:50 2014 -0700 - - Solver::FullReport now reports build config. - - The header of Summary::FullReport now looks like - - Solver Summary (v 1.10.0-suitesparse-cxsparse-lapack-no_openmp) - - Original Reduced - Parameter blocks 22122 22122 - Parameters 66462 66462 - Residual blocks 83718 83718 - Residual 167436 167436 - - Change-Id: Id1b81bbf90ba412d19e2dd3687eeb9d372b72c1b - -commit 48068c753e91d77f6c96ef2d529a27ef8ee3947c -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Aug 28 13:03:40 2014 -0700 - - Lint cleanup from William Rucklidge. - - Change-Id: Ie0e0aa58440be7a4f67dcd633dbb6f1bb0c051a8 - -commit 6a51b135e6298e8ba44a58cc2b54a170ab61a82f -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Aug 28 10:48:29 2014 -0700 - - Fix solver_test.cc - - When Eigen is not installed, Solver::IsValid was not detecting - it correctly. - - Change-Id: Id285a84d829a9e20bc5de663adfca66ac31e08f3 - -commit 62a8d64453ee41dae56710a4eead3fadf2fe1a4e -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Aug 27 22:54:00 2014 -0700 - - Expand check for lack of a sparse linear algebra library. - - The LinearSolver factory was creating a NULL linear solver - if only Eigen's sparse linear algebra backend was available. - - Thanks to Michael Samples and Domink Reitzle for reporting this. - - Change-Id: I35e3a6c0fd0da2a31934adb5dfe4cad29577cc73 - -commit 12eb389b4ec4113a2260c1a192a1d3f8d1b6a2d3 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Aug 27 22:18:33 2014 -0700 - - Fix Eigen Row/ColMajor bug in NumericDiffCostFunction. - - If the parameter block size is 1, asking Eigen to create - a row-major matrix triggers a compile time error. Previously - we were handling the case where the number of rows in the - jacobian block was known statically, but the problem is present - when the nummber of rows is dynamic. - - This CL fixes this problem. - - Thanks to Dominik Reitzle for reporting this. - - Change-Id: I99c3eec3558e66ebf4efa51c4dee8ce292ffe0c1 - -commit 6c25185bb1643d8d0f3d8e1a7b82a058156aa869 -Author: Alex Stewart <alexs.mac@gmail.com> -Date: Thu Aug 28 16:07:51 2014 +0100 - - Fix crash in Covariance if # threads > 1 requested without OpenMP. - - - Previously if options.num_threads > 1 was given to Covariance compiled - without OpenMP, a CHECK() would be triggered in program_evalutor. - - Change-Id: Iaade4f5ed5326b0c59a7014c750c41ee026e1124 - -commit 6f89d850fb4ace0104abccf467c4fe37ad378b79 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Aug 27 11:51:50 2014 -0700 - - Further build breakage fixes. - - 1. Allow the minimum number of linear solver iterations to be zero. - 2. Fix conjugate gradients solver's iteration loop to be sane again. - - Change-Id: I8594815fec940c2b30e28eb58ec5d8baacf13dae - -commit dd596d0f0d6d08951efc2c11a639b546db2080c6 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Wed Aug 27 11:26:50 2014 -0700 - - Fix the broken build. - - Change-Id: I083cf1cca1bf4cca956193022d450364e73f833a - -commit d906afae22b05b9b9a9a2657924f4c0bf1a9b5ea -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Mon Aug 25 22:32:38 2014 -0700 - - A number of bug fixes. - - 1. Fix a build breakage in graph_test. - 2. Respect Solver::Options::min_num_linear_solver_iterations in - conjugate_gradients_solver.cc - - Thanks to Johannes Schönberger for reporting these. - - Change-Id: Ib32e3929bf5d92dd576ae5b53d4d88797095136e - -commit dab955928c6d0942d6acc5b5f1c4c11260d0767d -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Sun Aug 17 13:14:50 2014 -0700 - - Add an unweighted graph. - - Rename Graph -> WeightedGraph. - Add a new Graph class, which is cheaper to construct and - work with if the weights are not needed. - - This cuts down the cost of building the Hessian graph - significantly. - - Change-Id: Id0cfc81dd2c0bb5ff8f63a1b55aa133c53c0c869 - -commit a0c282adbd268c2ad82551fab31fe1cf8d0c4282 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Sun Aug 24 22:19:03 2014 -0700 - - Add EIGEN_STRONG_INLINE annotation to jet.h - - This improves performance when using MSVC on Windows. On GCC - there will be no effect. - - Change-Id: I555a81ff6823c2855d64773073f75af50c48d716 - -commit 20de0a7793c574e964350a623446136889f74632 -Author: Björn Piltz <bjornpiltz@gmail.com> -Date: Mon Aug 25 17:05:54 2014 +0200 - - Fixed Malformed regex - - I got the following error with MSVC: - Syntax error at index 9 in simple regular expression "NumGroups()": '(' is unsupported. - - Change-Id: Id1952831d81d3eb5d73bbed8c311914c4c8ab51f - -commit ccf8aea988269841d84d746e52164d5056c67a10 -Author: Björn Piltz <bjornpiltz@gmail.com> -Date: Mon Aug 25 16:16:01 2014 +0200 - - Fixed MSVC error C2124: divide or mod by zero - - Alternatively, if quiet_NaN is not available on all platforms a workaround would be: - volatile double zero = 0.0; - double x = 1.0/zero; - The 'volatile' is needed to shut up "warning C4723: potential divide by 0". - - Change-Id: If2bbdab8540595aa2e0079e1eb6b6fed6d4a6ef7 - -commit 8de27be218d42b282d7f15867733ad07058b0887 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Tue Aug 19 08:22:40 2014 -0700 - - Fix a bug in TrustRegionPreprocessor - - TrustRegionPreprocessor was not setting Minimizer::Options::is_constrained. - This meant that the line search for bounds constraints was not being - invoked for bounds constrained problems. - - And some minor lint cleanup. - - Change-Id: I18852cfaf1b33fd90b7d8c196f2063c128126658 - -commit 1745dd615b3897a3ef9896acfdba67eee1739bf4 -Author: Sameer Agarwal <sameeragarwal@google.com> -Date: Thu Jun 5 21:30:13 2014 -0700 - - Refactor SolverImpl. - - Replace SolverImpl with - - a. A minimizer specific preprocessor class. - b. A generic Solve function inside solver.cc - c. Presummarize and Postsummarize functions to handle - updates to the summary object. - - The existing SolverImpl class was a mixture of the above three - things and was increasingly complicated code to follow. This change, - breaks it into its three separate constituents, with the aims of - better separation of concerns and thus better testability and - reliability. - - The call to Solver::Solve() now consists of - - 1. Presummarize - summarize the given state of the problem and solver - options. - 2. Preprocess - Setup everything that is needed to call the minimizer. - This includes, removing redundant parameter and residual blocks, - setting up the reordering for the linear solver, creating the - linear solver, evaluator, inner iteration minimizer etc. - 3. Minimize. - 4. Post summarize - summarize the result of the preprocessing and the - solve. - - Change-Id: I80f35cfc9f2cbf78f1df4aceace27075779d8a3a |