1 %%% Build instructions 2 %%% pdflatex -shell-escape ceres && bibtex ceres && pdflatex -shell-escape ceres && pdflatex -shell-escape ceres 3 4 \documentclass[11pt,letterpaper,oneside]{memoir} 5 \usepackage{fouriernc} 6 \usepackage[T1]{fontenc} 7 \usepackage{minted,amsmath,amssymb,amsthm,url,booktabs} 8 \usepackage[pdftex]{graphicx} 9 \usepackage[sort&compress]{natbib} 10 \usepackage[breaklinks=true,letterpaper=true,colorlinks,bookmarks=false]{hyperref} 11 \usepackage{algorithm} 12 \usepackage{algorithmic} 13 14 % page dimensions 15 \addtolength{\textwidth}{1.5in} 16 \addtolength{\oddsidemargin}{-0.75in} 17 \addtolength{\evensidemargin}{-0.75in} 18 \addtolength{\spinemargin}{-0.75in} 19 \addtolength{\foremargin}{-0.75in} 20 \setlength{\parindent}{0.0in} 21 \setlength{\parskip}{0.12in} 22 23 % Our pagestyle 24 \copypagestyle{ceres}{headings} 25 \makeevenhead{ceres}{\thepage}{}{\scshape\rightmark} 26 \makeoddhead{ceres}{\scshape\rightmark}{}{\thepage} 27 28 %% ceres chapter style 29 \makechapterstyle{ceres}{% 30 \renewcommand{\chapterheadstart}{}% 31 \renewcommand{\printchaptername}{}% 32 \renewcommand{\chapternamenum}{}% 33 \renewcommand{\printchapternum}{}% 34 \renewcommand{\afterchapternum}{}% 35 \renewcommand{\printchaptertitle}[1]{% 36 \raggedright\Large\scshape\MakeLowercase{##1}}% 37 \renewcommand{\afterchaptertitle}{% 38 \vskip\onelineskip \hrule\vskip\onelineskip}% 39 }% 40 \renewcommand{\cftchapterfont}{\normalfont}% 41 \renewcommand{\cftchapterpagefont}{\normalfont}% 42 \renewcommand{\cftchapterpresnum}{\bfseries}% 43 \renewcommand{\cftchapterleader}{}% 44 \renewcommand{\cftchapterafterpnum}{\cftparfillskip}% 45 46 47 %% Section title style 48 \setsecheadstyle{\raggedright\scshape\MakeLowercase}% 49 \setbeforesecskip{-\onelineskip}% 50 \setaftersecskip{\onelineskip}% 51 52 %% Subsection title style 53 54 \setsubsecheadstyle{\sethangfrom{\noindent ##1}\raggedright\itshape}% 55 \setbeforesubsecskip{-\onelineskip}% 56 \setaftersubsecskip{\onelineskip}% 57 58 \captiontitlefont{\small\sffamily}% 59 \let\caption\legend 60 61 62 \title{\Huge\scshape 63 \MakeLowercase{Ceres Solver: Tutorial \& Reference} 64 } 65 \author{ 66 \scshape\MakeLowercase{Sameer Agarwal} \\ \texttt{sameeragarwal (a] google.com} 67 \and 68 \scshape\MakeLowercase{Keir Mierle} \\ \texttt{ keir (a] google.com} 69 } 70 \checkandfixthelayout 71 72 \pagestyle{ceres} 73 74 \newcommand{\ceres}{{Ceres }} 75 \newcommand{\reals}{\mathbb{R} } 76 \def\eg{\emph{e.g. }} 77 \def\ie{\emph{i.e. }} 78 \newcommand{\glog}{\texttt{google-glog}} 79 \newcommand{\gflags}{\texttt{gflags}} 80 \newcommand{\eigen}{\texttt{Eigen3}} 81 \newcommand{\suitesparse}{\texttt{SuiteSparse}} 82 \newcommand{\cholmod}{\texttt{CHOLMOD}} 83 \newcommand{\amd}{\texttt{AMD}} 84 \newcommand{\colamd}{\texttt{COLAMD}} 85 \newcommand{\lapack}{\texttt{LAPACK}} 86 \newcommand{\blas}{\texttt{BLAS}} 87 \newcommand{\denseschur}{\texttt{DENSE\_SCHUR}} 88 \newcommand{\sparseschur}{\texttt{SPARSE\_SCHUR}} 89 \newcommand{\iterativeschur}{\texttt{ITERATIVE\_SCHUR}} 90 \newcommand{\cmake}{\texttt{cmake}} 91 \newcommand{\protobuf}{\texttt{protobuf}} 92 \settocdepth{chapter} 93 94 \begin{document} 95 \chapterstyle{ceres} 96 \maketitle 97 \thispagestyle{empty} 98 \newpage 99 \pagestyle{ceres} 100 \tableofcontents 101 \newpage 102 103 \chapter{A Note to the Reader} 104 Building this pdf from source requires a relatively recent installation of \texttt{LaTeX}~\footnote{\url{http://www.tug.org/texlive/}}, \texttt{minted.sty}\footnote{\url{http://code.google.com/p/minted/}} and \texttt{pygments}\footnote{\url{http://pygments.org/}}. 105 106 Despite our best efforts, this manual remains a work in progress and the source code for Ceres Solver remains the ultimate reference. 107 108 \input{changes} 109 \input{introduction} 110 \input{build} 111 112 %% Tutorial 113 \part{Tutorial} 114 \label{part:tutorial} 115 \input{nnlsq} 116 \input{helloworld} 117 \input{powell} 118 \input{curvefitting} 119 \input{bundleadjustment} 120 121 %% Reference 122 \part{Reference} 123 \label{part:reference} 124 \input{reference-overview} 125 \input{modeling} 126 \input{solving} 127 128 \input{faq} 129 \input{further} 130 \bibliographystyle{plain} 131 \bibliography{ceres-solver} 132 \end{document} 133