\documentclass{beamer}
%\usetheme{CambridgeUS}
\usetheme{Boadilla}
\input cyracc.def %sha
\usepackage{textpos}
\usepackage{booktabs}
\usepackage{multirow}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{conjecture}[theorem]{Conjecture}
\usepackage{amssymb,amsmath, amscd}
\usepackage{times, verbatim}
\usepackage{graphicx}
\usepackage{graphics}
\DeclareFontEncoding{OT2}{}{} % to enable usage of cyrillic fonts
\newcommand{\textcyr}[1]{%
{\fontencoding{OT2}\fontfamily{wncyr}\fontseries{m}\fontshape{n}%
\selectfont #1}}
\newcommand{\Sha}{{\mbox{\textcyr{Sh}}}}
\usepackage{fancybox}
\definecolor{lightyellow}{rgb}{1,1,.86}
\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}
\definecolor{graycolor}{rgb}{0.35,0.35,0.35}
\newcommand{\dblue}{\color{dbluecolor}\bf}
\newcommand{\dred}{\color{dredcolor}\bf}
\newcommand{\dblack}{\color{dblackcolor}\bf}
\newcommand{\gray}{\color{graycolor}}
\newcommand{\vphi}{\varphi}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\T}{\mathbb{T}}
\newcommand{\R}{\mathbb{R}}
\newcommand{\C}{\mathbb{C}}
\newcommand{\n}{\mathfrak{n}}
\newcommand{\h}{\mathfrak{h}}
\newcommand{\p}{\mathfrak{p}}
\title[Research Software Ecology]{The Research Software Ecology in\\Pure Mathematics}
\author[William Stein]{William Stein (University of Washington)}
\institute{University of Washington}
\date{May 15, 2012}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\begin{frame}[fragile]
\frametitle{A day in the life of pure mathematics research...}
\scriptsize
\tt
Date: Mon, {\bf 14 May 2012} 13:23:34 -0400\\
From: {\dred John Tate $<$tate@math.utexas.edu$>$}
\vspace{-1em}
\begin{verbatim}
Subject: Dokchitser for Jacobi sum L's12
Hello William,
Joe Buhler tells me that you may have made Dokchitser easier to use in
Sage, by making it able to accept a list of Euler factors rather than a
vector of coefficients (here I use "list" in the non-technical sense).
If so, I would like to learn how to use it. ... Can you help me?
Swinnerton-Dyer and I are interested in the special values at $s=2$ (the
real point on the boundary of convergence), of the L-series of some
motives over Q which occur in the H^2 of surfaces in P^3 [...] \end{verbatim}
\vspace{-1ex}
\protect\rule{\textwidth}{.4pt}
\vspace{1em}
Date: Mon, {\bf 14 May 2012} 17:53:30 -0400\\
From: {\dred Barry Mazur $<$barry.mazur@gmail.com$>$}
\vspace{-1em}
\begin{verbatim}
Subject: some interesting computations for a student, maybe...
Hi William,
Sheldon Kamienny and I are looking at the fine structure of X_1(N) for
small values of N (for the moment: N=17; later maybe N=29, 31) and we
get bogged down by some computations having to do with cusps and
rational torsion [...]
\end{verbatim}
\end{frame}
% \begin{frame}
% \frametitle{Research software ecology in your field}
% For the purposes of this talk, I {\em define} my field as:
% \begin{itemize}
% \item {\dred Pure Mathematics:} such as number theory, combinatorics
% and graph theory, algebraic geometry, group theory, linear algebra,
% symbolic calculus, algebraic topology, etc.
% \item {\em NOT} numerical analysis,
% PDE's, signal processing, statistics, etc.
% \end{itemize}
% \end{frame}
\begin{frame}
\frametitle{What and who?}
\begin{enumerate}
\item {\dred What is used:}
\begin{itemize}
\item Closed source: Maple, Mathematica, Magma, Matlab
\item Open source: Sage (major library + nearly 100 components),
specialized packages (e.g., Macaulay 2, CHomP, LiE)
\end{itemize}
\item {\dred What is needed:}
\begin{itemize}
\item Open source must {\dblue catch up with} the functionality of
closed source, before it can solve the problems of {\em
availability} and {\em flexibility}.
% \item Every research area has rough algorithms that need to be made
% precise with quality implementations. Often there are no good
% implementations at all, due to lack of resources, which holds
% back research (e.g., overconvergent modular symbols).
\end{itemize}
\item {\dred Who maintains this software:}
\begin{itemize}
\item Companies: support their closed source software.
\item Academics: adopt and support open source
software that is abandoned by the original author(s), who might
leave academia.
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{Where does the support come from?}
\begin{enumerate}
\item {\dred Closed source:}
\begin{itemize}
\item License fees: on the order of a hundred million
dollars/year
\item Grants and contracts
\item Training courses
\item Wolfram alpha (e.g., in Siri and Bing)
\end{itemize}
\item {\dred Open source:}
\begin{itemize}
\item NSF: postdocs, summer salary, workshops, students
\item Companies: Google \& Microsoft have donated to Sage
\item People: Sage has recieved nearly \$40K in private donations
\item DOD: support of ``certain open source projects'' (confidential)
\item Book royalties: a few thousand dollars
\item German government has a strong culture of supporting software
\item EU's 6 million dollar project to link
GAP/Mupad/Maple
\item Institute workshops: MSRI,
CMI, IPAM, ICERM, etc.
\item {\gray A commercial entity setup to generate money for Sage
development via the web: subscriptions, ads, apps, etc.,
-- doesn't exist, but I'm working on it now...}
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{How is the software for research...}
\begin{enumerate}
\item {\dred Created?}
\begin{itemize}
\item {\dblue Innovation:} Researchers generate new
algorithms that they implement to prove their worth.
\item {\dblue Competition:} People design and implement
algorithms from scratch in one system in order to replicate or beat
functionality available in another (competitor's or expensive)
system.
\vspace{1em} (Opinion: I think competitive creation is what open source
needs the most right now, since we are already innovators by
nature. This is very difficult to fund and support in
the US model, and European funding priorities seem too
political to systematically get this done.)
\vspace{1em}
\end{itemize}
\item {\dred Used?}
\begin{itemize}
\item Test ideas and make conjectures
\item "It is always a good idea to try to prove true theorems."
--Birch
\item "The object of numerical computation is theoretical
advance." --Atkin
\item Subtle modification of existing implementations --Bharghava story
\end{itemize}
\end{enumerate}
\end{frame}
\begin{frame}
\frametitle{What is most needed?}
\begin{itemize}
\item {\dred A Strong Foundation:} A team of 10 superstars to work
fulltime to {\em systematically} discover and implement all
algorithms important to pure math research that are in Magma,
Mathematica, etc., but not in any open source software.
\vspace{.5em}
Opinion: After 7
years of pushing this priority, I think it will {\dblue
not happen} without a major game changer:
\begin{itemize}
\item I start a company
\item I get major contract work with a company that uses Sage
\item Private foundation?
\end{itemize}
\vspace{.5em}
\item
NSF is strongly investing in {\dblue ``software sustainability''},
but I'm concerned about the viability of their approach in my area.
For open source to work, one needs a foundation (e.g., the Linux
kernel as a foundation for the OS); one can't skip that crucial
step. The longer we wait, the harder it is to build that
foundation.
\item {\dred Sebastian Pancratz}
\end{itemize}
\end{frame}
\end{document}