Commit Graph

270 Commits

Author SHA1 Message Date
Alex Stewart 78cc2c4719 Cleaning up exported CeresConfig.cmake.
- Adding FindPackage scripts for all of Ceres dependencies.
- Moving depend.cmake contents to CeresConfig.cmake and cleaning up
  search for Ceres & required dependencies, no longer push Ceres
  options into client.
- Fixing uninstall to remove ceres include root directory.
- Fixing main CMakeLists to install miniglog header if enabled.
- Making miniglog library shared/static with Ceres library.

Change-Id: If926bebd11720230c5136597ccba672394ed9777
2013-10-17 19:13:08 +00:00
Sameer Agarwal 3654a79b8e Update documentation.
1. Update the documentation to be Sphinx friendly.

2. Remove dead fields in Solver::Summary.
   a. Solver::Summary::num_eliminate_blocks_given.
   b. Solver::Summary::num_eliminate_blocks_used.

Change-Id: I43e0070c88abe3bf285d91e6c7524f3d887deb33
2013-10-11 12:53:59 -07:00
Sameer Agarwal 7da85fb0e2 Documentation update
1. Make the documentation build with Sphinx 1.2
2. Update the documentation for IterationSummary to
   be Sphinx friendly.

Change-Id: I93c374987bc0597e854fbcb5a4a25dd2058607f5
2013-10-11 11:41:42 -07:00
Alex Stewart f5f21b5897 Adding check for broken version of Clang with Xcode 4.5.x.
- Also updating EXECUTE_PROCESS() calls to compiler to handle case
  when a compilation wrapper (e.g. ccache) is used.

Change-Id: I32837233a06ed1843125fb04852f82a9b8503769
2013-10-10 19:54:54 +01:00
Sameer Agarwal c7ebfb8e5e Documentation update
Change-Id: I10c6c8375f27c7fa4cd1c381b4f39d784fa946e1
2013-10-09 22:13:01 -07:00
Sameer Agarwal 8ba41e8b45 Lint cleanup from William Rucklidge
Change-Id: Ib2ea43203ac06551162ab306d7dece504e4f07aa
2013-10-09 11:35:40 -07:00
Alex Stewart fc8ede2d5e Making LAPACK a CMake option and updating build docs.
Change-Id: Iffd11866aa04a26b70cc788f992276e96c06eb6d
2013-10-08 23:48:58 +01:00
Alex Stewart 0b07d3e9f9 Making all config options in CMake & SuiteSparse cleanup.
- Also marking all library and include directories found via
  find_library/path advanced (not directly visible in CMake GUI unless
  toggled to show advanced options).
- Updating documentation to reflect SuiteSparse requirements on Ubuntu
  and ability to control build options in CMake GUI.
- Splitting out all SuiteSparse related find_XX directives into a
  FindSuiteSparse script.

Change-Id: I0d69e02392ec547a7c365ba3e06f2ebc61cacf16
2013-10-07 19:50:24 +01:00
Sameer Agarwal 10ac7d8048 Lint cleanup and a bug fix.
Thanks to William Rucklidge.

Change-Id: I963656be661020abacbff792cfc3025623503db8
2013-10-03 14:37:07 -07:00
Sameer Agarwal 3a2158d728 NumericDiffCostFunction supports dynamic number of residuals.
1. Update AutoDiffCostFunction template parameters to be consistent
with NumericDiffCostFunction.

2. Update the documentation for NumericDiffCostFunction and
AutoDiffCostFunction.

Change-Id: I113038abb5bedebb0f6f326f2a4ac31480d785fc
2013-10-03 20:09:59 +00:00
Sameer Agarwal 4d2df0cf34 Add IterationSummary::gradient_norm.
Iteration summary now reports the 2-norm of the gradient also.

