|
From: <fer...@us...> - 2008-10-25 04:29:59
|
Revision: 6333
http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6333&view=rev
Author: fer_perez
Date: 2008-10-25 04:29:53 +0000 (Sat, 25 Oct 2008)
Log Message:
-----------
retyring basemap commit
Added Paths:
-----------
trunk/py4science/talks/0810_claremont.lyx
trunk/py4science/talks/basemap_tutorial.ppt
trunk/py4science/talks/fig/basemap/
trunk/py4science/talks/fig/basemap/01.png
trunk/py4science/talks/fig/basemap/02.png
trunk/py4science/talks/fig/basemap/03.png
trunk/py4science/talks/fig/basemap/04.png
trunk/py4science/talks/fig/basemap/05.png
trunk/py4science/talks/fig/basemap/06.png
trunk/py4science/talks/fig/basemap/07.png
trunk/py4science/talks/fig/basemap/08.png
trunk/py4science/talks/fig/basemap/09.png
trunk/py4science/talks/fig/basemap/10.png
trunk/py4science/talks/fig/basemap/11.png
trunk/py4science/talks/fig/basemap/12.png
trunk/py4science/talks/fig/basemap/13.png
trunk/py4science/talks/fig/basemap/14.png
trunk/py4science/talks/fig/basemap/15.png
trunk/py4science/talks/fig/basemap/16.png
trunk/py4science/talks/fig/basemap/17.png
trunk/py4science/talks/fig/basemap/18.png
trunk/py4science/talks/fig/basemap/19.png
trunk/py4science/talks/fig/basemap/nplea_tissot.tiff
trunk/py4science/talks/fig/basemap/ortho.png
trunk/py4science/talks/fig/basemap/stere_tissot.tiff
trunk/py4science/talks/fig/dtype.png
trunk/py4science/talks/fig/numpy_broadcasting.pdf
trunk/py4science/talks/fig/numpy_broadcasting.svg
trunk/py4science/talks/fig/numpy_fancy_indexing.pdf
trunk/py4science/talks/fig/numpy_fancy_indexing.svg
trunk/py4science/talks/fig/numpy_indexing.pdf
trunk/py4science/talks/fig/numpy_indexing.svg
trunk/py4science/talks/numpy_intro.lyx
Added: trunk/py4science/talks/0810_claremont.lyx
===================================================================
--- trunk/py4science/talks/0810_claremont.lyx (rev 0)
+++ trunk/py4science/talks/0810_claremont.lyx 2008-10-25 04:29:53 UTC (rev 6333)
@@ -0,0 +1,2147 @@
+#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 Introduction
+\end_layout
+
+\begin_layout Author
+Fernando\InsetSpace ~
+Pérez
+\newline
+
+\family typewriter
+\size scriptsize
+<Fer...@be...>
+\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
+Neuroscience, UC Berkeley
+\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
+UC Berkeley/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
+Joint Sciences Division, Claremont, CA
+\newline
+Oct 25, 2008
+\begin_inset OptArg
+status open
+
+\begin_layout Standard
+Claremont, 10/25/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
+
+
+\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 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 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_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 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: Matlab/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
+Distributed/parallel computing
+\end_layout
+
+\begin_layout Standard
+Work with Brian Granger (Cal State San Luis Obispo) and Min Ragan-Kelley
+ (U.
+ C.
+ Berkeley).
+\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 BeginPlainFrame
+High-level graphical control of parallel codes
+\end_layout
+
+\begin_layout Standard
+\align center
+\begin_inset Graphics
+ filename fig/vision_beam_pattern.png
+ lyxscale 50
+ width 80text%
+
+\end_inset
+
+
+\end_layout
+
+\begin_layout Subsection
+Others
+\end_layout
+
+\begin_layout BeginFrame
+Who else?
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+Academia
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+PyRAF:
+\color none
+ Astronomical data analysis (Hubble Space Telescope).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+PyTrilinos:
+\color none
+ Parallel solvers (Sandia National Lab's ).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+DANSE:
+\color none
+ Spallation Neutron Source (ORNL/Caltech).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+CDAT
+\color none
+: Climate Data Analysis Tools (Lawrence Livermore).
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+OOF2
+\color none
+: Finite Element Analysis of Microstructures (NIST).
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+Industry
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+InteractiveSupercomputing.com:
+\color none
+ Python interface to their proprietary backend.
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Numenta:
+\color none
+ pattern recognition algorithms (Jeff Hawkins-Palm)
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Google/YouTube:
+\color none
+ Internally, new AppEngine web service platform.
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+\color blue
+Lots
+\series default
+\color inherit
+ more
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+\begin_inset LatexCommand htmlurl
+target "http://www.scipy.org/Topical_Software"
+
+\end_inset
+
+
+\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 is a general programming language
+\end_layout
+
+\begin_layout ExampleBlock
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+{
+\end_layout
+
+\end_inset
+
+
+\series bold
+It's not a bug, it's a feature
+\series default
+!
+\begin_inset ERT
+status open
+
+\begin_layout Standard
+
+}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Get others to develop the non-scientific tools you may need.
+\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 automated testing.
+\end_layout
+
+\begin_layout Itemize
+Excellent documentation tools
+\end_layout
+
+\begin_layout Itemize
+Supports all major GUI toolkits.
+\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 - but we're working on these}
+\end_layout
+
+\end_inset
+
+
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Installation, deployment: harder than needed.
+\end_layout
+
+\begin_layout Itemize
+No good, single-point of entry environment (but see Sage)
+\end_layout
+
+\begin_layout Itemize
+Documentation too scattered.
+\end_layout
+
+\begin_layout Itemize
+Your favorite/critical tool may well not exist
+\series bold
+yet
+\series default
+.
+\end_layout
+
+\begin_layout Itemize
+Funding agency support for infrastructure work is difficult to get.
+\end_layout
+
+\end_deeper
+\begin_layout BeginFrame
+Using your codes from today with Python
+\end_layout
+
+\begin_layout Itemize
+Code too monolithic but with good core pieces?
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Break into a
+\color blue
+library core
+\color inherit
+ and control layers.
+\end_layout
+
+\begin_layout Itemize
+
+\color blue
+Wrap
+\color inherit
+ the libraries and expose them to Python.
+\end_layout
+
+\begin_layout Itemize
+Use Python for control or use
+\color blue
+interactively
+\color inherit
+.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+For existing libraries in C/C++/Fortran
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Provide Python
+\color blue
+bindings
+\color inherit
+ for them.
+\end_layout
+
+\begin_layout Itemize
+It will make it much easier for others to test/use them.
+\end_layout
+
+\begin_layout Itemize
+The network economy benefits all.
+ In this case,
+\color blue
+
+\begin_inset Formula $O(n^{2})$
+\end_inset
+
+ is good!
+\end_layout
+
+\end_deeper
+\begin_layout BeginFrame
+Writing a new code?
+\end_layout
+
+\begin_layout Itemize
+Avoid whole programs in C/Fortran:
+\color none
+
+\color red
+you are optimizing globally!
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+Prototype the problem in Python (get the algorithm right first)
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+using fast libraries.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+
+\color blue
+Profile
+\color none
+the hotspots.
+\end_layout
+
+\begin_layout Itemize
+Optimize
+\color none
+
+\color blue
+only those
+\color inherit
+, if needed.
+\end_layout
+
+\end_deeper
+\begin_layout Itemize
+The result may be production-ready:
+\color none
+
+\color blue
+less throw-away prototypes.
+\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 Section*
+Wrapup
+\end_layout
+
+\begin_layout BeginFrame
+Wrapup
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+\color blue
+Python
+\end_layout
+
+\begin_layout Itemize
+Rapidly growing in scientific computing.
+\end_layout
+
+\begin_layout Itemize
+Collaborative effort:
+\color blue
+by scientists, for scientists.
+\end_layout
+
+\begin_layout Itemize
+An open stack supports truly
+\color blue
+reproducible computational research
+\color inherit
+.
+\end_layout
+
+\begin_layout Standard
+
+\series bold
+\color blue
+What's in it for you?
+\end_layout
+
+\begin_layout Itemize
+Hopefully a very useful tool.
+\end_layout
+
+\begin_layout Itemize
+Provide Python bindings to your own research codes.
+\end_layout
+
+\begin_deeper
+\begin_layout Itemize
+...
+ and we all benefit from the resulting network effect.
+\end_layout
+
+\end_deeper
+\begin_layout Standard
+\align center
+
+\series bold
+\size large
+Join in,
+\color blue
+there's plenty to do!
+\end_layout
+
+\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
+Let's start working!
+\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/talks/basemap_tutorial.ppt
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/basemap_tutorial.ppt
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/01.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/01.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/02.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/02.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/03.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/03.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/04.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/04.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/05.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/05.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/06.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/06.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/07.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/07.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/08.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/08.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/09.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/09.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/10.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/10.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/11.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/11.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/12.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/12.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/13.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/13.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/14.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/14.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/15.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/15.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/16.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/16.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/17.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/17.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/18.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/18.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/19.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/19.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/nplea_tissot.tiff
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/nplea_tissot.tiff
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/ortho.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/ortho.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/basemap/stere_tissot.tiff
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/basemap/stere_tissot.tiff
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/dtype.png
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/dtype.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/numpy_broadcasting.pdf
===================================================================
(Binary files differ)
Property changes on: trunk/py4science/talks/fig/numpy_broadcasting.pdf
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/py4science/talks/fig/numpy_broadcasting.svg
===================================================================
--- trunk/py4science/talks/fig/numpy_broadcasting.svg (rev 0)
+++ trunk/py4science/talks/fig/numpy_broadcasting.svg 2008-10-25 04:29:53 UTC (rev 6333)
@@ -0,0 +1,4131 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ id="svg6427"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ width="1129.2002"
+ height="693.16803"
+ xml:space="preserve"
+ sodipodi:docname="numpy_broadcasting.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.0"><metadata
+ id="metadata6432"><rdf:RDF><cc:Work
+ rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" /></cc:Work></rdf:RDF></metadata><defs
+ id="defs6430"><inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective6434" /><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6444"><path
+ d="M 0,0 L 1024,0 L 1024,768 L 0,768 L 0,0 z"
+ id="path6446" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6456"><path
+ d="M 12.25,436.5003 L 12.25,731.738 L 465.25,731.738 L 918.25,731.738 L 918.25,436.5003 L 918.25,141.2626 L 465.25,141.2626 L 12.25,141.2626 L 12.25,436.5003 M 171.1879,431.8608 C 171.468,432.5567 171.4529,433.733 171.1543,434.4747 C 170.6875,435.6345 170.3126,435.5489 168.4759,433.8636 C 167.3013,432.7857 166.5311,431.6095 166.7643,431.2497 C 167.5041,430.1086 170.658,430.5443 171.1879,431.8608"
+ id="path6458" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6462"><path
+ d="M 12.25,141.8124 L 918.25,141.8124 L 918.25,731.7379 L 12.25,731.7379 L 12.25,141.8124 z"
+ id="path6464" /></clipPath><clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath9304"><path
+ d="M 0,0 L 1024,0 L 1024,768 L 0,768 L 0,0 z"
+ id="path9306" /></clipPath></defs><sodipodi:namedview
+ inkscape:window-height="977"
+ inkscape:window-width="1165"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ guidetolerance="10.0"
+ gridtolerance="10.0"
+ objecttolerance="10.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showgrid="false"
+ inkscape:zoom="0.4234375"
+ inkscape:cx="640"
+ inkscape:cy="480"
+ inkscape:window-x="2324"
+ inkscape:window-y="0"
+ inkscape:current-layer="g6436" /><g
+ id="g6436"
+ inkscape:groupmode="layer"
+ inkscape:label="pg_0003"
+ transform="matrix(1.25,0,0,-1.25,-15.3125,905.74503)"><g
+ id="g6438" /><g
+ id="g6440"><g
+ id="g6442"
+ clip-path="url(#clipPath6444)"><path
+ d="M 0,0 L 1024,0 L 1024,768 L 0,768 L 0,0 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path6448" /><path
+ d="M 0,0 L 1024,0 L 1024,768 L 0,768 L 0,0 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path6450" /></g></g><g
+ id="g6452"><g
+ id="g6454"
+ clip-path="url(#clipPath6456)"><g
+ id="g6460"
+ clip-path="url(#clipPath6462)"><path
+ d="M 791.9841,355.5665 L 791.9841,355.5665 L 827.0683,355.5665 L 827.0683,389.1947 L 791.9841,389.1947 L 791.9841,355.5665 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6466" /><g
+ id="g6468"
+ transform="matrix(0.1876165,0,0,-0.1788737,12.25,731.738)"><path
+ d="M 4156,2103 L 4156,2103 L 4343,2103 L 4343,1915 L 4156,1915 L 4156,2103 z"
+ style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6470" /></g><path
+ d="M 799.6313,370.412 L 802.123,370.7001 C 802.2025,370.0946 802.4162,369.6317 802.7643,369.3114 C 803.1124,368.9912 803.5339,368.8311 804.0286,368.8311 C 804.5599,368.8311 805.0073,369.0233 805.3706,369.4075 C 805.7341,369.7918 805.9158,370.3101 805.9158,370.9622 C 805.9158,371.5794 805.7416,372.0685 805.3935,372.4295 C 805.0453,372.7905 804.621,372.971 804.1202,372.971 C 803.7903,372.971 803.3964,372.9098 802.9384,372.7876 L 803.2223,374.7877 C 803.9186,374.7703 804.45,374.9143 804.8164,375.22 C 805.1829,375.5257 805.3661,375.9319 805.3661,376.4384 C 805.3661,376.8693 805.2316,377.2129 804.9629,377.4691 C 804.6943,377.7253 804.337,377.8534 803.8911,377.8534 C 803.4514,377.8534 803.0758,377.7078 802.7643,377.4167 C 802.4529,377.1255 802.2635,376.7004 802.1964,376.1415 L 799.8237,376.5258 C 799.9886,377.3002 800.2375,377.9189 800.5703,378.3818 C 800.9031,378.8447 801.3673,379.2086 801.9628,379.4736 C 802.5582,379.7384 803.2254,379.871 803.9644,379.871 C 805.2286,379.871 806.2425,379.4866 807.0059,378.718 C 807.6349,378.0891 807.9494,377.3788 807.9494,376.5869 C 807.9494,375.4631 807.3052,374.5664 806.0165,373.8969 C 806.7859,373.7396 807.4013,373.3874 807.8624,372.84 C 808.3234,372.2927 808.5541,371.6318 808.5541,370.8573 C 808.5541,369.7336 808.1235,368.7758 807.2624,367.9838 C 806.4012,367.1919 805.3293,366.7961 804.0468,366.7961 C 802.8315,366.7961 801.8238,367.1293 801.0237,367.7961 C 800.2238,368.4628 799.7596,369.3347 799.6313,370.412 z M 814.5808,379.871 C 815.8818,379.871 816.8986,379.4283 817.6315,378.5434 C 818.5048,377.4953 818.9415,375.7572 818.9415,373.3292 C 818.9415,370.9069 818.5018,369.1659 817.6223,368.1061 C 816.8956,367.2328 815.8818,366.7961 814.5808,366.7961 C 813.2739,366.7961 812.2203,367.2749 811.4203,368.2328 C 810.6204,369.1906 810.2202,370.8981 810.2202,373.3553 C 810.2202,375.7659 810.66,377.5011 811.5394,378.5609 C 812.2662,379.4343 813.28,379.871 814.5808,379.871 z M 814.5808,377.8359 C 814.2694,377.8359 813.9916,377.7413 813.7472,377.5521 C 813.5029,377.3628 813.3136,377.0236 813.1793,376.5345 C 813.0021,375.8998 812.9136,374.8314 812.9136,373.3292 C 812.9136,371.8268 812.993,370.7948 813.1518,370.2329 C 813.3105,369.671 813.5106,369.2969 813.7518,369.1105 C 813.993,368.9242 814.2694,368.8311 814.5808,368.8311 C 814.8924,368.8311 815.1702,368.9256 815.4145,369.115 C 815.6588,369.3041 815.8481,369.6433 815.9825,370.1324 C 816.1596,370.7613 816.2482,371.8268 816.2482,373.3292 C 816.2482,374.8314 816.1687,375.8635 816.0101,376.4254 C 815.8512,376.9872 815.6512,377.3628 815.4099,377.5521 C 815.1688,377.7413 814.8924,377.8359 814.5808,377.8359 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path6472" /><path
+ d="M 791.9841,389.1947 L 791.9841,389.1947 L 809.6199,406.0089 L 844.7043,406.0089 L 827.0683,389.1947 L 791.9841,389.1947 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6474" /><g
+ id="g6476"
+ transform="matrix(0.1876165,0,0,-0.1788737,12.25,731.738)"><path
+ d="M 4156,1915 L 4156,1915 L 4250,1821 L 4437,1821 L 4343,1915 L 4156,1915 z"
+ style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6478" /></g><path
+ d="M 827.0683,355.5665 L 827.0683,355.5665 L 827.0683,389.1947 L 844.7043,406.0089 L 844.7043,372.3806 L 827.0683,355.5665 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6480" /><g
+ id="g6482"
+ transform="matrix(0.1876165,0,0,-0.1788737,12.25,731.738)"><path
+ d="M 4343,2103 L 4343,2103 L 4343,1915 L 4437,1821 L 4437,2009 L 4343,2103 z"
+ style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6484" /></g><path
+ d="M 827.0683,355.5665 L 827.0683,355.5665 L 862.3402,355.5665 L 862.3402,389.1947 L 827.0683,389.1947 L 827.0683,355.5665 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6486" /><g
+ id="g6488"
+ transform="matrix(0.1876165,0,0,-0.1788737,12.25,731.738)"><path
+ d="M 4343,2103 L 4343,2103 L 4531,2103 L 4531,1915 L 4343,1915 L 4343,2103 z"
+ style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6490" /></g><path
+ d="M 834.9032,370.412 L 837.395,370.7001 C 837.4745,370.0946 837.6881,369.6317 838.0363,369.3114 C 838.3843,368.9912 838.8057,368.8311 839.3004,368.8311 C 839.8318,368.8311 840.2792,369.0233 840.6425,369.4075 C 841.006,369.7918 841.1876,370.3101 841.1876,370.9622 C 841.1876,371.5794 841.0135,372.0685 840.6654,372.4295 C 840.3173,372.7905 839.8928,372.971 839.3921,372.971 C 839.0623,372.971 838.6683,372.9098 838.2103,372.7876 L 838.4943,374.7877 C 839.1905,374.7703 839.7218,374.9143 840.0883,375.22 C 840.4547,375.5257 840.6379,375.9319 840.6379,376.4384 C 840.6379,376.8693 840.5035,377.2129 840.2349,377.4691 C 839.9662,377.7253 839.6089,377.8534 839.163,377.8534 C 838.7233,377.8534 838.3477,377.7078 838.0363,377.4167 C 837.7247,377.1255 837.5354,376.7004 837.4683,376.1415 L 835.0955,376.5258 C 835.2604,377.3002 835.5094,377.9189 835.8422,378.3818 C 836.175,378.8447 836.6391,379.2086 837.2347,379.4736 C 837.8301,379.7384 838.4973,379.871 839.2363,379.871 C 840.5005,379.871 841.5143,379.4866 842.2777,378.718 C 842.9068,378.0891 843.2214,377.3788 843.2214,376.5869 C 843.2214,375.4631 842.577,374.5664 841.2883,373.8969 C 842.0579,373.7396 842.6732,373.3874 843.1343,372.84 C 843.5954,372.2927 843.8259,371.6318 843.8259,370.8573 C 843.8259,369.7336 843.3953,368.7758 842.5343,367.9838 C 841.6732,367.1919 840.6013,366.7961 839.3188,366.7961 C 838.1034,366.7961 837.0956,367.1293 836.2957,367.7961 C 835.4956,368.4628 835.0314,369.3347 834.9032,370.412 z M 852.088,367.0144 L 849.5139,367.0144 L 849.5139,376.2637 C 848.5732,375.4253 847.4648,374.8052 846.1884,374.4034 L 846.1884,376.6306 C 846.8601,376.8402 847.59,377.2376 848.3778,377.8228 C 849.1658,378.408 849.7062,379.0907 849.9993,379.871 L 852.088,379.871 L 852.088,367.0144 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path6492" /><path
+ d="M 827.0683,389.1947 L 827.0683,389.1947 L 844.7043,406.0089 L 879.9761,406.0089 L 862.3402,389.1947 L 827.0683,389.1947 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6494" /><g
+ id="g6496"
+ transform="matrix(0.1876165,0,0,-0.1788737,12.25,731.738)"><path
+ d="M 4343,1915 L 4343,1915 L 4437,1821 L 4625,1821 L 4531,1915 L 4343,1915 z"
+ style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6498" /></g><path
+ d="M 862.3402,355.5665 L 862.3402,355.5665 L 862.3402,389.1947 L 879.9761,406.0089 L 879.9761,372.3806 L 862.3402,355.5665 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6500" /><g
+ id="g6502"
+ transform="matrix(0.1876165,0,0,-0.1788737,12.25,731.738)"><path
+ d="M 4531,2103 L 4531,2103 L 4531,1915 L 4625,1821 L 4625,2009 L 4531,2103 z"
+ style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6504" /></g><path
+ d="M 862.3402,355.5665 L 862.3402,355.5665 L 897.4244,355.5665 L 897.4244,389.1947 L 862.3402,389.1947 L 862.3402,355.5665 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6506" /><g
+ id="g6508"
+ transform="matrix(0.1876165,0,0,-0.1788737,12.25,731.738)"><path
+ d="M 4531,2103 L 4531,2103 L 4718,2103 L 4718,1915 L 4531,1915 L 4531,2103 z"
+ style="fill:none;stroke:#000000;stroke-width:6;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1"
+ id="path6510" /></g><path
+ d="M 869.9875,370.412 L 872.4792,370.7001 C 872.5587,370.0946 872.7725,369.6317 873.1205,369.3114 C 873.4686,368.9912 873.8901,368.8311 874.3847,368.8311 C 874.9161,368.8311 875.3633,369.0233 875.7268,369.4075 C 876.0902,369.7918 876.2719,370.3101 876.2719,370.9622 C 876.2719,371.5794 876.0978,372.0685 875.7497,372.4295 C 875.4016,372.7905 874.9772,372.971 874.4763,372.971 C 874.1465,372.971 873.7526,372.9098 873.2946,372.7876 L 873.5785,374.7877 C 874.2748,374.7703 874.8062,374.9143 875.1726,375.22 C 875.539,375.5257 875.7222,375.9319 875.7222,376.4384 C 875.7222,376.8693 875.5878,377.2129 875.3191,377.4691 C 875.0505,377.7253 874.6932,377.8534 874.2473,377.8534 C 873.8076,377.8534 873.432,377.7078 873.1205,377.4167 C 872.809,377.1255 872.6197,376.7004 872.5526,376.1415 L 870.1799,376.5258 C 870.3448,377.3002 870.5937,377.9189 870.9265,378.3818 C 871.2593,378.8447 871.7235,379.2086 872.3188,379.4736 C 872.9144,379.7384 873.5816,379.871 874.3206,379.871 C 875.5849,379.871 876.5987,379.4866 877.3621,378.718 C 877.9911,378.0891 878.3055,377.3788 878.3055,376.5869 C 878.3055,375.4631 877.6613,374.5664 876.3727,373.8969 C 877.1422,373.7396 877.7576,373.3874 878.2186,372.84 C 878.6796,372.2927 878.9103,371.6318 878.9103,370.8573 C 878.9103,369.7336 878.4797,368.7758 877.6185,367.9838 C 876.7574,367.1919 875.6855,366.7961 874.403,366.7961 C 873.1876,366.7961 872.18,367.1293 871.3799,367.7961 C 870.5798,368.4628 870.1157,369.3347 869.9875,370.412 z M 889.2794,369.294 L 889.2794,367.0144 L 880.2559,367.0144 C 880.3535,367.8761 880.6467,368.6927 881.1352,369.4644 C 881.6238,370.2358 882.5887,371.2591 884.0301,372.5343 C 885.1906,373.5649 885.902,374.2636 886.1646,374.6305 C 886.5189,375.137 886.696,375.6378 886.696,376.1328 C 886.696,376.6801 886.5418,377.1008 886.2333,377.3948 C 885.9249,377.6889 885.4989,377.8359 884.9554,377.8359 C 884.4178,377.8359 883.9904,377.6815 883.6728,377.373 C 883.3552,377.0643 883.1721,376.552 883.1232,375.8358 L 880.5582,376.0804 C 880.7109,377.4312 881.1902,378.4007 881.9964,378.9888 C 882.8026,379.5769 883.8103,379.871 885.0195,379.871 C 886.3448,379.871 887.386,379.5303 888.1434,378.849 C 888.9007,378.1678 889.2794,377.3206 889.2794,376.3074 C 889.2794,375.731 889.171,375.1823 888.9541,374.661 C 888.7373,374.1399 888.3937,373.594 887.9236,373.0235 C 887.6121,372.645 887.0502,372.1006 886.2379,371.3901 C 885.4256,370.6798 884.9112,370.2082 884.6943,369.9753 C 884.4775,369.7423 884.3019,369.5153 884.1675,369.294 L 889.2794,369.294 z"
+ style="fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none"
+ id="path6512" /><path
+ d="M 862.3402,389.1947 L 862.3402,389.1947 L 879.9761,406.0089 L 915.0604,406.0089 L 897.4244,389.1947 L 862.3402,...
[truncated message content] |