|
From: <fer...@us...> - 2008-10-19 10:22:09
|
Revision: 6272
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6272&view=rev
Author: fer_perez
Date: 2008-10-19 08:37:47 +0000 (Sun, 19 Oct 2008)
Log Message:
-----------
py4science: Add a few remainig docs.
Added Paths:
-----------
trunk/py4science/doc/workflow_notes.txt
trunk/py4science/intro_talk/0712_ncar_intro.lyx
trunk/py4science/intro_talk/0810_berkeley_intro.lyx
trunk/py4science/intro_talk/fig/vision_beam_pattern.png
Added: trunk/py4science/doc/workflow_notes.txt
===================================================================
--- trunk/py4science/doc/workflow_notes.txt (rev 0)
+++ trunk/py4science/doc/workflow_notes.txt 2008-10-19 08:37:47 UTC (rev 6272)
@@ -0,0 +1,66 @@
+=================
+ Python workflow
+=================
+
+ipython. Saving and reloading files, interactive use of variables, %run,
+%debug, %xmode verbose.
+
+* Workflow, guided by a simple examples and students typing along. Will show
+ basics of everyday workflow as we cover the core concepts.
+
+ * A very quick overview of the language.
+
+ * Basic scalar types: strings and numbers (int, float, complex).
+
+ * Basic collections: lists and dicts (mention tuples and sets).
+
+ * Quick review of control flow: if, for, range, while, break, continue.
+
+ * Defining functions. Arguments and docstrings.
+
+ * Reusing your code: every script is a module, '__main__' (notes on module
+ loading and reloading)
+
+ * Exceptions: a core concept in Python, you really can't use the language
+ without them.
+
+ * Debugging your programs:
+ * Ye olde print statement.
+ * %debug in ipython.
+ * %run -d in ipython.
+ * winpdb - a free, cross-platform GUI debugger.
+
+ * Testing your code: reproducible research from the start. Making a habit
+ out of having auto-validated code.
+
+ * Quicksort together.
+
+
+Getting help:
+ - pydoc (-g, -p)
+
+ - The standard docs (bookmark them)
+
+ - ipython ?/??, help(), the tab key. numpy.*cos*? search.
+
+ - The open source process: mailing lists, wikis, svn. Python
+ cookbook. Participate!
+
+Basic setup:
+ - ipython
+
+ - matplotlib (latex, etc).
+
+ - Modules: import/reload, PYTHONPATH.
+
+- Urllib Yahoo finance demo.
+
+ToDo: Add numerical error measure of trapezoid rule.
+
+ToDo Add in workflow comparison with scipy's integration. compare timing and
+ eror.
+
+ToDo: write cheat-sheet.
+
+- Urllib Yahoo finance demo: examples/stock_demo.py
+
Added: trunk/py4science/intro_talk/0712_ncar_intro.lyx
===================================================================
--- trunk/py4science/intro_talk/0712_ncar_intro.lyx (rev 0)
+++ trunk/py4science/intro_talk/0712_ncar_intro.lyx 2008-10-19 08:37:47 UTC (rev 6272)
@@ -0,0 +1,2400 @@
+#LyX 1.5.1 created this file. For more info see http://www.lyx.org/
+\lyxformat 276
+\begin_document
+\begin_header
+\textclass beamer
+\begin_preamble
+% Include only certain frames - this speeds up compilation
+% The frames to be included need to be labeled, by using ERT
+% as [label=LABELNAME] (no backslashes or {})
+%\includeonlyframes{currentt}
+
+% To make a printable handout (one page per frame), pass
+% the handout option to the doc class (Layout menu)
+
+% For good fonts in PDFs, use pslatex fonts (Layout menu)
+
+% Colors and symbols
+\usepackage{latexsym}
+\usepackage{color}
+
+% Display covered items in transparent form (as opposed
+% to not showing them at all)
+\newcommand{\coveredinvisible}{
+ \setbeamercovered{invisible}
+}
+\newcommand{\coveredvisible}{
+ \setbeamercovered{highly dynamic}
+}
+
+% Choose default setting here:
+\coveredvisible
+
+\newcommand{\ps}{\vspace{-4mm} }
+
+% Theme configuration. I've basically built a custom theme out of
+% Warsaw, adding infoline and changing the nav. symbol bar
+
+% Warning: the commands below are order-sensitive!
+
+% load the infolines theme, b/c I want the headline Warsaw
+% uses (split), but the footline from infolines.
+% In the document body, these will be deactivated for the title and
+% turned on later
+\useoutertheme{infolines}
+% Main theme
+\usetheme{Warsaw}
+% Adjust the color for the center (title) box to be that of
+% infolines, which Warsaw changes
+\setbeamercolor*{title in head/foot}{parent=palette secondary}
+
+% Define a minimal set of navigation symbols
+\defbeamertemplate*{navigation symbols}{minmal}
+{%
+ \hbox{%
+ \hbox{\insertframenavigationsymbol}
+ \hbox{\insertdocnavigationsymbol}
+ \hbox{\insertbackfindforwardnavigationsymbol}%
+ }%
+}
+% activate the minimal navbar
+\setbeamertemplate{navigation symbols}[minimal]
+
+%%%%% HACK %%%%%
+% I started getting errors because LyX is emmitting a color 'none'
+% call, which confuses xcolor. I'm defining 'none' to be black here.
+\definecolor{none}{cmyk}{0,0,0,1}
+%%%%% /HACK %%%%%
+\end_preamble
+\options compress
+\language english
+\inputencoding auto
+\font_roman times
+\font_sans helvet
+\font_typewriter courier
+\font_default_family default
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\paperfontsize default
+\spacing single
+\papersize default
+\use_geometry false
+\use_amsmath 2
+\use_esint 0
+\cite_engine basic
+\use_bibtopic false
+\paperorientation landscape
+\secnumdepth 2
+\tocdepth 2
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\author ""
+\author ""
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+Some things to fix in a future version:
+\end_layout
+
+\begin_layout Standard
+- trim a bit of time
+\end_layout
+
+\begin_layout Standard
+- add more about ipython and my own python work, reduce that of others
+\end_layout
+
+\begin_layout Standard
+- add a final python pros/cons, esp.
+ the cons part.
+ It will make things more balanced.
+\end_layout
+
+\begin_layout Standard
+- the PDE part repeats a bit the 'python benefits' which were already pounded
+ on.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+% disable the bottom bar for the title and outline pages
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+setbeamertemplate{footline}{}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+vspace*{-5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Title
+Python in Scientific Computing
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+Python & Scientific Computing
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subtitle
+An Introduction
+\end_layout
+
+\begin_layout Author
+Fernando\InsetSpace ~
+Pérez
+\newline
+
+\family typewriter
+\size scriptsize
+<Fer...@co...>
+\family default
+\size default
+
+\newline
+John Hunter
+\newline
+
+\family typewriter
+\size scriptsize
+<jd...@gm...>
+\family default
+\size default
+
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+FP/JDH
+\begin_inset Note Note
+status collapsed
+
+\begin_layout Standard
+This is used by the 'split' footline theme on the left side of the page
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vspace{5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Institute
+Applied Mathematics, U.
+ of Colorado at Boulder
+\newline
+Tradelink
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+- Use the
+\backslash
+inst command only if there are several affiliations.
+\end_layout
+
+\begin_layout Standard
+- Keep it simple, no one is interested in your street address.
+\end_layout
+
+\end_inset
+
+
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+CU\InsetSpace ~
+Boulder/Tradelink
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+optional, but mostly needed
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vspace{5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Date
+NCAR, Boulder
+\newline
+Dec 7, 2007
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+NCAR, 12/7/07
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+If you have a file called "institution-logo-filename.xxx", where xxx is a
+ graphic format that can be processed by latex or pdflatex, resp., then you
+ can add a logo by uncommenting the following:
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+%
+\backslash
+pgfdeclareimage[height=0.5cm]{institution-logo}{institution-logo-filename}
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+%
+\backslash
+logo{
+\backslash
+pgfuseimage{institution-logo}}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+The following causes the table of contents to be shown at the beginning
+ of every Section.
+ Delete this, if you do not want it.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+AtBeginSection[]{
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+frame<beamer>{
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+frametitle{Outline}
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+tableofcontents[currentsection]
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+If you wish to uncover everything in a step-wise fashion, uncomment the
+ following command:
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+%
+\backslash
+beamerdefaultoverlayspecification{<+->}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+% reactivate the footline
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+setbeamertemplate{footline}[infolines theme]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+Outline
+\end_layout
+
+\begin_layout Standard
+\begin_inset LatexCommand tableofcontents
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+[pausesections]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Scientific Computing
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+SciComp
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Traditional approaches
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+Status quo
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+FORTRAN, C and C++
+\end_layout
+
+\begin_layout Itemize
+Tools optimized for CPUs, not humans.
+\end_layout
+
+\begin_layout Itemize
+Low-level:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Primitive data types (no good strings, sets, hash tables,
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+ldots
+\end_layout
+
+\end_inset
+
+).
+\end_layout
+
+\begin_layout Itemize
+Manual memory management: bugs, bugs, bugs.
+ Hard ones.
+\end_layout
+
+\begin_layout Itemize
+Slow edit/compile/test cycle.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Clumsy access to visualization, quick profiling, text processing,
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+ldots
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+No interactive facilities - scientific work is inherently exploratory.
+\end_layout
+
+\begin_layout Pause
+
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+\color blue
+However!
+\end_layout
+
+\begin_layout Itemize
+They deliver excellent performance.
+\end_layout
+
+\begin_layout Itemize
+Millions of LOC in proven scientific codes.
+
+\end_layout
+
+\begin_layout Itemize
+We need to
+\emph on
+\color blue
+work with these tools
+\emph default
+\color inherit
+, not replace them!
+\end_layout
+
+\begin_layout BeginFrame
+Higher level tools in the last decade
+\end_layout
+
+\begin_layout Itemize
+Mathematica and Maple: a unique niche we won't address today.
+\end_layout
+
+\begin_layout Itemize
+IDL and Matlab: extremely popular, for good reasons.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Great interactivity, visualization, and extensive libraries.
+\end_layout
+
+\begin_layout Itemize
+Unpleasant languages for large-scale programs and non-numerical tasks.
+\end_layout
+
+\begin_layout Itemize
+Expensive/proprietary: lock-in.
+\end_layout
+
+\begin_layout Itemize
+Often considered `prototyping' tools: this leads to a lot of code rewriting.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+A common approach (I've been there): mix and match multiple tools:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+FORTRAN, C, C++ programs ...
+\end_layout
+
+\begin_layout Itemize
+driven by Bash/awk/sed/Perl scripts ...
+\end_layout
+
+\begin_layout Itemize
+which feed them input and take their outputs ...
+\end_layout
+
+\begin_layout Itemize
+and pass them to Gnuplot, Grace, OpenDX, etc.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+Many different syntaxes:
+\color none
+
+\color red
+huge context switching overhead!
+\end_layout
+
+\begin_layout Subsection
+Python?
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+Python
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+Python in this context
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Free
+\color none
+ (BSD license), highly portable (Linux, OSX, Solaris, Windows, ...).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Interactive
+\color none
+ interpreter provided.
+\end_layout
+
+\begin_layout Itemize
+Extremely readable syntax (
+\color blue
+
+\begin_inset Quotes eld
+\end_inset
+
+executable pseudo-code
+\begin_inset Quotes erd
+\end_inset
+
+
+\color none
+).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Simple
+\color none
+: non-professional programmers can become (and remain) proficient with a
+ very small effort (c.f.
+ C++).
+\end_layout
+
+\begin_layout Itemize
+Clean object oriented model, but
+\color none
+
+\color blue
+not mandatory
+\color none
+.
+\end_layout
+
+\begin_layout Itemize
+Rich built-in types: lists, sets, dictionaries (hash tables), strings, ...
+\end_layout
+
+\begin_layout Itemize
+Very comprehensive standard library (
+\color blue
+batteries included
+\color none
+)
+\end_layout
+
+\begin_layout Itemize
+Standard libraries for IDL/Matlab-like arrays (NumPy)
+\end_layout
+
+\begin_layout Itemize
+Easy to wrap existing C, C++ and FORTRAN codes.
+\end_layout
+
+\begin_layout Section
+Interlude: Python in the real world
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+Examples
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+EEG analysis for epilepsy
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+EEG
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Data analysis for epilepsy surgery
+\end_layout
+
+\begin_layout FrameSubtitle
+Isolating the origin of drug-resistant epileptic seizures which require
+ surgery.
+\end_layout
+
+\begin_layout Standard
+John Hunter, Department of Pediatric Neurology, University of Chicago.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain1.png
+ lyxscale 50
+ width 80text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Electrode location in 3D, combined with MRI data
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain3.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Correlation analysis of seizure data
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain4.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Final location of epileptic foci for surgery
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain5.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Multiwavelets for PDEs
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+PDEs
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+Adaptive, multiwavelet algorithms for integral operators
+\end_layout
+
+\begin_layout Standard
+Gregory Beylkin, Vani Cheruvu, Fernando Perez.
+ Applied Math, U.
+ of Colorado at Boulder.
+\end_layout
+
+\begin_layout Itemize
+Fast application of integral kernels.
+ (Partial Differential Equations)
+\end_layout
+
+\begin_layout Itemize
+Implementation went from 1 to 3 dimensions directly (
+\emph on
+extremely
+\emph default
+ unusual).
+\end_layout
+
+\begin_layout Itemize
+Very complex algorithm that goes beyond pure numerics.
+\end_layout
+
+\begin_layout Itemize
+Very good performance, thanks to NumPy, F2PY and weave.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/rho_2d_surf.png
+ lyxscale 80
+ width 35text%
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+hspace{1cm}
+\end_layout
+
+\end_inset
+
+
+\begin_inset Graphics
+ filename fig/rho_2d_skel.eps
+ lyxscale 80
+ width 25text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+JPL: Mars mission data visualization
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+JPL - Mars
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+JPL: Mars mission trajectory design and nav data
+\end_layout
+
+\begin_layout FrameSubtitle
+Ted Drain and Lynn Craig, Jet Propulsion Laboratory (NASA/Caltech)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+From: Name Elided <nam...@jp...>
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+Date: Oct 2, 2007 7:15 PM
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+Subject: Fwd: matplotlib bug numbers
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+To: John Hunter <jd...@gm...>
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+vspace{5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+One of my lead developers mentioned that they had sent a bug to you about
+ the annotations feature of MatPlotLib.
+ Would you be able to let me know what the timeline is to resolve that bug?
+ The reason is that the feature is needed for the Phoenix project and their
+ arrival at Mars will be in March sometime, but they are doing their testing
+ in the coming few months.
+ This annotation feature is used on reports that present the analysis of
+ the trajectory to the navigation team and it shows up on our schedule.
+ It would really help me to know approximately when it could be resolved.
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+B-plane plots are used to show the trajectory of a spacecraft with respect
+ to the target body (specifically perpendicular to the incoming asymptote
+ of the spacecraft trajectory) and we plot them with the y-axis inverted.
+ The plot is used heavily in flight operations so it is important to our
+ customers.
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+In addition, we have what is called a thundering heard plot where many different
+ trajectory solutions (determined from different measurement sources) are
+ plotted together.
+ The annotations are import there so we can see which plot corresponds to
+ each source of data.
+ I hope it helps to know how your code will be used in spacecraft navigation.
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+Thanks for all your efforts.
+\end_layout
+
+\begin_layout BeginPlainFrame
+JPL: Mars mission data visualization
+\end_layout
+
+\begin_layout Standard
+Expected communication power levels between an orbiting spacecraft and a
+ lander as it goes through the atmosphere:
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/jpl_lander_comm_power.png
+ lyxscale 25
+ width 90text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+JPL: Mars mission data visualization (2)
+\end_layout
+
+\begin_layout Standard
+Summary of the current navigation team activities and modelling (data used,
+ event times etc):
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+vspace{-3mm}
+\end_layout
+
+\end_inset
+
+
+\begin_inset Graphics
+ filename fig/jpl_nav_summary.png
+ lyxscale 50
+ width 90text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+PMV: structural bioinformatics
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+PMV
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+PMV: the Python Molecule Viewer
+\end_layout
+
+\begin_layout FrameSubtitle
+Michel F.
+ Sanner, Molecular Biology Department, The Scripps Research Institute.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/pmv.png
+ lyxscale 50
+ width 100text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+MayaVi: customizable data visualization
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+MayaVi
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+MayaVi: sophisticated data visualization
+\end_layout
+
+\begin_layout Itemize
+Free, easy to use scientific data visualizer.
+\end_layout
+
+\begin_layout Itemize
+Heavy lifting of OpenGL-based rendering: VTK (a C++ library).
+\end_layout
+
+\begin_layout Itemize
+A very good example of how to properly use Python:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+MayaVi is a standalone GUI program...
+\end_layout
+
+\begin_layout Itemize
+but also a Python library callable by any other Python program.
+\end_layout
+
+\begin_layout Itemize
+Python: very easy to modify, even by adding at runtime user-defined modules
+ which populate the GUI automatically.
+\end_layout
+
+\begin_layout Itemize
+C++: excellent rendering performance, fully hardware-accelerated OpenGL.
+\end_layout
+
+\end_deeper
+\begin_layout Pause
+
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+\color blue
+The punchline:
+\series default
+\color none
+ fully programmable visualization, with builtin access to all kinds of numerical
+ (and other) libraries from within the viz tool.
+\end_layout
+
+\begin_layout BeginPlainFrame
+FluidLab: a MayaVi based CFD visualization tool
+\end_layout
+
+\begin_layout Standard
+K.
+ Julien, P.
+ Schmitt (now NCAR), B.
+ Barrow, F.
+ Pérez (App.
+ Math, CU).
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/Fluidlab5.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Volumetric rendering with FluidLab
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/Fluidlab6.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+SAGE: System for Algebra and Geometry Experimentation
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+SAGE
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+SAGE: open source mathematics
+\end_layout
+
+\begin_layout FrameSubtitle
+Winner of the 2007 Trophés du Libre, scientific software category
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/sage_notebook-medium.jpg
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+IPython
+\end_layout
+
+\begin_layout BeginFrame
+IPython
+\end_layout
+
+\begin_layout FrameSubtitle
+Extensible interactive environment with parallel computing support
+\end_layout
+
+\begin_layout Enumerate
+
+\color blue
+A better Python shell
+\color none
+: object introspection, system access, 'magic' command system for adding
+ functionality when working interactively,
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+ldots
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Enumerate
+
+\color blue
+An embeddable interpreter
+\color none
+: useful for debugging and for mixing batch-processing with interactive
+ work.
+\end_layout
+
+\begin_layout Enumerate
+
+\color blue
+A flexible component
+\color none
+: you can use it as the base environment for other systems with Python as
+ the underlying language.
+ It is very configurable in this direction.
+\end_layout
+
+\begin_layout Enumerate
+
+\color blue
+A system for interactive control of distributed/parallel computing systems.
+
+\color none
+
+\end_layout
+
+\begin_layout Enumerate
+
+\color blue
+An interactive component
+\color none
+ we can plug into GUIs, browser-based shells, etc.
+\end_layout
+
+\begin_layout BeginPlainFrame
+IPython: IDL-like interactive use
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/pylab-screen.png
+ lyxscale 30
+ width 90text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+IPython: interactive control of VTK visualizations
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mlab-screen-black.png
+ lyxscale 50
+ width 90text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+IPython's future
+\end_layout
+
+\begin_layout FrameSubtitle
+A 2-process kernel on the network
+\end_layout
+
+\begin_layout Standard
+Work with Brian Granger (Tech-X, Boulder) and Benjamin Ragan-Kelley (U.
+ C.
+ Berkeley physics).
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/kernel2p.png
+ lyxscale 50
+ width 80text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+Distributed/parallel computing
+\end_layout
+
+\begin_layout Itemize
+Think of Python as 'the CPU'
+\end_layout
+
+\begin_layout Itemize
+But these souped-up kernels let you talk to it conveniently.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/ipython_parallel.png
+ lyxscale 50
+ width 80text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+PyNGL
+\end_layout
+
+\begin_layout BeginPlainFrame
+PyNGL - Python interface to NCAR's NCL
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+import
+\family default
+\color none
+
+\family typewriter
+\color blue
+numpy
+\color none
+, Ngl, Nio
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+dirc = Ngl.pynglpath("data")
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+cfile = Nio.open_file(dirc + "/cdf/seam.nc")
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+lon =
+\family default
+\color none
+
+\family typewriter
+\color blue
+numpy
+\color none
+.ravel(cfile.variables["lon2d"][:,:])
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+lat =
+\family default
+\color none
+
+\family typewriter
+\color blue
+numpy
+\color none
+.ravel(cfile.variables["lat2d"][:,:])
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+ps =
+\family default
+\color none
+
+\family typewriter
+\color blue
+numpy
+\color none
+.ravel(cfile.variables["ps"][0,:,:])/100.
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+rlist = Ngl.Resources()
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+rlist.wkColorMap = "BlAqGrYeOrReVi200"
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+wks_type = "ps"
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+wks = Ngl.open_wks(wks_type,"seam",rlist)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+resources = Ngl.Resources()
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+resources.sfXArray = lon
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+resources.sfYArray = lat
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+map = Ngl.contour_map(wks,ps,resources)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+Ngl.end()
+\end_layout
+
+\begin_layout BeginFrame
+PyNGL
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/ncar-world-seam.3.png
+ lyxscale 50
+ width 90text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection*
+Others
+\end_layout
+
+\begin_layout BeginFrame
+A few other projects
+\end_layout
+
+\begin_layout FrameSubtitle
+Python is becoming very popular in many different scientific areas
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+PyDAP:
+\color none
+ Python implementation of the OpenDAP protocols (client
+\series bold
+and
+\series default
+ server).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+PyTables:
+\color none
+ HDF-5 read-write support with excellent performance.
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+PyTrilinos:
+\color none
+ Python interface to Sandia's Trilinos parallel solvers.
+ Coupled with IPython, they can be used interactively.
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+PyRAF:
+\color none
+ Hubble Space Telescope interface to IRAF, a standard in astronomical image
+ processing.
+
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+VPython:
+\color none
+ easy, real-time 3D programming (Carnegie Mellon, used for an introductory
+ mechanics course).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Galaxy:
+\color none
+ integrated access to multiple tools in genomics research.
+
+\color blue
+Very impressive
+\color none
+.
+\end_layout
+
+\begin_layout Section
+Development in Python
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+Development\InsetSpace ~
+Model
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Python compared to IDL, Matlab, etc.
+\end_layout
+
+\begin_layout ExampleBlock
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+<+->{Pros}
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout ExampleBlock
+A general programming language:
+\series bold
+this is a feature
+\series default
+!
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Free, open source, extremely portable: from the OLPC or a cellphone (Nokia)
+ to a supercomputer.
+\end_layout
+
+\begin_layout Itemize
+Networking, text processing, XML parsing, databases, etc
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+ldots
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+Integrated support for testing (
+\family typewriter
+unittest
+\family default
+,
+\family typewriter
+doctest
+\family default
+)
+\end_layout
+
+\begin_layout Itemize
+Automatic API documentation tools (
+\family typewriter
+epydoc, doxygen
+\family default
+).
+\end_layout
+
+\begin_layout Itemize
+Supports all major GUI toolkits.
+\end_layout
+
+\begin_layout Itemize
+Extremely expressive for complex algorithms.
+\end_layout
+
+\end_deeper
+\begin_layout Separator
+
+\end_layout
+
+\begin_layout AlertBlock
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+<+->{There are still rough edges!}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Installation, deployment: harder than needed (but improving).
+\end_layout
+
+\begin_layout Itemize
+No good, single-point of entry integrated help system.
+\end_layout
+
+\begin_layout Itemize
+Lots of good documentation, but scattered all over.
+\end_layout
+
+\begin_layout Itemize
+Funding agency support for infrastructure work is difficult to get.
+\end_layout
+
+\end_deeper
+\begin_layout BeginFrame
+A different model of development
+\end_layout
+
+\begin_layout FrameSubtitle
+
+\emph on
+\color red
+Global optimization is the root of all evil
+\end_layout
+
+\begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+<+->
+\end_layout
+
+\end_inset
+
+Never write `
+\family typewriter
+main()
+\family default
+' in C anymore:
+\color none
+
+\color red
+you are optimizing globally!
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Prototype the code in Python.
+\end_layout
+
+\begin_layout Itemize
+Wrap existing libraries for Python access and reuse them (Numeric, LAPACK,
+ VTK, ...)
+\end_layout
+
+\begin_layout Itemize
+Identify remaining hot spots via
+\color none
+
+\color blue
+profiling
+\color none
+.
+\end_layout
+
+\begin_layout Itemize
+Rewrite
+\color none
+
+\color blue
+only
+\color none
+ the code for those hot spots in C/C++/FORTRAN.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+<+->
+\end_layout
+
+\end_inset
+
+The resulting code will be production-ready:
+\color none
+
+\color blue
+no throw-away codes
+\color none
+.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Make your code available as a library for
+\color none
+
+\color blue
+interactive use
+\color none
+.
+\end_layout
+
+\begin_layout Itemize
+Integrate plotting, visualization, logging, ..., into your objects.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+<+->
+\end_layout
+
+\end_inset
+
+
+\color blue
+Apply this to existing codes
+\color none
+
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Break them into a library core and control layers.
+\end_layout
+
+\begin_layout Itemize
+Wrap the libraries and expose them to Python.
+\end_layout
+
+\begin_layout Itemize
+Write all new control as quick, light Python scripts.
+\end_layout
+
+\end_deeper
+\begin_layout Section*
+Wrapup
+\end_layout
+
+\begin_layout BeginFrame
+Summary
+\end_layout
+
+\begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+<+->
+\end_layout
+
+\end_inset
+
+
+\color blue
+Python
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+An excellent language for scientific computing development.
+\end_layout
+
+\begin_layout Itemize
+Scales from interactive exploration to full-blown production codes.
+\end_layout
+
+\begin_layout Itemize
+Accessible to scientists who are not professional programmers.
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vskip0pt plus.5fill
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+<+->
+\end_layout
+
+\end_inset
+
+
+\color red
+Outlook
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+NumPy, SciPy, matplotlib, IPython, MayaVi, Sage, etc
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+ldots
+\end_layout
+
+\end_inset
+
+:
+\series bold
+all
+\series default
+are moving forward and improving.
+\end_layout
+
+\begin_layout Itemize
+Major DOE, NSF, NiH projects are adopting it as a core technology.
+\end_layout
+
+\begin_layout Itemize
+Yearly conference at Caltech (August) growing.
+\end_layout
+
+\begin_layout Itemize
+These projects are all Open Source: if you find a flaw, a bug, or a missing
+ feature,
+\color none
+
+\emph on
+\color blue
+jump on board!
+\end_layout
+
+\begin_layout Itemize
+There are still many rough edges to which various projects can contribute.
+\end_layout
+
+\end_deeper
+\begin_layout BeginPlainFrame
+Thank you! Questions?
+\end_layout
+
+\begin_layout FrameSubtitle
+Credit: http://xkcd.com/353
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+vspace{-5mm}
+\end_layout
+
+\end_inset
+
+
+\begin_inset Graphics
+ filename fig/xkcd_python.png
+ lyxscale 50
+ height 85pheight%
+ BoundingBox -4bp -4bp 518bp 588bp
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+
+\end_layout
+
+\begin_layout Standard
+\align center
+
+\series bold
+\size largest
+\color blue
+We're done here!
+\end_layout
+
+\begin_layout EndFrame
+
+\end_layout
+
+\begin_layout Section*
+\start_of_appendix
+\begin_inset Note Note
+status collapsed
+
+\begin_layout Standard
+All of the following is optional and typically not needed.
+\end_layout
+
+\end_inset
+
+Appendix
+\end_layout
+
+\begin_layout Subsection*
+URLs
+\end_layout
+
+\begin_layout BeginFrame
+Some useful URLs
+\end_layout
+
+\begin_layout Itemize
+A collection of links on Python and Scientific Computing:
+\color blue
+
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://amath.colorado.edu/faculty/fperez/python/scicomp"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+SciPy:
+\color none
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://www.scipy.org"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+IPython, an improved interactive shell
+\color blue
+:
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://ipython.scipy.org"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+Matplotlib, 2d plotting with Matlab syntax
+\color blue
+:
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://matplotlib.sourceforge.net"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+MayaVi, 3d data visualization:
+\color blue
+
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://mayavi.sourceforge.net"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+PyX, programmatic PostScript generation (with
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+LaTeX
+\end_layout
+
+\end_inset
+
+ support)
+\color blue
+:
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://pyx.sourceforge.net"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+F2Py (FORTRAN):
+\color none
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://cens.ioc.ee/projects/f2py2e"
+
+\end_inset
+
+
+\color none
+
+\end_layout
+
+\begin_layout Itemize
+SWIG (C/C++ for Python):
+\color none
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://swig.org"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+URLs for projects mentioned earlier
+\end_layout
+
+\begin_layout Itemize
+VPython, real-time 3D:
+\color none
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://vpython.org"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+UCSF Chimera - interactive molecular graphics
+\color blue
+:
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://www.cgl.ucsf.edu/chimera"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+PyRAF - Hubble Space Telescope interface to IRAF
+\color blue
+:
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://www.stsci.edu/resources/software_hardware/pyraf"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+BioPython -
+\color none
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://biopython.org"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+VisionEgg - vision research experiments (OpenGL):
+\color blue
+
+\newline
+
+\begin_inset LatexCommand htmlurl
+target "http://www.visionegg.org"
+
+\end_inset
+
+
+\color none
+
+\end_layout
+
+\begin_layout Itemize
+Natural Language Toolkit:
+\newline
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://nltk.sourceforge.net"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+Neural Integrator - visual programming for neural networks:
+\newline
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://starship.python.net/crew/seehof/NeuralPython.html"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+Orange - component-based data mining:
+\newline
+
+\color blue
+
+\begin_inset LatexCommand htmlurl
+target "http://www.ailab.si/orange"
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout EndFrame
+
+\end_layout
+
+\end_body
+\end_document
Added: trunk/py4science/intro_talk/0810_berkeley_intro.lyx
===================================================================
--- trunk/py4science/intro_talk/0810_berkeley_intro.lyx (rev 0)
+++ trunk/py4science/intro_talk/0810_berkeley_intro.lyx 2008-10-19 08:37:47 UTC (rev 6272)
@@ -0,0 +1,2274 @@
+#LyX 1.5.5 created this file. For more info see http://www.lyx.org/
+\lyxformat 276
+\begin_document
+\begin_header
+\textclass beamer
+\begin_preamble
+% Include only certain frames - this speeds up compilation
+% The frames to be included need to be labeled, by using ERT
+% as [label=LABELNAME] (no backslashes or {})
+%\includeonlyframes{currentt}
+
+% To make a printable handout (one page per frame), pass
+% the handout option to the doc class (Layout menu)
+
+% For good fonts in PDFs, use pslatex fonts (Layout menu)
+
+% Colors and symbols
+\usepackage{latexsym}
+\usepackage{color}
+
+% Display covered items in transparent form (as opposed
+% to not showing them at all)
+\newcommand{\coveredinvisible}{
+ \setbeamercovered{invisible}
+}
+\newcommand{\coveredvisible}{
+ \setbeamercovered{highly dynamic}
+}
+
+% Choose default setting here:
+\coveredvisible
+
+\newcommand{\ps}{\vspace{-4mm} }
+
+% Theme configuration. I've basically built a custom theme out of
+% Warsaw, adding infoline and changing the nav. symbol bar
+
+% Warning: the commands below are order-sensitive!
+
+% load the infolines theme, b/c I want the headline Warsaw
+% uses (split), but the footline from infolines.
+% In the document body, these will be deactivated for the title and
+% turned on later
+\useoutertheme{infolines}
+% Main theme
+\usetheme{Warsaw}
+% Adjust the color for the center (title) box to be that of
+% infolines, which Warsaw changes
+\setbeamercolor*{title in head/foot}{parent=palette secondary}
+
+% Define a minimal set of navigation symbols
+\defbeamertemplate*{navigation symbols}{minmal}
+{%
+ \hbox{%
+ \hbox{\insertframenavigationsymbol}
+ \hbox{\insertdocnavigationsymbol}
+ \hbox{\insertbackfindforwardnavigationsymbol}%
+ }%
+}
+% activate the minimal navbar
+\setbeamertemplate{navigation symbols}[minimal]
+
+%%%%% HACK %%%%%
+% I started getting errors because LyX is emmitting a color 'none'
+% call, which confuses xcolor. I'm defining 'none' to be black here.
+\definecolor{none}{cmyk}{0,0,0,1}
+%%%%% /HACK %%%%%
+\end_preamble
+\options compress
+\language english
+\inputencoding auto
+\font_roman times
+\font_sans helvet
+\font_typewriter courier
+\font_default_family default
+\font_sc false
+\font_osf false
+\font_sf_scale 100
+\font_tt_scale 100
+\graphics default
+\paperfontsize default
+\spacing single
+\papersize default
+\use_geometry false
+\use_amsmath 2
+\use_esint 0
+\cite_engine basic
+\use_bibtopic false
+\paperorientation landscape
+\secnumdepth 2
+\tocdepth 2
+\paragraph_separation indent
+\defskip medskip
+\quotes_language english
+\papercolumns 1
+\papersides 1
+\paperpagestyle default
+\tracking_changes false
+\output_changes false
+\author ""
+\author ""
+\end_header
+
+\begin_body
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+Some things to fix in a future version:
+\end_layout
+
+\begin_layout Standard
+- trim a bit of time
+\end_layout
+
+\begin_layout Standard
+- add more about ipython and my own python work, reduce that of others
+\end_layout
+
+\begin_layout Standard
+- add a final python pros/cons, esp.
+ the cons part.
+ It will make things more balanced.
+\end_layout
+
+\begin_layout Standard
+- the PDE part repeats a bit the 'python benefits' which were already pounded
+ on.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+% disable the bottom bar for the title and outline pages
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+setbeamertemplate{footline}{}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+vspace*{-5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Title
+Python in Scientific Computing
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+Python & Scientific Computing
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subtitle
+An Overview
+\end_layout
+
+\begin_layout Author
+Fernando\InsetSpace ~
+Pérez
+\newline
+
+\family typewriter
+\size scriptsize
+<Fer...@be...>
+\family default
+\size default
+
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+FP
+\begin_inset Note Note
+status collapsed
+
+\begin_layout Standard
+This is used by the 'split' footline theme on the left side of the page
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vspace{5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Institute
+Neuroscience/BIC, U.C Berkeley
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+- Use the
+\backslash
+inst command only if there are several affiliations.
+\end_layout
+
+\begin_layout Standard
+- Keep it simple, no one is interested in your street address.
+\end_layout
+
+\end_inset
+
+
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+UCB
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+optional, but mostly needed
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+vspace{5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Date
+UC Berkeley
+\newline
+Oct 9, 2008
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+UCB, 10/09/08
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+If you have a file called "institution-logo-filename.xxx", where xxx is a
+ graphic format that can be processed by latex or pdflatex, resp., then you
+ can add a logo by uncommenting the following:
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+%
+\backslash
+pgfdeclareimage[height=0.5cm]{institution-logo}{institution-logo-filename}
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+%
+\backslash
+logo{
+\backslash
+pgfuseimage{institution-logo}}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+The following causes the table of contents to be shown at the beginning
+ of every Section.
+ Delete this, if you do not want it.
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+AtBeginSection[]{
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+frame<beamer>{
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+frametitle{Outline}
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+tableofcontents[currentsection]
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset Note Note
+status open
+
+\begin_layout Standard
+If you wish to uncover everything in a step-wise fashion, uncomment the
+ following command:
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+%
+\backslash
+beamerdefaultoverlayspecification{<+->}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+% reactivate the footline
+\end_layout
+
+\begin_layout Standard
+
+\end_layout
+
+\begin_layout Standard
+
+
+\backslash
+setbeamertemplate{footline}[infolines theme]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+Outline
+\end_layout
+
+\begin_layout Standard
+\begin_inset LatexCommand tableofcontents
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+[pausesections]
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Section
+Scientific Computing
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+SciComp
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Existing tools
+\end_layout
+
+\begin_layout BeginFrame
+Pure Fortran, C and C++
+\end_layout
+
+\begin_layout Itemize
+Tools optimized for the CPU, not the developer.
+\end_layout
+
+\begin_layout Itemize
+Low-level (data types and libraries).
+\end_layout
+
+\begin_layout Itemize
+Difficult access to visualization, quick profiling, text processing,
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+ldots
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Itemize
+No interactive facilities.
+\end_layout
+
+\begin_layout Pause
+
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+\color blue
+However!
+\end_layout
+
+\begin_layout Itemize
+They deliver excellent performance.
+\end_layout
+
+\begin_layout Itemize
+Millions of LOC in proven scientific codes.
+
+\end_layout
+
+\begin_layout Itemize
+We need to
+\emph on
+\color blue
+work with these tools
+\emph default
+\color inherit
+, not replace them!
+\end_layout
+
+\begin_layout BeginFrame
+Complementary high level tools
+\end_layout
+
+\begin_layout Itemize
+Mathematica, Maple, Matlab, IDL: extremely popular, for good reasons.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Interactivity, visualization, extensive libraries.
+\end_layout
+
+\begin_layout Itemize
+Unpleasant for large-scale programs and non-mathematical tasks.
+\end_layout
+
+\begin_layout Itemize
+Expensive, proprietary: lock-in.
+\end_layout
+
+\end_deeper
+\begin_layout Pause
+
+\end_layout
+
+\begin_layout Itemize
+Another common approach: the `command pipeline'
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+FORTRAN, C, C++ programs ...
+\end_layout
+
+\begin_layout Itemize
+driven by Bash/awk/sed/Perl scripts ...
+\end_layout
+
+\begin_layout Itemize
+which feed them input and send the output ...
+\end_layout
+
+\begin_layout Itemize
+to visualization/analysis programs.
+\end_layout
+
+\end_deeper
+\begin_layout Subsection
+Python?
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+Python
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+Python in this context
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Free
+\color none
+ (BSD license), highly portable (Linux, OSX, Windows, lots...).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Interactive
+\color none
+ interpreter provided.
+\end_layout
+
+\begin_layout Itemize
+Extremely readable syntax (
+\color blue
+
+\begin_inset Quotes eld
+\end_inset
+
+executable pseudo-code
+\begin_inset Quotes erd
+\end_inset
+
+
+\color none
+).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Simple
+\color none
+: non-professional programmers can use it effectively.
+\end_layout
+
+\begin_layout Itemize
+Clean object oriented model, but
+\color none
+
+\color blue
+not mandatory
+\color none
+.
+\end_layout
+
+\begin_layout Itemize
+Rich built-in types: lists, sets, dictionaries (hash tables), strings, ...
+\end_layout
+
+\begin_layout Itemize
+Very comprehensive standard library (
+\color blue
+batteries included
+\color none
+)
+\end_layout
+
+\begin_layout Itemize
+Standard libraries for IDL/Matlab-like arrays (NumPy)
+\end_layout
+
+\begin_layout Itemize
+Easy to wrap existing C, C++ and FORTRAN codes.
+\end_layout
+
+\begin_layout Section
+Interlude: Python in the real world
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+Examples
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+EEG analysis for epilepsy
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+EEG
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Data analysis for epilepsy surgery
+\end_layout
+
+\begin_layout FrameSubtitle
+Isolating the origin of drug-resistant epileptic seizures which require
+ surgery.
+\end_layout
+
+\begin_layout Standard
+John Hunter, Department of Pediatric Neurology, University of Chicago.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain1.png
+ lyxscale 50
+ width 80text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Electrode location in 3D, combined with MRI data
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain3.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Correlation analysis of seizure data
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain4.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+Final location of epileptic foci for surgery
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/mpl_brain5.png
+ lyxscale 50
+ width 90text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Multiwavelets for PDEs
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+PDEs
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+Adaptive, multiwavelet algorithms for integral operators
+\end_layout
+
+\begin_layout Standard
+Gregory Beylkin, Vani Cheruvu, Fernando Perez.
+ Applied Math, U.
+ of Colorado at Boulder.
+\end_layout
+
+\begin_layout Itemize
+Fast application of integral kernels.
+ (Partial Differential Equations)
+\end_layout
+
+\begin_layout Itemize
+Implementation went from 1 to 3 dimensions directly (
+\emph on
+extremely
+\emph default
+ unusual).
+\end_layout
+
+\begin_layout Itemize
+Very complex algorithm that goes beyond pure numerics.
+\end_layout
+
+\begin_layout Itemize
+Very good performance, thanks to NumPy, F2PY and weave.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/rho_2d_surf.png
+ lyxscale 80
+ width 35text%
+
+\end_inset
+
+
+\begin_inset ERT
+status collapsed
+
+\begin_layout Standard
+
+
+\backslash
+hspace{1cm}
+\end_layout
+
+\end_inset
+
+
+\begin_inset Graphics
+ filename fig/rho_2d_skel.eps
+ lyxscale 80
+ width 25text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+JPL: Mars mission data visualization
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+JPL - Mars
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+JPL: Mars mission trajectory design and nav data
+\end_layout
+
+\begin_layout FrameSubtitle
+Ted Drain and Lynn Craig, Jet Propulsion Laboratory (NASA/Caltech)
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+From: Name Elided <nam...@jp...>
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+Date: Oct 2, 2007 7:15 PM
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+Subject: Fwd: matplotlib bug numbers
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size footnotesize
+To: John Hunter <jd...@gm...>
+\end_layout
+
+\begin_layout Standard
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+vspace{5mm}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+One of my lead developers mentioned that they had sent a bug to you about
+ the annotations feature of MatPlotLib.
+ Would you be able to let me know what the timeline is to resolve that bug?
+ The reason is that
+\series bold
+\color red
+the feature is needed for the Phoenix project and their arrival at Mars
+ will be in March sometime
+\series default
+\color inherit
+, but they are doing their testing in the coming few months.
+ This annotation feature is used on reports that present the analysis of
+ the trajectory to the navigation team and it shows up on our schedule.
+
+\series bold
+\color red
+It would really help me to know approximately when it could be resolved.
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+B-plane plots are used to show the trajectory of a spacecraft with respect
+ to the target body (specifically perpendicular to the incoming asymptote
+ of the spacecraft trajectory) and we plot them with the y-axis inverted.
+ The plot is used heavily in flight operations so it is important to our
+ customers.
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+In addition, we have what is called a thundering heard plot where many different
+ trajectory solutions (determined from different measurement sources) are
+ plotted together.
+ The annotations are import there so we can see which plot corresponds to
+ each source of data.
+ I hope it helps to know how your code will be used in spacecraft navigation.
+\end_layout
+
+\begin_layout Standard
+
+\family typewriter
+\size tiny
+Thanks for all your efforts.
+\end_layout
+
+\begin_layout BeginPlainFrame
+JPL: Mars mission data visualization
+\end_layout
+
+\begin_layout Standard
+Expected communication power levels between an orbiting spacecraft and a
+ lander as it goes through the atmosphere:
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/jpl_lander_comm_power.png
+ lyxscale 25
+ width 90text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+JPL: Mars mission data visualization (2)
+\end_layout
+
+\begin_layout Standard
+Summary of the current navigation team activities and modelling (data used,
+ event times etc):
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+
+\backslash
+vspace{-3mm}
+\end_layout
+
+\end_inset
+
+
+\begin_inset Graphics
+ filename fig/jpl_nav_summary.png
+ lyxscale 50
+ width 90text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+PMV: structural bioinformatics
+\begin_inset OptArg
+status collapsed
+
+\begin_layout Standard
+PMV
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginPlainFrame
+PMV: the Python Molecule Viewer
+\end_layout
+
+\begin_layout FrameSubtitle
+Michel F.
+ Sanner, Molecular Biology Department, The Scripps Research Institute.
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/pmv.png
+ lyxscale 50
+ width 100text%
+ keepAspectRatio
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+MayaVi: customizable data visualization
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+MayaVi
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout BeginFrame
+MayaVi: sophisticated data visualization
+\end_layout
+
+\begin_layout Itemize
+Free, easy to use scientific data visualizer.
+\end_layout
+
+\begin_layout Itemize
+Heavy lifting of OpenGL-based rendering: VTK (a C++ library).
+\end_layout
+
+\begin_layout Itemize
+A very good example of how to properly use Python:
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+MayaVi is a standalone GUI program...
+\end_layout
+
+\begin_la...
[truncated message content] |