Change-Id: I1ed7f1456ee4f546c9b42423d7a4ec3079ec078f
2013-09-13 12:54:03 -07:00
Keir Mierle 682cd3c278 Update version history with shared libs changes
Change-Id: Iafd55087bc5eef4c15c3b544222147aa99df7690
2013-09-03 14:28:32 -07:00
Keir Mierle 340d7c1415 Update version history with miniglog fix
Change-Id: Ic69f4994259e05fa88548b957146a1aac73b7af7
2013-09-03 13:50:03 -07:00
Sameer Agarwal 0338f9a8e6 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
2013-09-02 22:41:59 -07:00
Sameer Agarwal c24a4ec6fb 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
2013-08-25 23:56:48 -07:00
Sameer Agarwal 3e6ef29be6 Update version history to reflect API changes
Change-Id: I5ce744d72b991abba17b5cf9c6a1e1f158693151
2013-08-20 09:57:03 -07:00
Sameer Agarwal 8f33332c59 Documentation update for 1.7.0rc2
Change-Id: I6b0c19bed57b51a0f6591c60a4ae0d849c62451b
2013-08-18 23:32:50 -07:00
Sameer Agarwal d61b68aaac Lint cleanups from William Rucklidge
Change-Id: Ia4756ef97e65837d55838ee0b30806a234565bfd
2013-08-16 17:02:56 -07:00
Sameer Agarwal 367b65e17a 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
2013-08-13 14:57:03 -07:00
Sameer Agarwal c5bcfc01af Lint fixes from Jim Roseborough.
Change-Id: If93e1972041b36410225a509e3c8c7c818f92124
2013-07-19 15:50:27 -07:00
Sameer Agarwal 16924168ce Update version from 1.6.0 -> 1.7.0rc1.
Change-Id: I420a8907142bffad0e3aa6c7196541ca2309c099
2013-07-18 13:35:01 -07:00
Sameer Agarwal 42be9cafe6 Update documentation for Covariance
Change-Id: Ia4a7347ef8267b7107698d85fcbfc986111958dc
2013-07-18 08:02:08 -07:00
Alex Stewart 9aa0e3cf72 Adding Wolfe line search algorithm and full BFGS search direction options.
Change-Id: I9d3fb117805bdfa5bc33613368f45ae8f10e0d79
2013-07-17 08:14:20 +00:00
Sameer Agarwal 0a07fbf873 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
2013-07-10 17:02:18 -07:00
Sameer Agarwal eeedd2e191 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
2013-07-07 23:04:31 -07:00
Sameer Agarwal 09244015e3 Expose line search parameters in Solver::Options.
Change-Id: Ifc52980976e7bac73c8164d80518a5a19db1b79d
2013-06-30 22:51:21 -07:00
Sameer Agarwal 79d9353036 Remove Protocol Buffers support.
Change-Id: I451c543c82cdfb566736aab94d836abcfb5c689d
2013-06-24 14:28:40 -07:00
Johannes Schönberger 1b89595b4c Fix Problem::RemoveParameterBlock documentation
Ordering of Problem::RemoveParameterBlock and Problem::RemoveResidualBlock
changed, as RemoveResidualBlock is being referred in RemoveParameterBlock
with "above".

Change-Id: I07f8e7b7e20ba239a72c15ed9e79576f5def090a
2013-06-16 14:35:06 +02:00
Sameer Agarwal c4a329155c Enable support for dumping trust region minimizer problems.
This support was broken due to the TrustRegionMinimizer refactoring.
It is now enabled again, with the responsibilty for dumping the
problem shifted to the individual TrustRegionStrategy.

There is however one wrinkle, which is perhaps an indication of
poor design to start with. The LinearLeastSquaresProblemProto
carries in it num_eliminate_blocks, something which does not
exist anymore. More importantly, the TrustRegionStrategy does not
have access to this quantity anymore.

Dealing with this will be the subject of a future change.

Change-Id: I358adf6a2e386f4940b617bf950d6c7e87d2635d
2013-06-13 22:00:48 -07:00
Sameer Agarwal 1f17f56c4e Add Covariance documentation to html docs.
Change-Id: I11ddc9f7069964596760c6ea4d85c44312c0a67a
2013-06-09 23:23:38 -07:00
Sameer Agarwal 8f7e8963cb Multithread covariance estimation.
1. Multithread the inversion of J'J.
2. Simplify the dense rank truncation loop.
3. Minor correction to building documentation.

Change-Id: Ide932811c0f28dc6c253809339fb2caa083865b5
2013-06-04 16:19:45 -07:00
Sameer Agarwal 4437639e9b Documentation updates.
1. Further tightening of the Covariance documentation.
2. Documented minimizer progress output.
3. Lint cleanup from William Rucklidge.
4. Updated version history.

