Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'extern/libmv/third_party/ceres/ChangeLog')
-rw-r--r--extern/libmv/third_party/ceres/ChangeLog261
1 files changed, 133 insertions, 128 deletions
diff --git a/extern/libmv/third_party/ceres/ChangeLog b/extern/libmv/third_party/ceres/ChangeLog
index 854712fe228..e80015534d6 100644
--- a/extern/libmv/third_party/ceres/ChangeLog
+++ b/extern/libmv/third_party/ceres/ChangeLog
@@ -1,3 +1,136 @@
+commit 80a53eebfd28bfc032cedbf7852d5c56eb1d5af5
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Thu Jan 9 12:40:54 2014 -0800
+
+ Faster LBFGS.
+
+ 1. Use column major storage for the various matrices used by
+ LowRankInverseHessian. Since all the operations are on columns.
+
+ 2. Use a circular buffer to keep track of history of the LBFGS updates
+ so that an update does not require copying the entire history. This
+ makes the updates O(1) rather than O(rank).
+
+ The implementation has been checked against the denoising code
+ where it gives numerically identical results. The overhead of the
+ LBFGS code is now near negligible as compared to the gradient evaluation.
+
+ On a sample problem
+
+ before 1050ms after: 630ms
+
+ Change-Id: I537ba506ac35fc4960b304c10d923a8dea2ae031
+
+commit f55780063620e7a3dcfe7e018d6488bf6a5b29da
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Wed Jan 8 10:43:31 2014 -0800
+
+ Reduce logging verbosity.
+
+ When user specifies Solver::Options::logging_type = SILENT,
+ ensure that the minimizer does not log anything.
+
+ Change-Id: I94e34dae504881ab36d4a66e6adb7a19a227363e
+
+commit 85561eee951c91e578984c6d3eecf0073acabb64
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Tue Jan 7 22:22:14 2014 -0800
+
+ Use int32 for parameter block sizes.
+
+ CostFunction now uses int32 instead of int16
+ to store the size of its parameter blocks.
+
+ This is an API breaking change.
+
+ Change-Id: I032ea583bc7ea4b3009be25d23a3be143749c73e
+
+commit a7fda3317b1a97702750bea96ac3ef3d1a2afb49
+Author: Alex Stewart <alexs.mac@gmail.com>
+Date: Mon Jan 6 10:25:42 2014 +0000
+
+ Fix typos in error messages in line search config checks.
+
+ Change-Id: I3ae2ae58328e996598e3e32c12869d2b10109ef7
+
+commit f695322eb8c5ff118f0d27f68d46d557338e5db1
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Sat Jan 4 14:28:23 2014 -0800
+
+ Remove a compilation warning on windows.
+
+ Only define NOMINMAX if it is not already defined.
+
+ Thanks to Pierre Moulon for this fix.
+
+ Change-Id: Ia5dc0f5ff2afe10e4c7e97a57f54297d82052b21
+
+commit b811041d78d80518db153ef3030bcbdbaf80df8d
+Author: Sergey Sharybin <sergey.vfx@gmail.com>
+Date: Thu Jan 2 15:19:17 2014 +0600
+
+ Code cleanup: fix no previous declaration warnings
+
+ Moved some internally used functions into an anonymous namespace.
+
+ Change-Id: Ie82df61b0608abac79ccc9f7b14e7f7e04ab733d
+
+commit f14f6bf9b7d3fbd2cab939cf4ad615b317e93c83
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Thu Dec 26 09:50:45 2013 -0800
+
+ Speed up SPARSE_NORMAL_CHOLESKY when using CX_SPARSE.
+
+ When using sparse cholesky factorization to solve the linear
+ least squares problem:
+
+ Ax = b
+
+ There are two sources of computational complexity.
+
+ 1. Computing H = A'A
+ 2. Computing the sparse Cholesky factorization of H.
+
+ Doing 1. using CX_SPARSE is particularly expensive, as it uses
+ a generic cs_multiply function which computes the structure of
+ the matrix H everytime, reallocates memory and does not take
+ advantage of the fact that the matrix being computed is a symmetric
+ outer product.
+
+ This change adds a custom symmetric outer product algorithm for
+ CompressedRowSparseMatrix.
+
+ It has a symbolic phase, where it computes the sparsity structure
+ of the output matrix and a "program" which allows the actual
+ multiplication routine to determine exactly which entry in the
+ values array each term in the product contributes to.
+
+ With these two bits of information, the outer product H = A'A
+ can be computed extremely fast without any reasoning about
+ the structure of H.
+
+ Further gains in efficiency are made by exploiting the block
+ structure of A.
+
+ With this change, SPARSE_NORMAL_CHOLESKY with CX_SPARSE as the
+ backend results in > 300% speedup for some problems.
+
+ The symbolic analysis phase of the solver is a bit more expensive
+ now but the increased cost is made up in 3-4 iterations.
+
+ Change-Id: I5e4a72b4d03ba41b378a2634330bc22b299c0f12
+
+commit d79f886eb87cb064e19eb12c1ad3d45bbed92198
+Author: Sameer Agarwal <sameeragarwal@google.com>
+Date: Mon Dec 30 07:39:10 2013 -0800
+
+ Refactor line search error checking code.
+
+ Move the error checking code into its own function
+ so that it can be used in upcoming changes.
+
+ Change-Id: Icf348e5a8bbe8f8b663f04fb8cfc9a2149b12f22
+
commit 2b16b0080b6e673eaaf9ed478c9e971d9fcd65de
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Fri Dec 20 15:22:26 2013 -0800
@@ -553,131 +686,3 @@ Date: Tue Nov 5 13:10:27 2013 +0000
information as to which sub-modules are missing.
Change-Id: I6eed94af49263540b8f87917b75c41b8f49658a0
-
-commit 9ba0b352a282f08b1b6368a5690434407d7c81af
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Tue Nov 5 13:04:56 2013 -0800
-
- Lint and other cleanups from William Rucklidge
-
- Change-Id: I7fb23c2db85f0f121204560b79f1966f3d584431
-
-commit 69bd65ff4368ce2841519f00ff48c5284c1743a3
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Mon Nov 4 23:01:14 2013 +0000
-
- Downgrading warning messages when optional deps are not found.
-
- - Now when find_package() is called for a dependency without the
- REQUIRED or QUIET qualifiers, we emit no priority (above STATUS, but
- below WARNING) messages and continue.
-
- Change-Id: I8cdeda7a8f6c91d45fb7f24fb366244c6c9b66e1
-
-commit b0a8731fcdde31e6c37a54e8c1e1c00f853c0d5c
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Mon Nov 4 20:32:40 2013 +0000
-
- Removing duplicate SuiteSparse found message.
-
- - Also flipping ordering of variables in
- find_package_handle_standard_args() so that the automatically
- generated message prints the include directories, not TRUE.
-
- Change-Id: I2bf62eacd5c96f27152e9542b9a74651243a584e
-
-commit 6fed9fe0de9d1737095c24e19ad8df9735b7e572
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Mon Nov 4 18:33:05 2013 +0000
-
- Fix FindPackage scripts to emit warnings, not errors if not found.
-
- - Previously we used message priority: SEND_ERROR when a package was
- not found and find_package() was called without QUIET or REQUIRED,
- which emits an error message, and prevents generation, but continues
- configuration.
- - The fact SEND_ERROR induces an error message was confusing for users
- as it implies that something bad has happened and they cannot
- continue, when in fact we were disabling the option in question
- and were thus able to continue, all they had to do was re-configure.
-
- - This commit also reorders the search lists for includes/libraries
- so that we always search user installed locations (e.g. /usr/local)
- before system installed locations. Thus we will now always prefer
- a user install to a system install if both are available, which is
- likely to be the users desired intention.
-
- Change-Id: Ide84919f27d3373f31282f70c685720cd77a6723
-
-commit cada337149cbc4b9e6f2bae14593b87ecf8f1a5c
-Author: Alex Stewart <alexs.mac@gmail.com>
-Date: Mon Nov 4 18:08:24 2013 +0000
-
- Fixing CXSparse include directories statement.
-
- - Reported as issue #135:
- https://code.google.com/p/ceres-solver/issues/detail?id=135.
- - CXSPARSE_INCLUDE was the legacy include directory variable, since
- the buildsystem updates we now use the CMake standard:
- CXSPARSE_INCLUDE_DIRS.
-
- Change-Id: Iab0c2de14d524bb9e9da230bc574b5e6f09e1f31
-
-commit c71085ed326239dc2d318d848ded9a99e4e3c107
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Thu Oct 31 13:56:38 2013 -0700
-
- Update to 1.8.0rc1.
-
- Change-Id: Iaa10fd5a20be2ef84aca0119306c44669d87cc5d
-
-commit 88a703f44ff0d6d5d4601584fa77f5ce853025f4
-Author: Petter Strandmark <petter.strandmark@gmail.com>
-Date: Thu Oct 31 21:13:48 2013 +0100
-
- Fix compilation in Visual C++ 2013.
-
- I had to fix the following things to make Ceres compile in 2013:
- * Not link to 'm' (GNU math library).
- * Excplicitly convert an std::ostream to bool.
- * Include <algorithm> for std::max.
-
- Change-Id: I3ff65413baf8711364360d46dd71fd553fa63e72
-
-commit f06b9face5bfbbc2b338aa2460bee2298a3865c5
-Author: Sameer Agarwal <sameeragarwal@google.com>
-Date: Sun Oct 27 21:38:13 2013 -0700
-
- Add support for multiple visibility clustering algorithms.
-
- The original visibility based preconditioning paper and
- implementation only used the canonical views algorithm.
-
- This algorithm for large dense graphs can be particularly
- expensive. As its worst case complexity is cubic in size
- of the graph.
-
- Further, for many uses the SCHUR_JACOBI preconditioner
- was both effective enough while being cheap. It however
- suffers from a fatal flaw. If the camera parameter blocks
- are split between two or more parameter blocks, e.g,
- extrinsics and intrinsics. The preconditioner because
- it is block diagonal will not capture the interactions
- between them.
-
- Using CLUSTER_JACOBI or CLUSTER_TRIDIAGONAL will fix
- this problem but as mentioned above this can be quite
- expensive depending on the problem.
-
- This change extends the visibility based preconditioner
- to allow for multiple clustering algorithms. And adds
- a simple thresholded single linkage clustering algorithm
- which allows you to construct versions of CLUSTER_JACOBI
- and CLUSTER_TRIDIAGONAL preconditioners that are cheap
- to construct and are more effective than SCHUR_JACOBI.
-
- Currently the constants controlling the threshold above
- which edges are considered in the single linkage algorithm
- are not exposed. This would be done in a future change.
-
- Change-Id: I7ddc36790943f24b19c7f08b10694ae9a822f5c9