\documentclass{beamer}
\definecolor{dblackcolor}{rgb}{0.0,0.0,0.0}
\definecolor{dbluecolor}{rgb}{.01,.02,0.7}
\definecolor{dredcolor}{rgb}{0.8,0,0}
\definecolor{dgraycolor}{rgb}{0.30,0.3,0.30}
\newcommand{\dblue}{\color{dbluecolor}\bf}
\newcommand{\dred}{\color{dredcolor}\bf}
\newcommand{\dblack}{\color{dblackcolor}\bf}

\usepackage{listings} 
\lstdefinelanguage{Sage}[]{Python}
{morekeywords={True,False,sage,singular},
sensitive=true}
\lstset{frame=none,
          showtabs=False,
          showspaces=False,
          showstringspaces=False,
          commentstyle={\ttfamily\color{dredcolor}},
          keywordstyle={\ttfamily\color{dbluecolor}\bfseries},
          stringstyle ={\ttfamily\color{dgraycolor}\bfseries},
          language = Sage,
	  basicstyle={\scriptsize \ttfamily},
	  aboveskip=.3em,
	  belowskip=.1em
          }
\usepackage{url}
\usepackage{hyperref}
%\hypersetup{colorlinks=true, urlcolor=blue}
\usepackage{comment}
%\usepackage{colortbl}
\usepackage{fancybox}
\usepackage[utf8x]{inputenc}
\mode<presentation>
{
  \usetheme{Rochester}
% \usetheme{Berkeley}
% \usetheme{PaloAlto}
 %\usecolortheme{crane}
% \usecolortheme{orchid}
 \usecolortheme{whale}
% \usecolortheme{lily}
 \setbeamercovered{transparent}
  % or whatever (possibly just delete it)
}
\usepackage{ngerman}

\title[Introduction to Sage]{A Short Introduction to Sage}
\author{William Stein\vspace{3ex}\\\includegraphics[height=.5\textheight]{graphics/sagebanner}\\May 12, 2011}
\date{}


%\newcommand{\todo}[1]{[[#1]]}
\newcommand{\todo}[1]{}

\begin{document}

\AtBeginSubsection[]
{
  \begin{frame}<beamer>
    \frametitle{Layout}
    \tableofcontents[currentsection,currentsubsection]
  \end{frame}
}  

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

\section{What is Sage?}

\begin{frame}{The Sage Project\hfill\includegraphics[height=.15\textheight]{graphics/firefoxfoss}} 

\begin{block}{Mission Statement}
{\Large Create a viable free open source alternative to Magma, Maple, Mathematica, and Matlab}
\end{block}

\vfill A ``viable free alternative'' will have...
    \begin{itemize}
       \item The {\em mathematical features} of Magma, Maple,
          Mathematica, and Matlab with {\em comparable speed}.
       \item Beautiful interactive 2d and 3d graphics.
       \item A notebook interface and an IDE.
       \item Many books.
       \item A web application interface.
       \item Be completely free and open: support by {\em grants}, {\em volunteer
         work}, and {\em fund raising} instead of user license fees.
     \end{itemize}    

   
\end{frame}


\begin{frame}[fragile]{I started Sage in 2005
\hfill \includegraphics[height=.07\textheight]{graphics/python}\hspace{1em}\includegraphics[height=.07\textheight]{graphics/pari}} 
\begin{block}{SAGE}
    \underline{S}oftware for \underline{A}rithmetic \underline{G}eometry \underline{E}xperimentation
  \end{block}
  
\begin{itemize}  
\item I needed an {\em open source} alternative to Magma.
  David Joyner (coding theorist) had similar concerns.

\item SAGE in 2005 -- number theory (PARI) and coding theory (GAP) -- no
  symbolic calculus or numerical computation.
\end{itemize}

\begin{block}{Number theory \& Coding theory: started out very technical}
\begin{lstlisting}[]
sage: E = EllipticCurve('389a'); E
Elliptic Curve defined by y^2 + y = x^3 + x^2 - 2*x
sage: E.gens()
[(-1 : 1 : 1), (0 : -1 : 1)]
sage: G = matrix(GF(5), 4, 7, [1,1,1,0,0,0,0,1,0,0,1,1,...
sage: C = LinearCode(G); C
Linear code of length 7, dimension 4 over Finite Field ...
sage: C.minimum_distance()
3
\end{lstlisting}
\end{block}

\end{frame}

\begin{frame}{Why not Magma/Mathematica/Matlab/Maple?}
\begin{enumerate}%[<+->]
\item {\dblue Commercial:} Expensive for my collaborators and students (``third world discount'' = 3 months salary)
\item {\dblue Copy protection:} all the Ma's have it; prevents sharing.
\item {\dblue Closed:} Implementation of algorithms often secret
\item {\dblue Language:} Special purpose mathematics only language
\item {\dblue Developer community:} Tight central control of development
\item {\dblue Bugs:} No public list of all known bugs
\item {\dblue Compiler:} No compiler (nothing like Cython)
\end{enumerate}
\end{frame} 

\begin{frame}{What is Sage? \hfill\includegraphics[height=.14\textheight]{graphics/sagelogo2}}

\begin{enumerate}
\item {\dblue A self-contained distribution} of around 100 open source packages that is easy to build from source.
\item {\dblue Interfaces} that smoothly tie together all these libraries
and packages.
\item {\dblue A new library} that implements novel algorithms.  About
  a half million lines of code written by a worldwide community of
  several hundred people over the last 6
  years. \url{http://sagemath.org/development-map.html}
\end{enumerate}
\hfill

\end{frame}

\begin{frame}{Sage Days}
\begin{enumerate}
\item Over 30 workshops  over the last few years.
\item Next one is at Univ of Washington next month!
\begin{center}
  \url{http://wiki.sagemath.org/days31}
\end{center}
\end{enumerate}
\end{frame}


\begin{frame}{Website Tour}
\begin{center}
\LARGE \center\bf Quick Tour of Website \\
\url{http://www.sagemath.org}
\end{center}
\end{frame}
 
        

\section{A Demo}
\begin{frame}{Demo}
\begin{block}{}
\LARGE \center\bf A Demo... \vspace{3ex}\\
\Large
\url{http://flask.sagenb.org/home/pub/53/}\vspace{3ex}\\
\small
(this is running 100\% on a remote webserver, not my laptop!)
\end{block}

\end{frame}

                    
\begin{frame}{Questions}
\begin{center}
\LARGE \center\bf Questions?\vspace{3ex}\\
\large
{\sc Homework:} Compute $2+3$ using \url{http://flask.sagenb.org}.
\end{center}
\end{frame}
                

\end{document}











%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