Change-Id: I8bc28484675d4edf89a7c050b6379dbac6c39e91
2013-06-03 09:41:27 -07:00
Sameer Agarwal 14297c977c Fix a grammo
Change-Id: I0b9d21cc17772902343430d7a05b31d1f52785ed
2013-05-31 16:44:22 -07:00
Sameer Agarwal ae6aad05fb Move citation information to the main page
Change-Id: Id8b803ac0ddb02390a422197565ec5e74378304f
2013-05-31 21:01:48 +00:00
Sameer Agarwal f0b071bac4 Lint and other fixes from William Rucklidge
Change-Id: Ic18561a5cdadccc75e97818fa4422bb5d9d43df9
2013-05-31 13:22:51 -07:00
Sameer Agarwal 0939632c57 More documentation updates
Change-Id: I762bd28b4ebc327d39a572990e02157ef55ad617
2013-05-30 07:39:38 +00:00
Sameer Agarwal eb04dc10c5 Minor fix to tutorial.rst
Change-Id: Idb4408dedf81ff96732b27b4e04cbaed9f257bf4
2013-05-28 11:01:20 -07:00
Sameer Agarwal ebbb984db8 Various corrections and enhancements to the documentation.
Change-Id: I03519bfccf4367b36d36006f1450d5fbcbbf8621
2013-05-28 10:37:01 -07:00
Sameer Agarwal 97e1795704 Minor documentation fixes
Change-Id: Ic531475acf2386b6f5839d2434bdcc1e4c730d14
2013-05-26 11:48:09 -07:00
Pablo Speciale dbc398d66e Rodriques instead of Rodriquez (he was french), and other minor erros in documentation
Change-Id: Icb56acffb373f064314ecda1e91a728cfacd07b4
2013-05-24 02:43:16 +00:00
Sameer Agarwal 395b4e9dea Documentation fixes
Thanks for Stephan Wirth.

Change-Id: I1dc3c0ab15d97888fdfaa3814d80a3c529665731
2013-05-23 12:49:35 -07:00
Sameer Agarwal a6b76c7ff6 Fix minor typo in contributing.rst
Change-Id: I947142f5246660b01cf8b997922bac8cb74e61e0
2013-05-09 14:58:49 -07:00
Sameer Agarwal 774e9aef3c Fix line noise in docs/index.rst
Change-Id: Ide0cc2daf142a822e26bef501ab2945b1185ac8b
2013-05-09 12:12:07 -07:00
Sameer Agarwal 5d7c19557c Update documents to reflect version change.
And a few minor changes around BLAS.

Change-Id: Ie4c1eb35f7180f648493837b53f1c8bba48109d6
2013-05-07 12:47:51 -07:00
Sameer Agarwal ac62696293 Lint cleanup
Version history update.

Update spec file for release.

Change-Id: Ic51dc33f0c6cc2584e812b3b71d85fe90d048c11
2013-05-06 07:25:15 -07:00
Sameer Agarwal 01fb8a3133 Add documentation about CostFunction::Evaluate.
Change-Id: I1df42c14f20c7c03f2a8ae21e75dda98cc592214
2013-04-30 21:04:24 -07:00
Pablo Speciale 69759a2c95 Small error in documentation: "[...] where x' has the same size as x [...]"
Change-Id: I09d6c78743229a4047dbc8d21f148f0e36fefdc0
2013-04-29 18:29:22 -07:00
Sameer Agarwal 937777a5ac Miscellanous fixes in preparation for 1.6.0
1. Bug fix in NumericDiffCostFunction (Thanks to Nicolas Brodu).
2. Minor documentation update in solver.h
3. Version history update.
4. Bump the version and ABI version.

Change-Id: I951574ddd0b2c4c03b9c79ff33eb9bea549071e7
2013-04-29 15:58:54 -07:00
Sameer Agarwal 564a83fcc6 Lint cleanup from William Rucklidge.
Change-Id: I8d4a0aa3e264775d20e99a6b5265f3023de92560
2013-03-26 11:41:50 -07:00
Sameer Agarwal cbe64827be Update documentation
Change-Id: Iea3c4b5409e593b1fb070a491ba8a479db32ca58
2013-03-26 18:26:38 +00:00