summaryrefslogtreecommitdiff
path: root/getting_started_with_arrays/slides.org
blob: a5b315f62f40dae2433af345151ca2bf3c1eb975 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]
#+BEAMER_FRAME_LEVEL: 1

#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC

#+LaTeX_CLASS: beamer
#+LaTeX_CLASS_OPTIONS: [presentation]

#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}

#+LaTeX_HEADER: \usepackage{listings}

#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
#+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
#+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}

#+TITLE: Getting started with arrays
#+AUTHOR: FOSSEE
#+EMAIL: info@fossee.in
#+DATE:    

#+DESCRIPTION: 
#+KEYWORDS: 
#+LANGUAGE:  en
#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
#+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc

* Outline
  - Arrays
    - why arrays over lists
  - Creating arrays
  - Array operations

* Overview of Arrays
  - Arrays are homogeneous data structures.
    - elements have to the same data type
  - Arrays are faster compared to lists
    - at least /80-100 times/ faster than lists

* Creating Arrays
  - Creating a 1-dimensional array
  : In []: a1 = array([1, 2, 3, 4])
  ~[1, 2, 3, 4]~ is a list.
* Creating two-dimensional array
  - Creating a 2-dimensional array
  : In []: a2 = array([[1,2,3,4],[5,6,7,8]])
  here we convert a list of lists to an array making a 2-d array.
  - Using ~arange()~ function
  : In []: ar = arange(1,9)
* ~reshape()~ method
  - To reshape an array
  : In []: ar.reshape(2, 4)
  : In []: ar.reshape(4, 2)
  : In []: ar = ar.reshape(2, 4)

* Creating ~array~ from ~list~.
  - ~array()~ method accepts list as argument
  - Creating a list
   : In []: l1 = [1, 2, 3, 4]
  - Creating an array
    : In []: a3 = array(l1)

* Exercise 1
  Create a 3-dimensional array of the order (2, 2, 4).

* ~.shape~ of array
  - ~.shape~
    To find the shape of the array
    : In []: a2.shape
  - ~.shape~
    returns a tuple of shape
* Exercise 2
  Find out the shape of the other arrays(a1, a3, ar) that we have created.
* Homogeneous data
  - All elements in array should be of same type
    : In []: a4 = array([1,2,3,'a string'])
* Implicit type casting 
   : In []: a4
    All elements are type casted to string type
* ~identity()~, ~zeros()~ methods
  - ~identity(n)~
    Creates an identity matrix, a square matrix of order (n, n) with diagonal elements 1 and others 0.
  - ~zeros((m, n))~
    Creates an ~m X n~ matrix with all elements 0.

* Learning exercise
  - Find out about
    - ~zeros_like()~
    - ~ones()~
    - ~ones_like()~

* Array operations
  - ~a1 * 2~
    returns a new array with all elements of ~a1~ multiplied by ~2~.
    - Similarly ~+~, ~-~ \& ~/~.
  - ~a1 + 2~
    returns a new array with all elements of ~a1~ summed with ~2~.
  - ~a1 += 2~
    adds ~2~ to all elements of array ~a1~.
    - Similarly ~-=~, ~*=~ \& ~/=~.
  - ~a1 + a2~
    does elements-wise addition.
    - Similarly ~-~, ~*~ \& ~/~.
  - ~a1 * a2~
    does element-wise multiplication

  *Note* - array(A) * array(B) does element wise multiplication and not matrix multiplication

* Summary
  In this tutorial we covered,
  - Basics of arrays
  - Creating arrays
  - Arrays from lists
  - Basic array operations

* Thank you!
#+begin_latex
  \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_latex