mirror of
https://github.com/ceres-solver/ceres-solver.git
synced 2026-08-30 00:50:37 +08:00
97fb6d9715
1. Document the use of dogleg and a general discussion of trust region methods. 2. Added a TBD section on compiler/linker flags. 3. Summary::FullReport now prints out sparse_linear_algebra_library and trust_region_strategy_type. Change-Id: I01f680070d510715900f345364855689005d54bb
133 lines
3.8 KiB
TeX
133 lines
3.8 KiB
TeX
%%% 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}
|
|
\end{document}
|