Menu

[r3213]: / trunk / py4science / doc / fp_notes.lyx  Maximize  Restore  History

Download this file

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
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.