\documentclass[11pt]{article}
\newcommand{\thisdocument}{Sage}
\usepackage{url}
\begin{document}
%\tableofcontents
%\newpage
\begin{center}
\bf
\Large
Sage 2008: Sage on Microsoft Windows\\
\vspace{1ex}
\large
William Stein
\vspace{1ex}
\large
January 2008
\end{center}
%\tableofcontents
%\newpage
\section{Introduction}
%Sage is a general purpose
%open source mathematical software system that
%supports sophisticated researchers who need
%the best possible tools.
Stein started the open source software project Sage in 2005 to
support advanced research in number theory. Now that a much larger
group of people are using and contributing to Sage, the main goals for
2008 are to greatly improve the overall polish and quality of Sage,
enormously broaden the areas of mathematics addressed by Sage, and
improve support for using Sage on Solaris and Microsoft Windows.
Sage is the only serious general purpose mathematics software that
uses a mainstream programing language as the end user language. The
programming language used for working with Sage is Python, which is a
powerful modern interpreted programming language.
\begin{quote}
``Python plays a key role in our production pipeline. Without it a
project the size of Star Wars: Episode II would have been very
difficult to pull off. From crowd rendering to batch processing to
compositing, Python binds all things together,'' said Tommy
Burnette, Senior Technical Director, Industrial Light \& Magic.
\end{quote}
With Python it is easy to define new data types (e.g., bitstreams,
ciphers, rings, etc.), and Python has excellent support for string and
bit manipulation. Python is a ``clean'' language that results in
readable and maintainable code. Many standard Python libraries are
available for statistics, networking, databases, bioinformatics,
physics, 3d graphics, cryptography, and many other application
domains. There is also a Python to C compiler (Cython). Python is
also a language strongly supported by Microsoft via the IronPython
project:\\
\url{http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython}
Sage is {\em open source}, so it is significantly more flexible and
extensible than traditional commercial mathematical software
offerings. In particular, you are allowed to view and modify
absolutely all of the source code of their copy of Sage. This
makes investing in Sage as a support tool for mathematical
research a good long-term investment.
Instead of reinventing the wheel, Sage combines many of the best
existing open source libraries that have been developed over the last
40 years (well over {\em 4 million lines of code}) with {\em 200,000
lines of new code}. Some of what Sage includes standard are:
\begin{itemize}\setlength{\itemsep}{-0.5ex}
\item Algebra and calculus: Maxima, Sympy
\item High precision arithmetic: GMP, MPFR, MPFI, quaddouble, Givaro
\item Algebraic geometry: Singular
\item Arithmetic geometry: PARI, NTL, mwrank, ECM, FLINTQS
\item Exact linear algebra: Linbox, IML
\item Group theory: GAP
\item Numerical computation/Signal processing/Optimization: GSL, Scipy, Numpy, cvxopt
\item Graphics (2d and 3d): MatPlotLib, Tachyon3d, Java3d
\end{itemize}
In November 2007, Sage won first place in the scientific category of the Troph\'ees du Libre,
(\url{http://www.tropheesdulibre.org/?lang=en})
which is a major international free software competition.
\subsection{Overall Budget Summary}
In this proposal we are requesting {\bf \$30,000} to fund
one full time employee to work full time for
one year on a port of Sage to Microsoft Windows.
\section{Sage on Microsoft Windows}
Michael Abshoff, an extremely talented software engineer currently
living in Germany, is the right person for this job. He has extensive
experience working with the CoCoA and ApCoCoA projects, is skilled at
Microsoft Windows build and porting issues, and is dedicated to following
through with this port; in fact, he has been working on it steadily in
his spare time (however, funding from the present grant is critical to
this work continuing!). To quote Abshoff,
\begin{quote}
``I am much more at home philosophically with Sage and the problems
I can/will solve there are much more interesting than those of my current
employment. My decision becomes a no-brainer from my perspective
provided some reasonable amount of funding is available.''
\end{quote}
Abshoff is also very experienced with Sage. He has already helped
enormously with our Microsoft Windows porting efforts, has attended two Sage Days
coding weeks and has made numerous releases of Sage. He has
a very rare combination of people skills and technical capabilities.
\subsection{Current Status}
...
\subsection{Budget}
We are requesting \$30,000 to employ Michael Abshoff full time from
January 1, 2009 until December 31, 2009.
His responsibilities, in order of priority, will be as follows:
...
\end{document}