.. _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.

.. [Keys] R. G. Keys, **Cubic convolution interpolation for digital
   image processing**, *IEEE Trans. on Acoustics, Speech, and Signal
   Processing*, 29(6), 1981.

.. [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.

.. [Kanzow] C. Kanzow, N. Yamashita and M. Fukushima,
   **Levenberg–Marquardt methods with strong local convergence
   properties for solving nonlinear equations with convex
   constraints**, *Journal of Computational and Applied Mathematics*,
   177(2):375–397, 2005.

.. [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.

.. [Oren] S. S. Oren, **Self-scaling Variable Metric (SSVM) Algorithms
   Part II: Implementation and Experiments**, Management Science,
   20(5), 863-874, 1974.

.. [Press] W. H. Press, S. A. Teukolsky, W. T. Vetterling
   & B. P. Flannery, **Numerical Recipes**, Cambridge University
   Press, 2007.

.. [Ridders] C. J. F. Ridders, **Accurate computation of F'(x) and
   F'(x) F"(x)**, Advances in Engineering Software 4(2), 75-76, 1978.

.. [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.
