\documentclass[10pt]{beamer}
\include{macros}

\mode<presentation>
{
  \usetheme{Warsaw}
%\usecolortheme{rose}
\usecolortheme{seahorse}
  \setbeamercovered{transparent}
  % or whatever (possibly just delete it)
}


\usepackage[english]{babel}
% or whatever

\usepackage[latin1]{inputenc}
% or whatever

\usepackage{times}
\usepackage[T1]{fontenc}
% Or whatever. Note that the encoding and the font should match. If T1
% does not look nice, try deleting the line with the fontenc.


\title{SAGE: Software for Algebra
and Geometry Experimentation}

\author{William Stein}

% - Use the \inst command only if there are several affiliations.
% - Keep it simple, no one is interested in your street address.

\date[Jan 5] % (optional)
{\vspace{-6ex}

January 5, 2007,
Microsoft Research\\

\includegraphics[width=22em]{sage-car.png}}

\subject{Talks}

% Delete this, if you do not want the table of contents to pop up at
% the beginning of each subsection:
\AtBeginSubsection[]
{
  \begin{frame}<beamer>
    \frametitle{Outline}
    \tableofcontents[currentsection,currentsubsection]
  \end{frame}
}

% If you wish to uncover everything in a step-wise fashion, uncomment
% the following command: 

%\beamerdefaultoverlayspecification{<+->}

\begin{document}

\begin{frame}
  \titlepage
\end{frame}



\begin{frame}
\frametitle{Background: From HECKE 0.1 to SAGE 1.4}
\large
\begin{itemize}
\item {\dblue 1997--1999:} HECKE -- my free C++ program for {\dred modular
forms} (I wrote an interpreter for it). 
\item {\dblue 1999--2004:} I wrote $>25,000$ lines of Magma code.
\item {\dblue Feb 2004:} Wanted something more powerful
than Magma... something with a broader scope (not just algebraic research mathematics), and a modern interpreter.
  \item {\dblue Feb 2005:} I got job offers with {\dgreen tenure} -- {\dred SAGE 0.1}. 
\item {\dblue Feb 2006:} {\dred SAGE Days 1} workshop -- {\dred SAGE 1.0}.
\item {\dblue June 2006:} {\dred High school} workshop -- Notebook.
\item {\dblue August 2006:} {\dred MSRI Grad student} workshop.
\item {\dblue October 2006:} {\dred SAGE Days 2} workshop.
\item {\dblue Now:} Push for SAGE 2.0 by end of month!
\end{itemize}

\end{frame}



\begin{frame}
\frametitle{SAGE: Main Points}

\begin{itemize}

\item SAGE is {\dblue free open source software} for
research in {\dred algebra}, {\dred  geometry}, {\dred  number theory},
{\dred  cryptography}, and {\dred  numerical computation}.

\item SAGE is an {\dred   environment for
rigorous mathematical computation}
built using Python, GAP, Maxima, Singular, 
PARI, etc., 
and provides a {\dred  unified interface} to
Mathematica, Maple, Magma, MATLAB, etc.

\item There have been {\dred  several successful SAGE workshops}, and
there are many active SAGE developers.

\item The {\dred primary goal} of SAGE is to make
modern research-level algorithms
available in an integrated package with
a graphical interface.   The {\dred secondary goal}
is to provide a free alternative to Maple,
Mathematica, and MATLAB for education.

\end{itemize}

 
\end{frame}




\begin{frame}
\frametitle{Who is Writing SAGE?}


{\dblue Contributors Include:}
{\small Martin Albrecht,
Tom Boothby,
Robert Bradshaw,
Iftikhar Burhanuddin,
Craig Citro,
Alex Clemesha,
John Cremona,
Didier Deshommes,
David Harvey,
Naqi Jaffery,
David Joyner,
Josh Kantor,
Kiran Kedlaya,
David Kirkby,
Emily Kirkman,
David Kohel,
Jon Hanke,
Bill Hart,
Robert Miller,
Bobby Moretti,
Gregg Musiker,
Bill Page,
Fernando Perez, 
Yi Qiang,
David Roe,
Michael Rubinstein,
Nathan Ryan, 
Kyle Schalm,
Steven Sivek,
Jaap Spies,
Gonzalo Tornaria,
Justin Walker,
Mark Watkins,
Joe Weening,
Joe Wetherell, ...}

\vfill 

\begin{itemize}
\item {\dred Undergraduates}:
have many {\dblue extremely interesting} ideas;
superb at researching available free software. 

\item {\dred Many graduate students}:
 excellent at implementing optimized code and finding
fast algorithms.

\item {\dred Faculty and computer professionals}: 
general direction, great writing, and quality control.


\end{itemize}

\end{frame}

\begin{frame}\frametitle{SAGE Days 2 at UW: Coding Sprints...}
\includegraphics[width=\textwidth]{sagedays2moment.png}
\vfill
{\small Bobby Moretti (UW undergrad), Robert Miller (UW grad),
David Harvey (Harvard grad), Joel Mohler (grad),
David Joyner (USNA), Bill page (Axiom).}
\end{frame}

