diff -r 88a01948450d -r d33698326409 getting_started_with_arrays/slides.tex --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/getting_started_with_arrays/slides.tex Wed Dec 01 16:51:35 2010 +0530 @@ -0,0 +1,284 @@ +% Created 2010-11-07 Sun 15:18 +\documentclass[presentation]{beamer} +\usepackage[latin1]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{fixltx2e} +\usepackage{graphicx} +\usepackage{longtable} +\usepackage{float} +\usepackage{wrapfig} +\usepackage{soul} +\usepackage{t1enc} +\usepackage{textcomp} +\usepackage{marvosym} +\usepackage{wasysym} +\usepackage{latexsym} +\usepackage{amssymb} +\usepackage{hyperref} +\tolerance=1000 +\usepackage[english]{babel} \usepackage{ae,aecompl} +\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet} +\usepackage{listings} +\lstset{language=Python, basicstyle=\ttfamily\bfseries, +commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen}, +showstringspaces=false, keywordstyle=\color{blue}\bfseries} +\providecommand{\alert}[1]{\textbf{#1}} + +\title{Getting started with arrays} +\author{FOSSEE} +\date{} + +\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent} +\begin{document} + +\maketitle + + + + + + + + + +\begin{frame} +\frametitle{Outline} +\label{sec-1} + +\begin{itemize} +\item Arrays + +\begin{itemize} +\item why arrays over lists +\end{itemize} + +\item Creating arrays +\item Array operations +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Overview of Arrays} +\label{sec-2} + +\begin{itemize} +\item Arrays are homogeneous data structures. + +\begin{itemize} +\item elements have to the same data type +\end{itemize} + +\item Arrays are faster compared to lists + +\begin{itemize} +\item at least \emph{80-100 times} faster than lists +\end{itemize} + +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Creating Arrays} +\label{sec-3} + +\begin{itemize} +\item Creating a 1-dimensional array +\end{itemize} + +\begin{verbatim} + In []: a1 = array([1, 2, 3, 4]) +\end{verbatim} + + \texttt{[1, 2, 3, 4]} is a list. +\end{frame} +\begin{frame}[fragile] +\frametitle{Creating two-dimensional array} +\label{sec-4} + +\begin{itemize} +\item Creating a 2-dimensional array +\end{itemize} + +\begin{verbatim} + In []: a2 = array([[1,2,3,4],[5,6,7,8]]) +\end{verbatim} + + here we convert a list of lists to an array making a 2-d array. +\begin{itemize} +\item Easier method of creating array with consecutive elements. +\end{itemize} + +\begin{verbatim} + In []: ar = arange(1,9) +\end{verbatim} +\end{frame} +\begin{frame}[fragile] +\frametitle{\texttt{reshape()} method} +\label{sec-5} + +\begin{itemize} +\item To reshape an array +\end{itemize} + +\begin{verbatim} + In []: ar.reshape(2, 4) + In []: ar.reshape(4, 2) + In []: ar = ar.reshape(2, 4) +\end{verbatim} +\end{frame} +\begin{frame}[fragile] +\frametitle{Creating \texttt{array} from \texttt{list}.} +\label{sec-6} + +\begin{itemize} +\item \texttt{array()} method accepts list as argument +\item Creating a list +\begin{verbatim} + In []: l1 = [1, 2, 3, 4] +\end{verbatim} + +\item Creating an array +\begin{verbatim} + In []: a3 = array(l1) +\end{verbatim} + +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Exercise 1} +\label{sec-7} + + Create a 3-dimensional array of the order (2, 2, 4). +\end{frame} +\begin{frame}[fragile] +\frametitle{\texttt{.shape} of array} +\label{sec-8} + +\begin{itemize} +\item \texttt{.shape} + To find the shape of the array +\begin{verbatim} + In []: a1.shape +\end{verbatim} + +\item \texttt{.shape} + returns a tuple of shape +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Exercise 2} +\label{sec-9} + + Find out the shape of the other arrays(a2, a3, ar) that we have created. +\end{frame} +\begin{frame}[fragile] +\frametitle{Homogeneous data} +\label{sec-10} + +\begin{itemize} +\item All elements in array should be of same type +\begin{verbatim} + In []: a4 = array([1,2,3,'a string']) +\end{verbatim} + +\end{itemize} +\end{frame} +\begin{frame}[fragile] +\frametitle{Implicit type casting} +\label{sec-11} + +\begin{verbatim} + In []: a4 +\end{verbatim} + + All elements are type casted to string type +\end{frame} +\begin{frame} +\frametitle{\texttt{identity()}, \texttt{zeros()} methods} +\label{sec-12} + +\begin{itemize} +\item \texttt{identity(n)} + Creates an identity matrix, a square matrix of order (n, n) with diagonal elements 1 and others 0. +\item \texttt{zeros((m, n))} + Creates an \texttt{m X n} matrix with all elements 0. +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Learning exercise} +\label{sec-13} + +\begin{itemize} +\item Find out about + +\begin{itemize} +\item \texttt{zeros\_like()} +\item \texttt{ones()} +\item \texttt{ones\_like()} +\end{itemize} + +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Array operations} +\label{sec-14} + +\begin{itemize} +\item \texttt{a1 * 2} + returns a new array with all elements of \texttt{a1} multiplied by \texttt{2}. + +\begin{itemize} +\item Similarly \texttt{+}, \texttt{-} \& \texttt{/}. +\end{itemize} + +\item \texttt{a1 + 2} + returns a new array with all elements of \texttt{a1} summed with \texttt{2}. +\item \texttt{a1 += 2} + adds \texttt{2} to all elements of array \texttt{a1}. + +\begin{itemize} +\item Similarly \texttt{-=}, \texttt{*=} \& \texttt{/=}. +\end{itemize} + +\item \texttt{a1 + a2} + does elements-wise addition. + +\begin{itemize} +\item Similarly \texttt{-}, \texttt{*} \& \texttt{/}. +\end{itemize} + +\item \texttt{a1 * a2} + does element-wise multiplication +\end{itemize} + + + \textbf{Note} - array(A) * array(B) does element wise multiplication and not matrix multiplication +\end{frame} +\begin{frame} +\frametitle{Summary} +\label{sec-15} + + In this tutorial we covered, +\begin{itemize} +\item Basics of arrays +\item Creating arrays +\item Arrays from lists +\item Basic array operations +\end{itemize} +\end{frame} +\begin{frame} +\frametitle{Thank you!} +\label{sec-16} + + \begin{block}{} + \begin{center} + This spoken tutorial has been produced by the + \textcolor{blue}{FOSSEE} team, which is funded by the + \end{center} + \begin{center} + \textcolor{blue}{National Mission on Education through \\ + Information \& Communication Technology \\ + MHRD, Govt. of India}. + \end{center} + \end{block} +\end{frame} + +\end{document}