- 15 Jul, 2015 1 commit
-
-
Alex Stewart authored
Change-Id: If2e9999b04550269c94a86b8512d9dcc2842b91d
-
- 12 Jul, 2015 1 commit
-
-
Alex Stewart authored
Change-Id: I66488dc09670c4b178db7a3ae21b93fcc84ca051
-
- 11 Jul, 2015 1 commit
-
-
Alex Stewart authored
Change-Id: I2b35babba17229387c6d346c46a2c6960db96e47
-
- 10 Jul, 2015 1 commit
-
-
Sameer Agarwal authored
And undo the last two botched CLs. Thanks to Chris Sweeney and Taylor Braun Jones for saving my bacon. I will do appropriate penance to repend for my sins. Change-Id: I14de958e651f85e4c1741fba2cb46ffe7e873346
-
- 08 Jul, 2015 2 commits
-
-
Sameer Agarwal authored
The last patch introduced a typo in the test. Thanks to Chris Sweeney for pointing this out. Change-Id: I1de2dba895de2d40f20d661524b57b821fb2d443
-
Sameer Agarwal authored
This test is failing on RawHide due to some compiler changes. https://bugzilla.redhat.com/attachment.cgi?id=1046512 Change-Id: I242314a3804b2888f06e5df0a0ea5d3bf057d5df
-
- 06 Jul, 2015 1 commit
-
-
Alex Stewart authored
- Also split out addition of Gerrit commit hook into its own function. Change-Id: I28ed048c5a094c5c9c0246cdabf67833583d66fb
-
- 02 Jul, 2015 1 commit
-
-
Alex Stewart authored
Change-Id: I1f481f5cb618f1c4dfe48e2bf4607f7801f65991
-
- 28 Jun, 2015 1 commit
-
-
Alex Stewart authored
- Thanks to Henrique Mendonça for reporting this. Change-Id: I590f6138177b2e608eca9726f556d2f92d00d4d7
-
- 27 Jun, 2015 1 commit
-
-
Alex Stewart authored
- Eigen/SparseCore is required by covariance_impl, this was added in v 3.1.0 of Eigen, and thus without at least this version Ceres will not compile. - Note that Ubuntu 12.04 provides only version 3.0.5 in the mainline repository. - Update docs to match CMake check for Eigen >= 3.2.2 to avoid warning about reduced sparse performance. Change-Id: I291bb185d1c76e1e1422429169a76e3f1b828163
-
- 22 Jun, 2015 1 commit
-
-
Alex Stewart authored
- On at least some compilers, -std=c++11 is required in order to compile against std::shared_ptr & std::unordered_map, which resulted in our checks failing to find them and using the TR1 versions instead, which causes conflicts for users using C++11. - Now, if the compiler supports it and the user enables the CXX11 option, we explicitly enable C++11 before searching for shared_ptr & unordered_map, which means we should always find the C++11 versions if they are available. - As use of CXX11 results in a version of Ceres that must be used with -std=c++11 for GCC & Clang, we roll this into the Ceres target when the version of CMake supports this, otherwise we warn the user they will have to do this themselves. - CXX11 is OFF by default, to ensure that the behaviour of Ceres is unchanged from before. Change-Id: I157ea7a4fadc6bc02da176b8e771f1f327ccaf78
-
- 18 Jun, 2015 1 commit
-
-
David Gossow authored
This adds a new wrapper class called DynamicCostFunctionToFunctor that closes a gap in the current API: the existing CostFunctionToFunctor can only be used with a SizedCostFunction, where the number and sizes of all parameter vectors are known at compile-time. The DynamicCostFunctionToFunctor allows you to wrap a generic CostFunction into a templated functor which can then be used in a DynamicAutoDiffCostFunction. Also updates the existing CostFunctionToFunctor class to internally use DynamicCostFunctionToFunctor. Change-Id: I088adc3271c58d2519126c27037c3576965a36d6
-
- 10 Jun, 2015 1 commit
-
-
Sameer Agarwal authored
Change-Id: I66889ac8e52dd3baaee9e80cb04b7a8575537249
-
- 30 May, 2015 2 commits
-
-
Alex Stewart authored
- Also fixes a typo in the search paths in FindSphinx.cmake. Change-Id: I8da50ffd85358f7e67445b02eabfc9cf57c97935
-
Alex Stewart authored
- CMake 3.0+ prefers the use of @rpath, and CMake 3.2+ produces a developer warning if this policy is not set, thus if present we explicitly specify the new default behaviour. - http://www.cmake.org/cmake/help/v3.2/policy/CMP0042.html - Also remove unnecessary check for presence of cmake_policy(), as it exists in all versions of CMake >= 2.8 (our minimum required version). Change-Id: Iacbf8186bee4bf07d8a53068fd528cd6237c5efb
-
- 27 May, 2015 1 commit
-
-
pmoulon authored
Change-Id: I7c59f92f8691beb2a0b999c1f93e31a099bbdb9d
-
- 26 May, 2015 1 commit
-
-
pmoulon authored
Change-Id: I53f1a245509a216f31e1824486a13c4bac548a7f
-
- 19 May, 2015 1 commit
-
-
Simon Rutishauser authored
This is consistent with how NULL LossFunctions are treated everywhere else. Change-Id: Ic91e39ccb13137fcad7f85e78613a29ecde30d67
-
- 14 May, 2015 1 commit
-
-
Sameer Agarwal authored
Before this change, the default step size for a function F(x) at x was step_size = |x| * relative_step_size if step_size was exactly zero, then to prevent division by zero we would fall back to relative_step_size. This however is not good enough, as values of x say 1e-64 would lead to step sizes ~ 1e-70 and dividing by such numbers leads to inaccurate results. For even smaller numbers, like 1e-300, which I have observed can occur as the optimization algorithm makes progress, this leads to NaNs. The key change in this CL is to change the fallback mechanism to be step_size = max(|x| * relative_step_size, min_step_size) where min_step_size = sqrt(DBL_EPSILON) This is the recommended minimum value for the step size for double precision arithmetic on the interwebs. This results in a small loss of precision in the transcendental functions test, but that is unavoidable as we are not taking sufficiently small steps anymore. On the whole though this will improve the numerical performance of the algorithm. To validate this approach, one of the parameter values for the EasyFunctorTest has been set to 1e-64, which causes the test to start failing without the corrected fallback logic. This change should also address some if not all of https://github.com/ceres-solver/ceres-solver/issues/121 Change-Id: I4a9013ef358626c1ba7b8abad60b3904163d63f6
-
- 13 May, 2015 1 commit
-
-
Chris Sweeney authored
Change-Id: Ic112d31e2b8d7ecd28816fdc76e27adb1da27ac5
-
- 06 May, 2015 2 commits
-
-
Tal Ben-Nun authored
Change-Id: I2fc4b203e984beaa7af96fb3cbe8ce14e5bca614
-
Alex Stewart authored
Change-Id: I1fb5f2504424506e1bba244bcb8efb25329564d1
-
- 05 May, 2015 2 commits
-
-
Sameer Agarwal authored
Change-Id: I3594ed46e78243034389cad158243e11dd1dc2b0
-
Sameer Agarwal authored
Change-Id: I6592b61451ead8f0407bec134fcf4b56ba22ffb9
-
- 04 May, 2015 2 commits
-
-
Petter Strandmark authored
The test makes sure the Rosenbrock function is correctly minimized from the canonical starting point using the default settings. Change-Id: Iea820f976707bde37162981c5db87fac5167ba9e
-
Petter Strandmark authored
Change-Id: Id3b25a177aa92032f7f99b0a381c4f97d07d73b2
-
- 29 Apr, 2015 1 commit
-
-
Russell Smith authored
I think this is all of the cases. These cases arise because pow(a,b) is limited to real valued results, if the argument and result were complex valued then these cases would disappear. NOTE: Since there is so much special casing here, it is worth checking to see if cpow() is implemented in terms of pow(), and what might be the consequences of using cpow() on the type std::complex<Jet<double, N> >. It is *possible* that a separate implementation of cpow might be required also. Also some comment fixes. Change-Id: Ia1e38df4cdcb548f778304c2854cacba6e1556ff
-
- 27 Apr, 2015 1 commit
-
-
Sameer Agarwal authored
Change-Id: Iffcde8f168b7cd68e56f351c43088d7aef1e5e2f
-
- 16 Apr, 2015 4 commits
-
-
Johannes Schönberger authored
Change-Id: Iec7c12e971b331d1847f9aa91349317eb6524856
-
Sameer Agarwal authored
Change-Id: I5a9683333fbab189058076cb2053f8f7afc7096a
-
Johannes Schönberger authored
Change-Id: Id3bd3c7490d679b87259bb0fbf0b2dbc7e831a07
-
Russell Smith authored
Change-Id: Ife7f6f3aca06322fa414ef747008d2b4dc468a57
-
- 15 Apr, 2015 2 commits
-
-
Johannes Schönberger authored
Change-Id: I58685b81e119360a5b9085bb44efc55131ec9117
-
Keir Mierle authored
Change-Id: I78fae5be517e3ee4756ea3ce448c1173c39857d6
-
- 14 Apr, 2015 2 commits
- 11 Apr, 2015 2 commits
-
-
Alex Stewart authored
- Include example use of new find_dependency() macro in CMake 3.x to find dependencies in <Project>Config.cmake files. - Also fix typo in NNLS modeling docs. Change-Id: Ie9862b69c0451ee8775826f2957f5e182d937439
-
Mark Moll authored
Change-Id: I5ba9d264cce7b9a986b28fb24f27200d5c5f328d
-
- 10 Apr, 2015 1 commit
-
-
Sameer Agarwal authored
The code seemed to imply that its possible to call the Write method with a null pointer which is never the case. There would be no point to calling Write. Thanks to Michael Vitus for pointing this out. Change-Id: Ic9a276856d0a7e65d53a1cc8742d4831c1a52615
-
- 07 Apr, 2015 1 commit
-
-
Sameer Agarwal authored
Eigen upstream was broken a little while ago, and it seemed to be the case that we needed a fix for using the LLT factorization on ARM. This has been fixed and AFAIK there are no stable eigen releases with this bug in it. For full gore, see http://eigen.tuxfamily.org/bz/show_bug.cgi?id=992 In light of the fix, the extra layer of indirection introduced earlier is not needed and we are reverting to normal programming. Change-Id: I16929d2145253b38339b573b27b6b8fabd523704
-