day2/session2.tex
author Puneeth Chaganti <punchagan@fossee.in>
Thu, 08 Oct 2009 20:22:15 +0530
changeset 72 1c1d6aaa2be3
parent 71 d0679d2f9339
child 76 b24c2560f626
permissions -rw-r--r--
Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     1
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     2
% Tutorial slides on Python.
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     3
%
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     4
% Author: Prabhu Ramachandran <prabhu at aero.iitb.ac.in>
46
63704b5650f1 Changed the copyright and Institute for all the sessions.
Madhusudan.C.S <madhusudancs@gmail.com>
parents: 41
diff changeset
     5
% Copyright (c) 2005-2009, Prabhu Ramachandran
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     6
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     7
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     8
\documentclass[14pt,compress]{beamer}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
     9
%\documentclass[draft]{beamer}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    10
%\documentclass[compress,handout]{beamer}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    11
%\usepackage{pgfpages} 
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    12
%\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm]
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    13
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    14
% Modified from: generic-ornate-15min-45min.de.tex
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    15
\mode<presentation>
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    16
{
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    17
  \usetheme{Warsaw}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    18
  \useoutertheme{split}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    19
  \setbeamercovered{transparent}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    20
}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    21
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    22
\usepackage[english]{babel}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    23
\usepackage[latin1]{inputenc}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    24
%\usepackage{times}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    25
\usepackage[T1]{fontenc}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    26
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    27
% Taken from Fernando's slides.
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    28
\usepackage{ae,aecompl}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    29
\usepackage{mathpazo,courier,euler}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    30
\usepackage[scaled=.95]{helvet}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    31
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    32
\definecolor{darkgreen}{rgb}{0,0.5,0}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    33
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    34
\usepackage{listings}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    35
\lstset{language=Python,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    36
    basicstyle=\ttfamily\bfseries,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    37
    commentstyle=\color{red}\itshape,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    38
  stringstyle=\color{darkgreen},
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    39
  showstringspaces=false,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    40
  keywordstyle=\color{blue}\bfseries}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    41
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    42
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    43
% Macros
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    44
\setbeamercolor{emphbar}{bg=blue!20, fg=black}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    45
\newcommand{\emphbar}[1]
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    46
{\begin{beamercolorbox}[rounded=true]{emphbar} 
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    47
      {#1}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    48
 \end{beamercolorbox}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    49
}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    50
\newcounter{time}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    51
\setcounter{time}{0}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    52
\newcommand{\inctime}[1]{\addtocounter{time}{#1}{\tiny \thetime\ m}}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    53
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
    54
\newcommand{\typ}[1]{\lstinline{#1}}
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    55
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    56
\newcommand{\kwrd}[1]{ \texttt{\textbf{\color{blue}{#1}}}  }
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    57
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    58
%%% This is from Fernando's setup.
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    59
% \usepackage{color}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    60
% \definecolor{orange}{cmyk}{0,0.4,0.8,0.2}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    61
% % Use and configure listings package for nicely formatted code
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    62
% \usepackage{listings}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    63
% \lstset{
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    64
%    language=Python,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    65
%    basicstyle=\small\ttfamily,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    66
%    commentstyle=\ttfamily\color{blue},
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    67
%    stringstyle=\ttfamily\color{orange},
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    68
%    showstringspaces=false,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    69
%    breaklines=true,
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    70
%    postbreak = \space\dots
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    71
% }
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    72
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    73
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    74
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    75
% Title page
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
    76
\title[]{Numerical Computing with Numpy \& Scipy}
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    77
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    78
\author[FOSSEE Team] {Asokan Pichai\\Prabhu Ramachandran}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    79
46
63704b5650f1 Changed the copyright and Institute for all the sessions.
Madhusudan.C.S <madhusudancs@gmail.com>
parents: 41
diff changeset
    80
\institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    81
\date[] {11, October 2009}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    82
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    83
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    84
%\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    85
%\logo{\pgfuseimage{iitmlogo}}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    86
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    87
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    88
%% Delete this, if you do not want the table of contents to pop up at
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    89
%% the beginning of each subsection:
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    90
\AtBeginSubsection[]
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    91
{
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    92
  \begin{frame}<beamer>
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    93
    \frametitle{Outline}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    94
    \tableofcontents[currentsection,currentsubsection]
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    95
  \end{frame}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    96
}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    97
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    98
\AtBeginSection[]
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
    99
{
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   100
  \begin{frame}<beamer>
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   101
    \frametitle{Outline}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   102
    \tableofcontents[currentsection,currentsubsection]
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   103
  \end{frame}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   104
}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   105
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   106
% If you wish to uncover everything in a step-wise fashion, uncomment
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   107
% the following command: 
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   108
%\beamerdefaultoverlayspecification{<+->}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   109
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   110
%\includeonlyframes{current,current1,current2,current3,current4,current5,current6}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   111
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   112
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   113
% DOCUMENT STARTS
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   114
\begin{document}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   115
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   116
\begin{frame}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   117
  \maketitle
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   118
\end{frame}
71
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   119
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   120
\section{Advanced Numpy}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   121
\begin{frame}[fragile]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   122
  \frametitle{Broadcasting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   123
  Try it!
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   124
  \begin{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   125
    >>> a = np.arange(4)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   126
    >>> b = np.arange(5)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   127
    >>> a+b
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   128
    >>> a+3
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   129
    >>> c=np.array([3])
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   130
    >>> a+c
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   131
    >>> b+c
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   132
  \end{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   133
  \begin{itemize}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   134
    \item Enter Broadcasting!
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   135
  \end{itemize}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   136
\end{frame}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   137
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   138
\begin{frame}[fragile]
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   139
  \frametitle{Broadcasting}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   140
  \begin{columns}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   141
    \column{0.65\textwidth}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   142
    \hspace*{-1.5in}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   143
    \begin{lstlisting}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   144
      >>> a = np.arange(4)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   145
      >>> a+3
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   146
      array([3, 4, 5, 6])
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   147
    \end{lstlisting}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   148
    \column{0.35\textwidth}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   149
    \includegraphics[height=0.7in, interpolate=true]{data/broadcast_scalar}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   150
  \end{columns}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   151
  \begin{itemize}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   152
    \item Allows functions to take inputs not of the same shape
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   153
    \item 2 rules -
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   154
      \begin{enumerate}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   155
      \item 1 is (repeatedly) prepended to shapes of smaller arrays
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   156
      \item Size 1 in a dimension changed to Largest size in that dimension
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   157
      \end{enumerate}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   158
  \end{itemize}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   159
\end{frame}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   160
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   161
\begin{frame}[fragile]
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   162
  \frametitle{Broadcasting in 3D}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   163
    \begin{lstlisting}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   164
      >>> x = np.ones((3, 5))
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   165
      >>> y = np.ones(8)
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   166
      >>> (x[..., None] + y).shape
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   167
      (3, 5, 8)
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   168
    \end{lstlisting}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   169
    \begin{figure}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   170
      \begin{center}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   171
      \includegraphics[height=1.5in, interpolate=true]{data/array_3x5x8}        
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   172
      \end{center}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   173
    \end{figure}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   174
\end{frame}
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   175
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   176
\begin{frame}[fragile]
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   177
  \frametitle{Copies \& Views}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   178
  Try it!
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   179
  \begin{lstlisting}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   180
    >>> a = np.array([[1,2,3],[4,5,6]])
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   181
    >>> b = a
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   182
    >>> b is a
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   183
    >>> b[0,0]=0; print a
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   184
    >>> c = a.view()
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   185
    >>> c is a
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   186
    >>> c.base is a
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   187
    >>> c.flags.owndata
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   188
    >>> d = a.copy()
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   189
    >>> d.base is a
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   190
    >>> d.flags.owndata
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   191
  \end{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   192
\end{frame}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   193
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   194
\begin{frame}[fragile]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   195
  \frametitle{Copies \& Views}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   196
  Try it!
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   197
  \begin{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   198
    >>> a = np.arange(1,9)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   199
    >>> a.shape=3,3
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   200
    >>> b = a[0,1:3]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   201
    >>> c = a[0::2,0::2]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   202
    >>> a.flags.owndata
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   203
    >>> b.flags.owndata
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   204
    >>> b.base
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   205
    >>> c.base is a
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   206
  \end{lstlisting}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   207
  \begin{itemize}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   208
  \item Slicing and Striding just reference the same memory
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   209
  \item They produce views of the data, not copies
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   210
  \end{itemize}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   211
\end{frame}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   212
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   213
\begin{frame}[fragile]
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   214
  \frametitle{Copies contd \ldots}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   215
  \begin{lstlisting}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   216
    >>> b = a[np.array([0,1,2])]
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   217
    array([[1, 2, 3],
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   218
           [4, 5, 6],
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   219
           [7, 8, 9]])
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   220
    >>> b.flags.owndata
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   221
    >>> abool=np.greater(a,2)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   222
    >>> c = a[abool]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   223
    >>> c.flags.owndata
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   224
  \end{lstlisting}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   225
  \begin{itemize}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   226
  \item Indexing arrays or Boolean arrays produce copies
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   227
  \end{itemize}
41
64177498937a Added time counter increments to day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 37
diff changeset
   228
\inctime{15}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   229
\end{frame}
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   230
71
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   231
\section{SciPy}
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   232
\subsection{Introduction}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   233
\begin{frame}
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   234
    {Intro to SciPy}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   235
  \begin{itemize}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   236
  \item \url{http://www.scipy.org}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   237
  \item Open source scientific libraries for Python
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   238
  \item Based on NumPy
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   239
    \end{itemize}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   240
\end{frame}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   241
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   242
\begin{frame}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   243
  \frametitle{SciPy}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   244
  \begin{itemize}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   245
  \item Provides:
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   246
    \begin{itemize}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   247
    \item Linear algebra
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   248
    \item Numerical integration
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   249
    \item Fourier transforms
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   250
    \item Signal processing
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   251
    \item Special functions
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   252
    \item Statistics
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   253
    \item Optimization
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   254
    \item Image processing
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   255
    \item ODE solvers
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   256
    \end{itemize}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   257
  \item Uses LAPACK, QUADPACK, ODEPACK, FFTPACK etc. from netlib
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   258
  \end{itemize}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   259
\end{frame}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   260
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   261
\begin{frame}[fragile]
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   262
  \frametitle{SciPy - Functions \& Submodules}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   263
  \begin{itemize}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   264
    \item All \typ{numpy} functions are in \typ{scipy} namespace
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   265
    \item Domain specific functions organized into subpackages
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   266
    \item Subpackages need to be imported separately
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   267
  \end{itemize}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   268
  \begin{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   269
    >>> from scipy import linalg
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   270
  \end{lstlisting}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   271
\end{frame}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   272
71
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   273
\subsection{Linear Algebra}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   274
\begin{frame}[fragile]
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   275
  \frametitle{Linear Algebra}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   276
  Try it!
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   277
  \begin{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   278
    >>> import scipy as sp
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   279
    >>> from scipy import linalg
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   280
    >>> A=sp.mat(np.arange(1,10))
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   281
    >>> A.shape=3,3
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   282
    >>> linalg.inv(A)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   283
    >>> linalg.det(A)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   284
    >>> linalg.norm(A)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   285
    >>> linalg.expm(A) #logm
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   286
    >>> linalg.sinm(A) #cosm, tanm, ...
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   287
  \end{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   288
\end{frame}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   289
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   290
\begin{frame}[fragile]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   291
  \frametitle{Linear Algebra ...}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   292
  Try it!
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   293
  \begin{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   294
    >>> A = sp.mat(np.arange(1,10))
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   295
    >>> A.shape=3,3
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   296
    >>> linalg.lu(A)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   297
    >>> linalg.eig(A)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   298
    >>> linalg.eigvals(A)
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   299
  \end{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   300
\end{frame}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   301
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   302
\begin{frame}[fragile]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   303
  \frametitle{Solving Linear Equations}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   304
  \begin{align*}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   305
    3x + 2y - z  & = 1 \\
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   306
    2x - 2y + 4z  & = -2 \\
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   307
    -x + \frac{1}{2}y -z & = 0
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   308
  \end{align*}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   309
  To Solve this, 
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   310
  \begin{lstlisting}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   311
    >>> A = sp.mat([[3,2,-1],[2,-2,4]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   312
                  ,[-1,1/2,-1]])
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   313
    >>> B = sp.mat([[1],[-2],[0]])
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   314
    >>> linalg.solve(A,B)
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   315
  \end{lstlisting}
41
64177498937a Added time counter increments to day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 37
diff changeset
   316
\inctime{15}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   317
\end{frame}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   318
71
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   319
\subsection{Integration}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   320
\begin{frame}[fragile]
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   321
  \frametitle{Integrate}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   322
  \begin{itemize}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   323
    \item Integrating Functions given function object
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   324
    \item Integrating Functions given fixed samples
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   325
    \item Numerical integrators of ODE systems
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   326
  \end{itemize}
72
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   327
  Calculate the area under $(sin(x) + x^2)$ in the range $(0,1)$
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   328
  \begin{lstlisting}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   329
    >>> def f(x):
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   330
            return np.sin(x)+x**2
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   331
    >>> integrate.quad(f, 0, 1)
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   332
  \end{lstlisting}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   333
\end{frame}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   334
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   335
\begin{frame}[fragile]
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   336
  \frametitle{Integrate \ldots}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   337
  Numerically solve ODEs\\
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   338
  \begin{align*}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   339
  \frac{dx}{dt}&=-e^{-t}x^2\\ 
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   340
           x(0)&=2    
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   341
  \end{align*}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   342
  \begin{lstlisting}
72
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   343
>>> def dx_dt(x,t):
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   344
        return -np.exp(-t)*x**2
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   345
72
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   346
>>> x=integrate.odeint(dx_dt, 2, t)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   347
>>> plt.plot(x,t)
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   348
  \end{lstlisting}
41
64177498937a Added time counter increments to day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 37
diff changeset
   349
\inctime{10}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   350
\end{frame}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   351
71
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   352
\subsection{Interpolation}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   353
\begin{frame}[fragile]
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   354
  \frametitle{Interpolation}
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   355
  Try it!
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   356
  \begin{lstlisting}
66
523f788d2147 Minor edits to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 58
diff changeset
   357
>>> from scipy import interpolate
523f788d2147 Minor edits to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 58
diff changeset
   358
>>> interpolate.interp1d?
523f788d2147 Minor edits to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 58
diff changeset
   359
>>> x = np.arange(0,2*np.pi,np.pi/4)
523f788d2147 Minor edits to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 58
diff changeset
   360
>>> y = np.sin(x)
67
4f2b4c14fc03 Minor edits to SciPy problem in Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 66
diff changeset
   361
>>> fl = interpolate.interp1d(
4f2b4c14fc03 Minor edits to SciPy problem in Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 66
diff changeset
   362
            x,y,kind='linear')
4f2b4c14fc03 Minor edits to SciPy problem in Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 66
diff changeset
   363
>>> fc = interpolate.interp1d(
4f2b4c14fc03 Minor edits to SciPy problem in Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 66
diff changeset
   364
             x,y,kind='cubic')
66
523f788d2147 Minor edits to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 58
diff changeset
   365
>>> fl(np.pi/3)
523f788d2147 Minor edits to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 58
diff changeset
   366
>>> fc(np.pi/3)
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   367
  \end{lstlisting}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   368
\end{frame}
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   369
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   370
\begin{frame}[fragile]
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   371
  \frametitle{Interpolation - Splines}
72
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   372
  Plot the Cubic Spline of $sin(x)$
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   373
  \begin{lstlisting}
72
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   374
>>> x = np.arange(0,2*np.pi,np.pi/4)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   375
>>> y = np.sin(x)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   376
>>> tck = interpolate.splrep(x,y)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   377
>>> X = np.arange(0,2*np.pi,np.pi/50)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   378
>>> Y = interpolate.splev(X,tck,der=0)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   379
>>> plt.plot(x,y,'o',x,y,X,Y)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   380
>>> plt.show()
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   381
  \end{lstlisting}
41
64177498937a Added time counter increments to day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 37
diff changeset
   382
\inctime{10}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   383
\end{frame}
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   384
71
d0679d2f9339 Added section and subsections to Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 67
diff changeset
   385
\subsection{Signal Processing}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   386
\begin{frame}[fragile]
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   387
  \frametitle{Signal \& Image Processing}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   388
    \begin{itemize}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   389
     \item Convolution
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   390
     \item B-splines
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   391
     \item Filtering
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   392
     \item Filter design
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   393
     \item IIR filter design
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   394
     \item Linear Systems
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   395
     \item LTI Reresentations
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   396
     \item Waveforms
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   397
     \item Window functions
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   398
     \item Wavelets
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   399
    \end{itemize}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   400
\end{frame}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   401
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   402
\begin{frame}[fragile]
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   403
  \frametitle{Signal \& Image Processing}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   404
  Applying a simple median filter
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   405
  \begin{lstlisting}
72
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   406
>>> from scipy import signal, ndimage
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   407
>>> from scipy import lena
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   408
>>> A=lena().astype('float32')
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   409
>>> B=signal.medfilt2d(A)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   410
>>> imshow(B)
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   411
  \end{lstlisting}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   412
  Zooming an array - uses spline interpolation
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   413
  \begin{lstlisting}
72
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   414
>>> b=ndimage.zoom(A,0.5)
1c1d6aaa2be3 Added first cut of Day2 handout; Minor edits to sessions 2 and 3.
Puneeth Chaganti <punchagan@fossee.in>
parents: 71
diff changeset
   415
>>> imshow(b)
58
ab9192cfe870 Improved Try-it sections in day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 46
diff changeset
   416
  \end{lstlisting}
41
64177498937a Added time counter increments to day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 37
diff changeset
   417
    \inctime{5}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   418
\end{frame}
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   419
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   420
\begin{frame}[fragile]
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   421
  \frametitle{Problems}
37
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   422
  The Van der Pol oscillator is a type of nonconservative oscillator with nonlinear damping. It evolves in time according to the second order differential equation:
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   423
  \begin{equation*}
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   424
  \frac{d^2x}{dt^2}+\mu(x^2-1)\frac{dx}{dt}+x= 0
d5b7be72693b Updated Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 36
diff changeset
   425
  \end{equation*}
67
4f2b4c14fc03 Minor edits to SciPy problem in Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 66
diff changeset
   426
  Make a plot of $\frac{dx}{dt}$ vs. $x$.
4f2b4c14fc03 Minor edits to SciPy problem in Day2 Session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 66
diff changeset
   427
\inctime{30}
36
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   428
\end{frame}
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   429
8047755ae660 Modified the skeleton for session2.
Puneeth Chaganti <punchagan@fossee.in>
parents: 35
diff changeset
   430
35
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   431
\end{document}
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   432
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   433
- Numpy arrays (30 mins)
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   434
    - Matrices
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   435
    - random number generation.
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   436
    - Image manipulation: jigsaw puzzle.
a49b340696ba Adding a skeleton for day2 session2.
Puneeth Chaganti <punchagan@fossee.in>
parents:
diff changeset
   437
    - Monte-carlo integration.