#+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: 
#+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

* 
#+begin_latex
\begin{center}
\vspace{12pt}
\textcolor{blue}{\huge Getting started with Arrays}
\end{center}
\vspace{18pt}
\begin{center}
\vspace{10pt}
\includegraphics[scale=0.95]{../images/fossee-logo.png}\\
\vspace{5pt}
\scriptsize Developed by FOSSEE Team, IIT-Bombay. \\ 
\scriptsize Funded by National Mission on Education through ICT\\
\scriptsize  MHRD,Govt. of India\\
\includegraphics[scale=0.30]{../images/iitb-logo.png}\\
\end{center}
#+end_latex
* Objectives
  At the end of this tutorial, you will be able to, 

  - Create arrays using data.
  - Create arrays from lists.
  - Perform basic array operations.
  - Create identity matrix.
  - Use functions zeros(), zeros\_like(), ones(), ones\_like()

 
* Pre-requisite
  Spoken tutorial on -
  - Getting started with Lists.
* 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

* ~.shape~ of array
  - ~.shape~
    To find the shape of the array
    : In []: a2.shape
  - ~.shape~
    returns a tuple of shape
* Exercise 1
  Find out the shape of the other arrays(a1, a3, ar) that we have created.
* ~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()~

* Summary
  In this tutorial, we have learnt to,
  - Create an array using the ``array()`` function.
  - Convert a list to an array.
  - Perform some basic operations on arrays like addition,multiplication.
  - Use functions like 
    - .shape
    - arrange()
    - .reshape
    - zeros() & zeros\_like()
    - ones() & ones\_like()

* Evaluation
  1. ``x = array([1, 2, 3], [5, 6, 7])`` is a valid statement

   - True
   - False

  2. What does the ``ones\_like()`` function do?
   
     (A) Returns an array of ones with the same shape and type as a
         given array.
     (B) Return a new array of given shape and type, filled with ones.

     Read the statements and answer,

     - Only statement A is correct.
     - Only statement B is correct.
     - Both statement A and B are correct.
     - Both statement A and B are incorrect.
* Solutions
  1. False
     x = array([[1, 2, 3], [5, 6, 7]])

  2. Statement A- Returns an array of ones with the same shape and type as a
                  given array. 
* 
#+begin_latex
  \begin{block}{}
  \begin{center}
  \textcolor{blue}{\Large THANK YOU!} 
  \end{center}
  \end{block}
\begin{block}{}
  \begin{center}
    For more Information, visit our website\\
    \url{http://fossee.in/}
  \end{center}  
  \end{block}
#+end_latex