.. _sec-bibliography:

============
Bibliography
============

.. [Agarwal] S. Agarwal, N. Snavely, S. M. Seitz and R. Szeliski,
   **Bundle Adjustment in the Large**, *Proceedings of the European
   Conference on Computer Vision*, pp. 29--42, 2010.

.. [Bjorck] A. Bjorck, **Numerical Methods for Least Squares
   Problems**, SIAM, 1996

.. [Brown] D. C. Brown, **A solution to the general problem of
   multiple station analytical stereo triangulation**,  Technical
   Report 43, Patrick Airforce Base, Florida, 1958.

.. [ByrdNocedal] R. H. Byrd, J. Nocedal, R. B. Schanbel,
   **Representations of Quasi-Newton Matrices and their use in Limited
   Memory Methods**, *Mathematical Programming* 63(4):129–-156, 1994.

.. [ByrdSchnabel] R.H. Byrd, R.B. Schnabel, and G.A. Shultz, **Approximate
   solution of the trust region problem by minimization over
   two dimensional subspaces**, *Mathematical programming*,
   40(1):247–263, 1988.

.. [Chen] Y. Chen, T. A. Davis, W. W. Hager, and
   S. Rajamanickam, **Algorithm 887: CHOLMOD, Supernodal Sparse
   Cholesky Factorization and Update/Downdate**, *TOMS*, 35(3), 2008.

.. [Conn] A.R. Conn, N.I.M. Gould, and P.L. Toint, **Trust region
   methods**, *Society for Industrial Mathematics*, 2000.

.. [GolubPereyra] G.H. Golub and V. Pereyra, **The differentiation of
   pseudo-inverses and nonlinear least squares problems whose
   variables separate**, *SIAM Journal on numerical analysis*,
   10(2):413–432, 1973.

.. [HartleyZisserman] R.I. Hartley & A. Zisserman, **Multiview
   Geometry in Computer Vision**, Cambridge University Press, 2004.

.. [KanataniMorris] K. Kanatani and D. D. Morris, **Gauges and gauge
   transformations for uncertainty description of geometric structure
   with indeterminacy**, *IEEE Transactions on Information Theory*
   47(5):2017-2028, 2001.

.. [KushalAgarwal] A. Kushal and S. Agarwal, **Visibility based
   preconditioning for bundle adjustment**, *In Proceedings of the
   IEEE Conference on Computer Vision and Pattern Recognition*, 2012.

.. [Levenberg] K. Levenberg, **A method for the solution of certain
   nonlinear problems in least squares**, *Quart. Appl.  Math*,
   2(2):164–168, 1944.

.. [LiSaad] Na Li and Y. Saad, **MIQR: A multilevel incomplete qr
   preconditioner for large sparse least squares problems**, *SIAM
   Journal on Matrix Analysis and Applications*, 28(2):524–550, 2007.

.. [Madsen] K. Madsen, H.B. Nielsen, and O. Tingleff, **Methods for
   nonlinear least squares problems**, 2004.

.. [Mandel] J. Mandel, **On block diagonal and Schur complement
   preconditioning**, *Numer. Math.*, 58(1):79–93, 1990.

.. [Marquardt] D.W. Marquardt, **An algorithm for least squares
   estimation of nonlinear parameters**, *J. SIAM*, 11(2):431–441,
   1963.

.. [Mathew] T.P.A. Mathew, **Domain decomposition methods for the
   numerical solution of partial differential equations**, Springer
   Verlag, 2008.

.. [NashSofer] S.G. Nash and A. Sofer, **Assessing a search direction
   within a truncated newton method**, *Operations Research Letters*,
   9(4):219–221, 1990.

.. [Nocedal] J. Nocedal, **Updating Quasi-Newton Matrices with Limited
   Storage**, *Mathematics of Computation*, 35(151): 773--782, 1980.

.. [NocedalWright] J. Nocedal & S. Wright, **Numerical Optimization**,
   Springer, 2004.

.. [RuheWedin] A. Ruhe and P.Å. Wedin, **Algorithms for separable
   nonlinear least squares problems**, Siam Review, 22(3):318–337,
   1980.

.. [Saad] Y. Saad, **Iterative methods for sparse linear
   systems**, SIAM, 2003.

.. [Stigler] S. M. Stigler, **Gauss and the invention of least
   squares**, *The Annals of Statistics*, 9(3):465-474, 1981.

.. [TenenbaumDirector] J. Tenenbaum & B. Director, **How Gauss
   Determined the Orbit of Ceres**.

.. [TrefethenBau] L.N. Trefethen and D. Bau, **Numerical Linear
   Algebra**, SIAM, 1997.

.. [Triggs] B. Triggs, P. F. Mclauchlan, R. I. Hartley &
   A. W. Fitzgibbon, **Bundle Adjustment: A Modern Synthesis**,
   Proceedings of the International Workshop on Vision Algorithms:
   Theory and Practice, pp. 298-372, 1999.

.. [Wiberg] T. Wiberg, **Computation of principal components when data
   are missing**, In Proc. *Second Symp. Computational Statistics*,
   pages 229–236, 1976.

.. [WrightHolt] S. J. Wright and J. N. Holt, **An Inexact
   Levenberg Marquardt Method for Large Sparse Nonlinear Least
   Squares**, *Journal of the Australian Mathematical Society Series
   B*, 26(4):387–403, 1985.