\begin{frame}
\frametitle{Upcoming SAGE-related Workshops I'm Organizing}
\begin{itemize}

\item {\dred Sage Days 2.5 -- Parallel Computation Workshop} at MSRI, Jan 29--Feb 2, 2007.  Henry Cohn is an invited speaker.

\item {\dred SAGE Days 3} at IPAM (in LA) Feb 17--21, 2007.


\begin{center}
\includegraphics[width=0.4\textwidth]{sd3-motivator-mozaic.jpg}
\end{center}

\item {\dred AIM} workshop, databases
in SAGE, July 30-Aug 3, 2007.
\end{itemize}

\end{frame}

\begin{frame}
\frametitle{Getting Started with SAGE}
\begin{center}
{\dblue\LARGE Getting Started with SAGE}
\end{center}
\begin{enumerate}
\item {\dred Free online} SAGE notebook: 
  \url{http://sage.math.washington.edu:8100}
\item {\dred Website:} \url{http://modular.math.washington.edu/sage}
\item {\dred Documentation:} Tutorial, Install Guide, Programming
Guide, Reference Manual, Constructions.
\item {\dred Platforms:} OS X, Linux, and
Windows (Cygwin).
\item {\dred Mailing lists:} sage-devel (hundreds
of messages/month),  sage-announce, sage-forum, sage-support.
\item {\dred Wiki:} the SAGE wiki.
\item {\dred Trac:} Organizes development.
\item {\dred IRC Chatroom:} {\tt \#sage-dev} on irc.freenode.net
\end{enumerate}
\end{frame}


\begin{frame}[fragile]
\frametitle{SAGE Demos}
\LARGE
Open the SAGE Notebook and show
some computations...
\vfill
\includegraphics[width=0.9\textwidth]{factor_tree.png}

\vfill
\end{frame}


\begin{frame}
\frametitle{What is SAGE?}
{\Large SAGE is:}
\vfill
{\Large
\begin{enumerate}
\item {\dred A Distribution} of free open source math software. 
75MB source tarball that builds self-contained.
\item {\dred New Readable Code} that fill in gaps in functionality; implement
new algorithms.
\item {\dred A Unified Mainstream Interface} to
math software: to {\dblue Magma}, {\dblue Macaulay2}, 
Singular, {\dblue Maple}, MATLAB, Mathematica, Axiom, etc.
\end{enumerate}
} 
\vfill
SAGE runs on {\dred Linux, OS X, and Windows}. 
\end{frame}


\begin{frame}
\frametitle{A Distribution}
\begin{center}
{\dblue\LARGE 1. A Distribution}
\end{center}
\begin{center}
\begin{tabular}{|l|l|}\hline
Basic Arithmetic &	{\dred GMP, NTL, MPFR, PARI}  \\\hline
Command Line &	{\dred IPython}   \\\hline
Commutative algebra &	{\dred Singular}  (libcf, libfactory) \\\hline
Database & {\dred ZODB}, Python Pickles \\\hline
Graphical Interface & {\dred SAGE Notebook, jsmath} \\\hline
Graphics &	{\dred Matplotlib, Tachyon, GD}   \\\hline
Group theory and combinatorics  &	{\dred GAP} \\\hline
Graph theory &	{\dred Networkx} \\\hline
Interactive programming language & {\dred	Python } (mainstream !!!) \\\hline
Networking & 	{\dred Twisted}  \\\hline
Numerical computation & {\dred GSL, Numpy, etc.} \\\hline
Symbolic computation, calculus  &	{\dred Maxima}  \\\hline
\end{tabular}
\end{center}
\vfill
All core components are {\dred free and open source} (mostly GPL'd).  You may
{\dred read the code} and {\dred change
anything} in SAGE or any of the core libraries
it includes, and
 redistribute the result. 
\end{frame}

\begin{frame}[fragile]
\frametitle{The SAGE Library -- new code we've written}
\begin{center}
{\dblue\LARGE 2. New Code}
\end{center}

Python and Pyrex code --- {\dred designed to be readable}:
\small
\begin{verbatim}
algebras    edu         lfunctions  monoids         sets
categories  ext         libs        plot            structure
coding      functions   matrix      quadratic_forms tests
combinat    geometry    misc        rings
crypto      groups      modular     schemes
databases   interfaces  modules     server

UNIQUE Source Code Lines (including docstrings):
$ cat */*.py */*/*.py */*/*/*.py */*.pyx \
                */*/*.pyx */*/*.pyx |sort |uniq | wc -l
89400
UNIQUE Input Documentation Examples:
$ cat */*.py */*/*.py */*/*/*.py */*.pyx \
          */*/*.pyx */*/*.pyx |sort|uniq|grep "sage:" | wc -l
10521
\end{verbatim}
\end{frame}

\begin{frame}
\frametitle{A Unified Interface}
\begin{center}
{\dblue\LARGE 3. A Unified Interface}
\end{center}
\vfill\large
\begin{itemize}
\item SAGE {\dred interfaces to}:
Axiom, GAP, GP/PARI, Kash, Macaulay2,
Magma, Maple, Mathematica, MATLAB, Maxima, Octave, Singular, etc.

\vfill
\item  Wide range of {\dred functionality}.
\vfill
\item Unified {\dred command completion and help}.
\vfill
\end{itemize}

\end{frame}

\begin{frame}
\frametitle{Today's Schedule (15 minutes each)}
\begin{enumerate}
\item {\dblue Tom Boothby} (UW, undergrad) -- The SAGE Notebook 
\vfill
\item    {\dblue Josh Kantor} (UW, grad) -- Numerical computation using SAGE
\vfill
\item   {\dblue Yi Qiang} (UW, undergrad)   -- Distributed SAGE
\vfill
\item   {\dblue Robert Bradshaw} (UW, grad) -- Fast brute force counting of points
                       on varieties over finite fields (joint work
                       with Jim Carleson).

\end{enumerate}

\end{frame}




\end{document}


