429 lines (314 with data), 6.4 kB
#LyX 1.4.3 created this file. For more info see http://www.lyx.org/
\lyxformat 245
\begin_document
\begin_header
\textclass article
\begin_preamble
\usepackage{color}
% A few colors to replace the defaults for certain link types
\definecolor{orange}{cmyk}{0,0.4,0.8,0.2}
\definecolor{darkorange}{rgb}{.71,0.21,0.01}
\definecolor{darkred}{rgb}{.52,0.08,0.01}
\definecolor{darkgreen}{rgb}{.12,.54,.11}
% Use and configure listings package for nicely formatted code
\usepackage{listings}
\lstset{
language=Python,
basicstyle=\small\ttfamily,
commentstyle=\ttfamily\color{blue},
stringstyle=\ttfamily\color{darkorange},
showstringspaces=false,
breaklines=true,
postbreak = \space\dots
}
\usepackage[%pdftex, % needed for pdflatex
breaklinks=true, % so long urls are correctly broken across lines
colorlinks=true,
urlcolor=blue,
linkcolor=darkred,
citecolor=darkgreen,
]{hyperref}
\usepackage{html}
% This helps prevent overly long lines that stretch beyond the margins
\sloppy
% Define a \codelist command which either uses listings for latex, or
% plain verbatim for html (since latex2html doesn't understand the
% listings package).
\usepackage{verbatim}
\newcommand{\codelist}[1] {
\latex{\lstinputlisting{#1}}
\html{\verbatiminput{#1}}
}
\end_preamble
\language english
\inputencoding auto
\fontscheme default
\graphics default
\paperfontsize default
\spacing single
\papersize default
\use_geometry true
\use_amsmath 1
\cite_engine basic
\use_bibtopic false
\paperorientation portrait
\leftmargin 1in
\topmargin 1in
\rightmargin 1in
\bottommargin 1in
\secnumdepth 3
\tocdepth 3
\paragraph_separation skip
\defskip medskip
\quotes_language english
\papercolumns 1
\papersides 1
\paperpagestyle default
\tracking_changes false
\output_changes false
\end_header
\begin_body
\begin_layout Title
Python Workshop Problems
\end_layout
\begin_layout Standard
\begin_inset LatexCommand \tableofcontents{}
\end_inset
\end_layout
\begin_layout Section
Quicksort
\end_layout
\begin_layout Standard
\series bold
Illustrates
\series default
: lists, recursion.
\end_layout
\begin_layout Standard
\series bold
Task
\series default
: implement the quicksort algorithm.
\end_layout
\begin_layout Subsubsection*
Code skeleton
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Standard
\backslash
codelist{skel/qsort_skel.py}
\end_layout
\end_inset
\end_layout
\begin_layout Section
Wallis'
\begin_inset Formula $\pi$
\end_inset
\end_layout
\begin_layout Standard
\series bold
Illustrates
\series default
: arbitrary size integers, simple function definitions.
\end_layout
\begin_layout Standard
\series bold
Task
\series default
: define a simple function that implements the (slowly converging) Wallis
infinite product approximation to
\begin_inset Formula $\pi$
\end_inset
:
\begin_inset Formula \[
\pi(n)=2\prod_{i=1}^{n}\frac{4i^{2}}{4i^{2}-1}\]
\end_inset
\end_layout
\begin_layout Subsubsection*
Code skeleton
\end_layout
\begin_layout Standard
MISSING
\end_layout
\begin_layout Section
Trapezoid rule
\end_layout
\begin_layout Standard
\series bold
Illustrates
\series default
: basic array slicing, functions as first class objects.
\end_layout
\begin_layout Standard
\series bold
Task
\series default
: define a trapezoid rule integrator.
\end_layout
\begin_layout Subsubsection*
Code skeleton
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Standard
\backslash
codelist{skel/trapezoid_skel.py}
\end_layout
\end_inset
\end_layout
\begin_layout Section
Numerical integration and root finding
\end_layout
\begin_layout Standard
\series bold
Illustrates:
\series default
functions as first class objects, use of the scipy libraries.
\end_layout
\begin_layout Standard
\series bold
Task:
\series default
Find t such that
\begin_inset Formula \[
\int_{0}^{t}{f(s)ds}=u\]
\end_inset
for a known, monotonically increasing
\begin_inset Formula $f(s)$
\end_inset
and a fixed
\begin_inset Formula $u$
\end_inset
.
\end_layout
\begin_layout Subsubsection*
Code skeleton
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Standard
\backslash
codelist{skel/quad_newton_skel.py}
\end_layout
\end_inset
\end_layout
\begin_layout Section
Univariate polynomials, root finding
\end_layout
\begin_layout Standard
\series bold
Illustrates
\series default
: poly1d objects, convolutions, plotting.
\end_layout
\begin_layout Standard
\series bold
Task
\series default
:
\end_layout
\begin_layout Subsubsection*
Code skeleton
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Standard
\backslash
codelist{skel/polyroots1d_skel.py}
\end_layout
\end_inset
\end_layout
\begin_layout Section
Image processing and the FFT
\end_layout
\begin_layout Standard
\series bold
Illustrates
\series default
: 2-d image denoising, use of the scipy FFT library, array manipulations,
image plotting.
\end_layout
\begin_layout Standard
\series bold
Task
\series default
:
\end_layout
\begin_layout Subsubsection*
Code skeleton
\end_layout
\begin_layout Standard
\begin_inset ERT
status open
\begin_layout Standard
\backslash
codelist{skel/fft_imdenoise_skel.py}
\end_layout
\end_inset
\end_layout
\begin_layout Section
Bessel functions
\end_layout
\begin_layout Standard
\series bold
Illustrates
\series default
: Special functions library, array manipulations to check recursion relation.
\end_layout
\begin_layout Standard
\series bold
Task
\series default
:
\end_layout
\begin_layout Subsection*
Code skeleton
\end_layout
\begin_layout Standard
MISSING
\end_layout
\begin_layout Section
Monte Carlo integration
\end_layout
\begin_layout Standard
\series bold
Illustrates
\series default
: random number generation.
\end_layout
\begin_layout Standard
\series bold
Task
\series default
: compute an approximation to
\begin_inset Formula $\pi$
\end_inset
via Monte Carlo integration.
\end_layout
\begin_layout Subsection*
Code skeleton
\end_layout
\begin_layout Standard
MISSING
\end_layout
\begin_layout Section
Speed optimizations using
\family typewriter
weave
\end_layout
\begin_layout Subsection*
Code skeleton
\end_layout
\begin_layout Standard
MISSING
\end_layout
\begin_layout Standard
weave.blitz, weave.inline.
\end_layout
\end_body
\end_document