1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
|
commit e7148795c3f2ce1f6625a7c81545707a6cbde3eb
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Mar 4 10:17:30 2013 -0800
Fix a memory leak in CXSparse::SolveCholesky.
Thanks to Alexander Mordvintsev for reporting this.
Change-Id: I5c6be4d3d28f062e83a1ad41cb8089c19362a005
commit 480f9b8551c02c429bc027197f3d868c5cc522c9
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Sun Mar 3 20:15:22 2013 -0800
Add gerrit instructions to the docs.
Change-Id: Ic98f20273f3ccbaeb8b4ca00c4ce0042a0d262f8
commit 7c60b5c2c6170f0f81a29dbaa2ca7d8031db843b
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Sun Mar 3 18:28:02 2013 -0800
version history update
Change-Id: Ia92caeb0f6659667ce1e56eefd0e3c87b3f6e538
commit a363a7b69c7b97e17ad671ba1aee30f201eafdd1
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Sun Mar 3 18:06:00 2013 -0800
Multithread DENSE_SCHUR
Replace the global lock in BlockRandomAccessDenseMatrix
with a per cell lock.
Change-Id: Iddbe38616157b6e0d3770eede3335a056c3ba18c
commit 31730ef55df802d1e251edab3bac3c0cdcb30647
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Thu Feb 28 11:20:28 2013 -0800
DenseSparseMatrix is now column-major.
1. Introduce new typdefs in eigen.h to allow for column
major matrices.
2. Clean up old unused typedefs, and the aligned typedefs
since they do not actually add any real performance.
3. Made eigen.h conform to the google style guide by removing
the using directives. They were polluting the ceres namespace.
4. Made the template specialization generator work again.
Change-Id: Ic2268c784534b737ebd6e1a043e2a327adaeca37
commit f8e43f7f2724c5413015e1f113ce860ee8b30428
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Wed Feb 27 08:55:20 2013 -0800
version history update
Change-Id: Ibd412a9e5beac3b3ac3e15b26fb11aa061956095
commit fef82b3a7af1e44f18f5343601fb19a4dd6f89ad
Author: Alex Stewart <alexs.mac@gmail.com>
Date: Wed Feb 27 10:44:12 2013 +0000
Bugfix - commenting-out unused member which results in build error on OS X with latest Xcode.
- Build error due to -Werror,-Wunused-private-field clang args.
- Raised with gtest group (as it also occurs with latest gtest:master but for a different
variable) with patch, but they don't want to fix for compatibility with legacy compilers/OS
see here: https://groups.google.com/forum/?fromgroups=#!topic/googletestframework/S1KLl2jkzws
Change-Id: I99984bcd9d07f6eb0e3fac58e27ddf0ac9e54265
commit 0bc3540b66cf9de4d4a317c6a760849aa66d414e
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Wed Feb 27 08:46:48 2013 -0800
Version history update
Change-Id: I6f79dd87e45bedf4bcf821e7b44f8b9553c39a7b
commit b59ac43b9d1122da3d00882efa7c5d6833c06ea7
Author: Alex Stewart <alexs.mac@gmail.com>
Date: Wed Feb 27 09:10:19 2013 +0000
Issue 83 fix: use correct pthread linker flags with clang.
1. -lpthreads was previously added to the CMAKE_CXX_FLAGS which are
not passed to the linker thus linking would fail.
2. Clang would emit a warning about -lpthreads being added to a
build instruction with -c (compile only).
This patch fixes both of these issues by adding -lpthreads to the
linker flags (and removes them from the CXX flags).
Change-Id: I5e54de3ab7eced177aa31f311926893598af5b56
commit 6fb1024ed5b197da261f71d1bb02716661da2fff
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Tue Feb 26 22:20:18 2013 -0800
Fix a small bug in evaluator.h
Change-Id: I2c4b8637e0ac8645721109f8b6bb2396ce8bb37b
commit 039ff07dd1a02e6c9cff335551f05bfe8269224b
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Tue Feb 26 09:15:39 2013 -0800
Evaluate ResidualBlocks without LossFunction if needed.
1. Add the ability to evaluate the problem without loss function.
2. Remove static Evaluator::Evaluate
3. Refactor the common code from problem_test.cc and
evaluator_test.cc into evaluator_test_utils.cc
Change-Id: I1aa841580afe91d288fbb65288b0ffdd1e43e827
commit c3fd3b960e489348d5b2c8b8f0167760e52ecbd9
Author: Taylor Braun-Jones <taylor@braun-jones.org>
Date: Tue Feb 26 00:30:35 2013 -0500
Only use cmake28 macro for RHEL6
This makes it possible to use the same spec to build on Fedora. It drops any
chance of building on RHEL5, but I doubt that was possible anyway.
Change-Id: Ia956eb6416504e520962ec2f617e03b40ca18203
commit b73148b9f38fe41032e696436566b78043a368db
Author: Taylor Braun-Jones <taylor@braun-jones.org>
Date: Mon Feb 25 02:34:00 2013 -0500
Remove -Wno-return-type-c-linkage option when using gcc
Only use this option when compiling with CLang which supports it.
Change-Id: I8555c16e82d61302f6a43672d0d63e5d4800c6b6
commit ba9442160dabf612a1dc51baf098937459b4b5ca
Author: Keir Mierle <mierle@gmail.com>
Date: Mon Feb 25 12:46:44 2013 -0800
Add the number of effective parameters to the final report.
Here is an example report, obtained by running:
bin/Debug/bundle_adjuster \
--input=../ceres-solver/data/problem-16-22106-pre.txt \
--linear_solver=iterative_schur \
--num_iterations=1 \
--alsologtostderr \
--use_local_parameterization \
--use_quaternions
Note that effective parameters is less than parameters by 16, which is the
number of cameras. In this case the local parameterization has a 3 dimensional
tangent space for the 4-dimensional quaternions.
Ceres Solver Report
-------------------
Original Reduced
Parameter blocks 22138 22138
Parameters 66478 66478
Effective parameters 66462 66462
Residual blocks 83718 83718
Residual 167436 167436
Minimizer TRUST_REGION
Trust Region Strategy LEVENBERG_MARQUARDT
Given Used
Linear solver ITERATIVE_SCHUR ITERATIVE_SCHUR
Preconditioner JACOBI JACOBI
Threads: 1 1
Linear solver threads 1 1
Linear solver ordering AUTOMATIC 22106, 32
Cost:
Initial 4.185660e+06
Final 7.221647e+04
Change 4.113443e+06
Number of iterations:
Successful 1
Unsuccessful 0
Total 1
Time (in seconds):
Preprocessor 0.697
Residual Evaluations 0.063
Jacobian Evaluations 27.608
Linear Solver 13.360
Minimizer 43.973
Postprocessor 0.004
Total 44.756
Termination: NO_CONVERGENCE
Change-Id: I6b6b8ac24f71bd187e67d95651290917642be74f
commit 36dc14ddf2fd53238c2ce21f172aa1989b31c0fd
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 25 10:33:10 2013 -0800
Fix a clang warning
Change-Id: I5ef32c6329f1f75efb30b16519b8de146a8339fa
commit 931c309b2734329ec6e5f0b88ce4a0b488ac47e5
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 25 09:46:21 2013 -0800
Cleanup based on comments by William Rucklidge
Change-Id: If269ba8e388965a8ea32260fd6f17a133a19ab9b
commit df36218c953e05d665df2cc96a6d7625e2307d97
Author: Taylor Braun-Jones <taylor@braun-jones.org>
Date: Fri Feb 15 18:28:11 2013 -0500
Add support for the CMake "LIB_SUFFIX" convention
Allows `make install` to work correctly on e.g. 64-bit systems where the
native libraries are installed to /usr/lib64
Change-Id: I71b4fae7b459c003cb5fac981278c668f2e29779
commit 70701745b85fef7eeba2c978ae849fd48927699c
Author: Taylor Braun-Jones <taylor@braun-jones.org>
Date: Fri Feb 15 19:09:48 2013 -0500
Add RPM .spec file
Tested on RHEL6.1 (with epel repository for dependencies).
make_release checks that that the version string in the .spec file is in
sync with the rest of the project and reminds the user to bump the
release string if necessary and to build/upload the RPM package.
Change-Id: I5f454f2a7301d1e0e120cb3c0e13a68d03bca917
commit d2a5195b512164fec286c6a52b40d7766977caa3
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Sun Feb 24 15:09:17 2013 -0800
Version history update.
Change-Id: I477ec05a78ca4cd735a525253c9b6adfa3bddea7
commit 2160c5b757c44206c6face6ca62d381f1db7a291
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Sun Feb 24 14:15:45 2013 -0800
Minor release script fixes.
Change-Id: Ifd0a7f4f584c85d4d9574eca46094b372a8d7aff
commit b53c9667f508c125b8aa833e7a063fa44ef8a98e
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Mon Feb 25 01:14:26 2013 +0600
Solve No Previous Prototype GCC warning
In some cases there were missing includes of own
header files from implementation files.
In other cases moved function which are only used
within single file into an anonymous namespace.
Change-Id: I2c6b411bcfbc521e2a5f21265dc8e009a548b1c8
commit 267ccc45a3e875bf87832a8ad615be690b4926d3
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Mon Feb 25 01:04:16 2013 +0600
Fix for MinGW build on Windows
GG_LONGLONG and GG_ULONGLONG shall use LL and ULL suffixes,
since MinGW is actuall a GCC compiler.
Solved by checking whether compilation happens with MinGW
or not using standard MinGW's __MINGW32__ and __MINGW64__
definitions.
Change-Id: I789b34f6342a56ba42f4b280f7242700022ab7a1
commit 509f68cfe3fd13b794c4e67ff38c761407c858cf
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Wed Feb 20 01:39:03 2013 -0800
Problem::Evaluate implementation.
1. Add Problem::Evaluate and tests.
2. Remove Solver::Summary::initial/final_*
3. Remove Solver::Options::return_* members.
4. Various cpplint cleanups.
Change-Id: I4266de53489896f72d9c6798c5efde6748d68a47
commit d4a0bf86d688d1b68e00ff302858de5a4e0d9727
Author: Keir Mierle <mierle@gmail.com>
Date: Sun Feb 24 10:35:44 2013 -0800
Fix threading build on Windows.
On Windows, including the "windows.h" header defines an enormous number of
symbols; some of which are macros with common names. In particular, "ERROR" and
"min" and "max" get defined. This causes clashes when user code references
these names in a context other than the intended use in windows.h.
To deal with this, the Microsoft engineers added the ability to control the
definition of these symbols by adding extra defines. In particular, including
windows.h in the following way
#define NOGDI
#define NOMINMAX
will reduce the number of macros defined. This way they will not conflict with
other uses in Ceres. For example, numeric_limits<double>::max() is impossible
to call without defining NOMINMAX.
Change-Id: I166f5d3bb6dc0e2e4b2ebf800fb19e49206f7874
commit beb4505311011130a7e54632137b0fbb5824cc9b
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Fri Feb 22 13:37:01 2013 -0800
Minor fixes
Based on William Rucklidge's review, including
a nasty bug in parameter block removal.
Change-Id: I3a692e589f600ff560ecae9fa85bb0b76063d403
commit 9a88bd7c4b40e2a1e0cd9b0dc09a3517c467e04e
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Tue Feb 19 13:09:12 2013 -0800
Minor bug fixes
Change-Id: I94e4521adf76a6c77db954c4a8955168e9d37b55
commit 956ed7e8f2054623615e6ae3601055d613897f26
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Tue Feb 19 07:06:15 2013 -0800
Various minor fixes.
1. Unused variable warnings and fixes.
2. Minor documentation update.
Change-Id: I815588a5806df1030a7c8750f4fb594c503f8998
commit 3e2c4ef9ad35e94198f4f3367b99fd91e26996a1
Author: Keir Mierle <mierle@gmail.com>
Date: Sun Feb 17 12:37:55 2013 -0800
Add adapters for column/row-major matrices to rotation.h
This patch introduces a matrix wrapper (MatrixAdapter) that allows to
transparently pass pointers to row-major or column-major matrices
to the conversion functions.
Change-Id: I7f1683a8722088cffcc542f593ce7eb46fca109b
commit 04938efe4bedec112083c5ceb227ba004f96bd01
Author: Keir Mierle <mierle@gmail.com>
Date: Sun Feb 17 12:37:55 2013 -0800
Add support for removing parameter and residual blocks.
This adds support for removing parameter and residual blocks.
There are two modes of operation: in the first, removals of
paremeter blocks are expensive, since each remove requires
scanning all residual blocks to find ones that depend on the
removed parameter. In the other, extra memory is sacrificed to
maintain a list of the residuals a parameter block depends on,
removing the need to scan. In both cases, removing residual blocks
is fast.
As a caveat, any removals destroys the ordering of the parameters,
so the residuals or jacobian returned from Solver::Solve() is
meaningless. There is some debate on the best way to handle this;
the details remain for a future change.
This also adds some overhead, even in the case that fast removals
are not requested:
- 1 int32 to each residual, to track its position in the program.
- 1 pointer to each parameter, to store the dependent residuals.
Change-Id: I71dcac8656679329a15ee7fc12c0df07030c12af
commit fa21df8cd969bb257b87c9ef7c0147d8d5ea8725
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 18 08:48:52 2013 -0800
Add script for building documentation.
Update make_release
Minor documentation fixes.
Change-Id: I1248ec3f58be66b5929aee6f2aa392c15d53ed83
commit 290b975d1d4eba44205bbeb0fa6b3ce8a6fa4a0c
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Sun Feb 17 16:50:37 2013 -0800
Preconditioner refactoring.
1. Added a Preconditioner interface.
2. SCHUR_JACOBI is now its own class and is independent of
SuiteSparse.
Change-Id: Id912ab19cf3736e61d1b90ddaf5bfba33e877ec4
commit d010de543530001fa917501a13ba02879c8ea52f
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Fri Feb 15 14:26:56 2013 -0800
Solver::Summary::FullReport() supports line search now.
Change-Id: Ib08d300198b85d9732cfb5785af4235ca4bd5226
commit fbbea464d1c9575d8224220d3e61f92d93fe9739
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Fri Feb 15 11:25:03 2013 -0800
Update documentation.
Change-Id: Idb03741fab9facbbbda85d5a82723f0b4c1c6c60
commit 8e1f83c4c457fb7238eb342eab744c5570b73c4d
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Fri Feb 15 08:35:40 2013 -0800
Speed up Problem construction and destruction.
Change-Id: I3147b0b60eedf40f8453d5a39ff04a572c445a2f
commit efb47f39c31f0ef1bb9c015c8c0d114153df6379
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Thu Feb 14 19:44:11 2013 -0800
Documentation update
Change-Id: I0fec43bff4fe0ea6cd2d2a8b34dac2330a517da0
commit be418a336cae5672111e0f6989e6d8d6c1fa24a6
Author: Markus Moll <markus.moll@esat.kuleuven.be>
Date: Fri Feb 15 17:19:28 2013 +0100
Fix evaluation of initial cost and corresponding test
Commit f102a68e411d11b4864e17b69a2d781e9c2692ad seems to have introduced
a bug in both solver_impl.cc and solver_impl_test.cc
solver_impl_test showed 3 errors, where two were due to ceres NOT
failing when the test expected that, and one was due to the initial cost
being wrong (-1 instead of 0.5)
Ceres now does not attempt to evaluate the initial cost if
options.return_initial_xxx is not set. It therefore did not fail in
the tests.
It also seems that the CERES_EVALUATE macro erroneously always sets
final_cost, even when called with 'initial' as argument.
Change-Id: Ia3c3eeb476e7023a3f80b201124010d6c67e9824
commit 974513a41ff1ddc671d3dc6aa09ce708bbe447da
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Tue Feb 12 14:22:40 2013 -0800
Bug fix in DynamicAutoDiffCostFunction
Add handling of constant parameter blocks.
Change-Id: I8b2ea79f47e190604fc4bed27705798240689f71
commit 3130b3cea4028c71d9ae18b7465d7627f29fef7d
Author: Keir Mierle <mierle@gmail.com>
Date: Mon Feb 11 19:39:29 2013 -0800
Add support for dynamic autodiff
Change-Id: I17d573696172ab691a9653db99a620e4bc1bd0d0
commit c58e6dc3ea550302c8151003b17e9bc2a1acc316
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 11 16:41:06 2013 -0800
More refined event logging in solver_impl.cc
Change-Id: Ie3061c921c006d2600d16185c690f52ccf816f68
commit f102a68e411d11b4864e17b69a2d781e9c2692ad
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 11 15:08:40 2013 -0800
Remove extraneous initial and final evals.
Change-Id: I80ed87435f399cbf452c68be7ea1e7139696aa4a
commit 0593747ee09e21a9c0a2b604d51e21a6cdd21315
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 11 13:57:12 2013 -0800
Fix a memory leak in cxsparse.cc
Thanks to Alexander Mordvintsev for reporting it.
Change-Id: Ia872be42ce80209e46722fc16a928496cf97e256
commit 0abfb8f46f534b05413bb4d64b960d6fd0a9befb
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 11 13:40:04 2013 -0800
Delete the tex documentation.
Change-Id: I15c78a8b33c5fd94941238814ac023a8fb251a20
commit 085cd4a6641c404334d17e5ea38f9e5b68a06ba7
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Wed Feb 6 14:31:07 2013 -0800
Rewrite of the tutorial.
1. Quicker starting point.
2. Better discussion of derivatives.
3. Better hyperlinking to code and class documentation.
4. New robust estimation example.
5. Better naming of example code.
6. Removed dependency on gflags in all the core examples covered
in the tutorial.
Change-Id: Ibf3c7fe946fa2b4d22f8916a9366df267d34ca26
commit c0fdc9753909fc37fed2cb5e0fcc02fc65789d68
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Wed Feb 6 14:31:07 2013 -0800
Update nist.cc to better evaluate results.
Ceres beats Minpack and HBN handily.
Change-Id: I7df8a47b753202ed0b53ab128ce48466bf9f8083
commit d91b671798125fd4889914d92a29cf0f7a5fef21
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Wed Feb 6 01:08:40 2013 -0800
More small changes
More small changes to the docs.
1. Better landing page.
2. Minor tweaks to the side bar.
3. Reference to more example code.
4. Local MathJax references.
Change-Id: I39b9436dc2803732a875bbbee7f15802c4934031
commit 42a84b87fa5cc34551244a3b2b6a3e1f13a29514
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Fri Feb 1 12:22:53 2013 -0800
Expand reporting of timing information.
1. Add an ExecutionSummary object to record execution
information about Ceres objects.
2. Add an EventLogger object to log events in a function call.
3. Add a ScopedExecutionTimer object to log times in ExecutionSummary.
4. Instrument ProgramEvaluator and all the linear solvers
to report their timing statistics.
5. Connect the timing statistics to Summary::FullReport.
6. Add high precision timer on unix systems using
gettimeofday() call.
7. Various minor clean ups all around.
Change-Id: I5e09804b730b09535484124be7dbc1c58eccd1d4
commit 08c891fcb6ea1bf66e6d4619273765a644605dfc
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 4 20:18:58 2013 -0800
Various small changes.
1. Compact build instructions.
2. Lots of small edits by Simon Fuhrmann.
Change-Id: I8c0c67922021041dcf7f4ecdb6c6e6dd2e2fd7e5
commit e2e857ad6be322e9cf750d4b11ccf10800e57d96
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 4 19:40:45 2013 -0800
Sidebar has global table of contents.
Change-Id: I7fe9053868a4660b0db8d7607ee618fc30ddaefd
commit b9182147d96f865673c2756ced4cbb127ca082a3
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Mon Feb 4 17:55:25 2013 -0800
Change the theme to be closer to ReadTheDocs.org
Change-Id: I61a76f5b5e5c292b54fdf51b66940ce80bd1cd5f
commit 3d87b72c895835bbfc10965d50dc96608632114d
Author: Sameer Agarwal <sameeragarwal@google.com>
Date: Sat Feb 2 00:49:31 2013 -0800
Convert documentation from LaTeX to Sphinx.
A live version of the doc can be found at
http://homes.cs.washington.edu/~sagarwal/ceres-solver/
As it stands, the documentation has better hyperlinking
and coverage than the latex documentation now.
Change-Id: I7ede3aa83b9b9ef25104caf331e5727b4f5beae5
|