matrices/slides.org
author anand
Mon, 15 Nov 2010 15:23:28 +0530
changeset 510 06561ee0f6a4
parent 394 1a79f9ee7f5c
permissions -rw-r--r--
checklist OK for `writing python scripts`

#+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: Matrices
#+AUTHOR: FOSSEE
#+EMAIL:     
#+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
  - Creating Matrices
    - using direct data
    - converting a list
  - Matrix operations
  - Inverse of matrix
  - Determinant of matrix
  - Eigen values and Eigen vectors of matrices
  - Norm of matrix
  - Singular Value Decomposition of matrices

* Creating a matrix
  - Creating a matrix using direct data
  : In []: m1 = array([1, 2, 3, 4])
  - Creating a matrix using lists
  : In []: l1 = [[1,2,3,4],[5,6,7,8]]
  : In []: m2 = array(l1)
* Exercise 1
  Create a (2, 4) matrix ~m3~
  : m3 = [[5,  6,  7,  8],
  :       [9, 10, 11, 12]]
* Solution 1
  - m3 can be created as,
  : In []: m3 = array([[5,6,7,8],[9,10,11,12]])

* Matrix operations
  - Element-wise addition (both matrix should be of order ~mXn~)
    : In []: m3 + m2
  - Element-wise subtraction (both matrix should be of order ~mXn~)
    : In []: m3 - m2
* Matrix Multiplication
  - Element-wise multiplication using ~m3 * m2~
    : In []: m3 * m2
  - Matrix Multiplication using ~dot(m3, m2)~
    : In []: dot(m3, m2)
    : Out []: ValueError: objects are not aligned

* Matrix Multiplication (cont'd)
  - Create two compatible matrices of order ~nXm~ and ~mXr~
    : In []: m1.shape
    - matrix m1 is of order ~1 X 4~
  - Creating another matrix of order ~4 X 2~
    : In []: m4 = array([[1,2],[3,4],[5,6],[7,8]])
  - Matrix multiplication
    : In []: dot(m1, m4)
* Recall from ~array~
  - The functions 
    - ~identity(n)~ - 
      creates an identity matrix of order ~nXn~
    - ~zeros((m,n))~ - 
      creates a matrix of order ~mXn~ with 0's
    - ~zeros_like(A)~ - 
      creates a matrix with 0's similar to the shape of matrix ~A~
    - ~ones((m,n))~
      creates a matrix of order ~mXn~ with 1's
    - ~ones_like(A)~
      creates a matrix with 1's similar to the shape of matrix ~A~
  Can also be used with matrices

* More matrix operations
  Transpose of a matrix
  : In []: m4.T
* Exercise 2 : Frobenius norm \& inverse
  Find out the Frobenius norm of inverse of a ~4 X 4~ matrix.
  : 
  The matrix is
  : m5 = arange(1,17).reshape(4,4)
  - Inverse of A, 
    - 
     #+begin_latex
       $A^{-1} = inv(A)$
     #+end_latex
  - Frobenius norm is defined as,
    - 
      #+begin_latex
        $||A||_F = [\sum_{i,j} abs(a_{i,j})^2]^{1/2}$
      #+end_latex

* Exercise 3 : Infinity norm
  Find the infinity norm of the matrix ~im5~
  : 
  - Infinity norm is defined as,
    #+begin_latex
       $max([\sum_{i} abs(a_{i})^2])$
    #+end_latex
* ~norm()~ method
  - Frobenius norm
    : In []: norm(im5)
  - Infinity norm
    : In []: norm(im5, ord=inf)
* Determinant
  Find out the determinant of the matrix m5
  : 
  - determinant can be found out using
    - ~det(A)~ - returns the determinant of matrix ~A~
* eigen values \& eigen vectors
  Find out the eigen values and eigen vectors of the matrix ~m5~.
  : 
  - eigen values and vectors can be found out using
    : In []: eig(m5)
    returns a tuple of /eigen values/ and /eigen vectors/
  - /eigen values/ in tuple
    - ~In []: eig(m5)[0]~
  - /eigen vectors/ in tuple
    - ~In []: eig(m5)[1]~
  - Computing /eigen values/ using ~eigvals()~
    : In []: eigvals(m5)
* Singular Value Decomposition (~svd~)
  #+begin_latex
    $M = U \Sigma V^*$
  #+end_latex
    - U, an ~mXm~ unitary matrix over K.
    - 
      #+begin_latex
        $\Sigma$
      #+end_latex
	, an ~mXn~ diagonal matrix with non-negative real numbers on diagonal.
    - 
      #+begin_latex
        $V^*$
      #+end_latex
	, an ~nXn~ unitary matrix over K, denotes the conjugate transpose of V.
  - SVD of matrix ~m5~ can be found out as,
    : In []: svd(m5)
* Summary
  - Matrices
    - creating matrices
  - Matrix operations
  - Inverse (~inv()~)
  - Determinant (~det()~)
  - Norm (~norm()~)
  - Eigen values \& vectors (~eig(), eigvals()~)
  - Singular Value Decomposition (~svd()~)

* 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