diff options
Diffstat (limited to 'docs/ceres-solver.tex')
-rw-r--r-- | docs/ceres-solver.tex | 132 |
1 files changed, 132 insertions, 0 deletions
diff --git a/docs/ceres-solver.tex b/docs/ceres-solver.tex new file mode 100644 index 0000000..cf5e52d --- /dev/null +++ b/docs/ceres-solver.tex @@ -0,0 +1,132 @@ +%%% Build instructions +%%% pdflatex -shell-escape ceres && bibtex ceres && pdflatex -shell-escape ceres && pdflatex -shell-escape ceres + +\documentclass[11pt,letterpaper,oneside]{memoir} +\usepackage{fouriernc} +\usepackage[T1]{fontenc} +\usepackage{minted,amsmath,amssymb,amsthm,url,booktabs} +\usepackage[pdftex]{graphicx} +\usepackage[sort&compress]{natbib} +\usepackage[breaklinks=true,letterpaper=true,colorlinks,bookmarks=false]{hyperref} +\usepackage{algorithm} +\usepackage{algorithmic} + +% page dimensions +\addtolength{\textwidth}{1.5in} +\addtolength{\oddsidemargin}{-0.75in} +\addtolength{\evensidemargin}{-0.75in} +\addtolength{\spinemargin}{-0.75in} +\addtolength{\foremargin}{-0.75in} +\setlength{\parindent}{0.0in} +\setlength{\parskip}{0.12in} + +% Our pagestyle +\copypagestyle{ceres}{headings} +\makeevenhead{ceres}{\thepage}{}{\scshape\rightmark} +\makeoddhead{ceres}{\scshape\rightmark}{}{\thepage} + +%% ceres chapter style +\makechapterstyle{ceres}{% +\renewcommand{\chapterheadstart}{}% +\renewcommand{\printchaptername}{}% +\renewcommand{\chapternamenum}{}% +\renewcommand{\printchapternum}{}% +\renewcommand{\afterchapternum}{}% +\renewcommand{\printchaptertitle}[1]{% +\raggedright\Large\scshape\MakeLowercase{##1}}% +\renewcommand{\afterchaptertitle}{% +\vskip\onelineskip \hrule\vskip\onelineskip}% +}% +\renewcommand{\cftchapterfont}{\normalfont}% +\renewcommand{\cftchapterpagefont}{\normalfont}% +\renewcommand{\cftchapterpresnum}{\bfseries}% +\renewcommand{\cftchapterleader}{}% +\renewcommand{\cftchapterafterpnum}{\cftparfillskip}% + + +%% Section title style +\setsecheadstyle{\raggedright\scshape\MakeLowercase}% +\setbeforesecskip{-\onelineskip}% +\setaftersecskip{\onelineskip}% + +%% Subsection title style + +\setsubsecheadstyle{\sethangfrom{\noindent ##1}\raggedright\itshape}% +\setbeforesubsecskip{-\onelineskip}% +\setaftersubsecskip{\onelineskip}% + +\captiontitlefont{\small\sffamily}% +\let\caption\legend + + +\title{\Huge\scshape +\MakeLowercase{Ceres Solver: Tutorial \& Reference} +} +\author{ +\scshape\MakeLowercase{Sameer Agarwal} \\ \texttt{sameeragarwal@google.com} +\and +\scshape\MakeLowercase{Keir Mierle} \\ \texttt{ keir@google.com} +} +\checkandfixthelayout + +\pagestyle{ceres} + +\newcommand{\ceres}{{Ceres }} +\newcommand{\reals}{\mathbb{R} } +\def\eg{\emph{e.g. }} +\def\ie{\emph{i.e. }} +\newcommand{\glog}{\texttt{google-glog}} +\newcommand{\gflags}{\texttt{gflags}} +\newcommand{\eigen}{\texttt{Eigen3}} +\newcommand{\suitesparse}{\texttt{SuiteSparse}} +\newcommand{\cholmod}{\texttt{CHOLMOD}} +\newcommand{\amd}{\texttt{AMD}} +\newcommand{\colamd}{\texttt{COLAMD}} +\newcommand{\lapack}{\texttt{LAPACK}} +\newcommand{\blas}{\texttt{BLAS}} +\newcommand{\denseschur}{\texttt{DENSE\_SCHUR}} +\newcommand{\sparseschur}{\texttt{SPARSE\_SCHUR}} +\newcommand{\iterativeschur}{\texttt{ITERATIVE\_SCHUR}} +\newcommand{\cmake}{\texttt{cmake}} +\newcommand{\protobuf}{\texttt{protobuf}} +\settocdepth{chapter} + +\begin{document} +\chapterstyle{ceres} +\maketitle +\thispagestyle{empty} +\newpage +\pagestyle{ceres} +\tableofcontents +\newpage + +\chapter{A Note to the Reader} +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/}}. + +Despite our best efforts, this manual remains a work in progress and the source code for Ceres Solver remains the ultimate reference. + +\input{changes} +\input{introduction} +\input{build} + +%% Tutorial +\part{Tutorial} +\label{part:tutorial} +\input{nnlsq} +\input{helloworld} +\input{powell} +\input{curvefitting} +\input{bundleadjustment} + +%% Reference +\part{Reference} +\label{part:reference} +\input{reference-overview} +\input{modeling} +\input{solving} + +\input{faq} +\input{further} +\bibliographystyle{plain} +\bibliography{ceres-solver} +\end{document} |