added slides for matrices.
authorAnoop Jacob Thomas<anoop@fossee.in>
Tue, 12 Oct 2010 14:30:53 +0530
changeset 307 1a73dddb1d05
parent 306 f105cfcc2498
child 308 0a0a91fb3a0d
added slides for matrices.
matrices/script.rst
matrices/slides.org
matrices/slides.tex
--- a/matrices/script.rst	Tue Oct 12 13:02:39 2010 +0530
+++ b/matrices/script.rst	Tue Oct 12 14:30:53 2010 +0530
@@ -22,8 +22,10 @@
 
 {{{ switch to next slide, outline slide }}}
 
-In this tutorial we will learn about matrices, creating matrices and
-matrix operations.
+In this tutorial we will learn about matrices, creating matrices using
+direct data, by converting a list, matrix operations. Finding inverse
+of a matrix, determinant of a matrix, eigen values and eigen vectors
+of a matrix, norm and singular value decomposition of matrices.
 
 {{{ creating a matrix }}}
 
@@ -88,6 +90,8 @@
 
     multiply(m3,m2)
 
+{{{ switch to next slide, Matrix multiplication (cont'd) }}}
+
 Now let us see an example for matrix multiplication. For doing matrix
 multiplication we need to have two matrices of the order n by m and m
 by r and the resulting matrix will be of the order n by r. Thus let us
@@ -108,11 +112,15 @@
 
 {{{ switch to next slide, recall from arrays }}}
 
-As we already saw in arrays, the functions ``identity()``,
-``zeros()``, ``zeros_like()``, ``ones()``, ``ones_like()`` may also be
-used with matrices.
+As we already saw in arrays, the functions ``identity()`` which
+creates an identity matrix of the order n by n, ``zeros()`` which
+creates a matrix of the order m by n with all zeros, ``zeros_like()``
+which creates a matrix with zeros with the shape of the matrix passed,
+``ones()`` which creates a matrix of order m by n with all ones,
+``ones_like()`` which creates a matrix with ones with the shape of the
+matrix passed. These functions can also be used with matrices.
 
-{{{ switch to next slide, matrix operations }}}
+{{{ switch to next slide, more matrix operations }}}
 
 To find out the transpose of a matrix we can do,
 ::
@@ -178,8 +186,6 @@
 
     norm(im5)
 
-Euclidean norm is also called Frobenius norm.
-
 And to find out the Infinity norm of the matrix im5, we do,
 ::
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/matrices/slides.org	Tue Oct 12 14:30:53 2010 +0530
@@ -0,0 +1,176 @@
+#+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 = matrix([1, 2, 3, 4])
+  - Creating a matrix using lists
+  : In []: l1 = [[1,2,3,4],[5,6,7,8]]
+  : In []: m2 = matrix(l1)
+  - A matrix is basically an array
+  : 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
+  - Matrix Multiplication
+    : In []: m3 * m2
+    : Out []: ValueError: objects are not aligned
+  - Element-wise multiplication using ~multiply()~
+    : multiply(m3, m2)
+
+* 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 = matrix([[1,2],[3,4],[5,6],[7,8]])
+  - Matrix multiplication
+    : In []: 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 1 : Frobenius norm \& inverse
+  Find out the Frobenius norm of inverse of a ~4 X 4~ matrix.
+  : 
+  The matrix is
+  : m5 = matrix(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 2: 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
+
+  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/matrices/slides.tex	Tue Oct 12 14:30:53 2010 +0530
@@ -0,0 +1,357 @@
+% Created 2010-10-12 Tue 14:28
+\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{Matrices}
+\author{FOSSEE}
+\date{}
+
+\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
+\begin{document}
+
+\maketitle
+
+
+
+
+
+
+
+
+
+\begin{frame}
+\frametitle{Outline}
+\label{sec-1}
+
+\begin{itemize}
+\item Creating Matrices
+
+\begin{itemize}
+\item using direct data
+\item converting a list
+\end{itemize}
+
+\item Matrix operations
+\item Inverse of matrix
+\item Determinant of matrix
+\item Eigen values and Eigen vectors of matrices
+\item Norm of matrix
+\item Singular Value Decomposition of matrices
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Creating a matrix}
+\label{sec-2}
+
+\begin{itemize}
+\item Creating a matrix using direct data
+\end{itemize}
+
+\begin{verbatim}
+   In []: m1 = matrix([1, 2, 3, 4])
+\end{verbatim}
+
+\begin{itemize}
+\item Creating a matrix using lists
+\end{itemize}
+
+\begin{verbatim}
+   In []: l1 = [[1,2,3,4],[5,6,7,8]]
+   In []: m2 = matrix(l1)
+\end{verbatim}
+
+\begin{itemize}
+\item A matrix is basically an array
+\end{itemize}
+
+\begin{verbatim}
+   In []: m3 = array([[5,6,7,8],[9,10,11,12]])
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Matrix operations}
+\label{sec-3}
+
+\begin{itemize}
+\item Element-wise addition (both matrix should be of order \texttt{mXn})
+\begin{verbatim}
+     In []: m3 + m2
+\end{verbatim}
+
+\item Element-wise subtraction (both matrix should be of order \texttt{mXn})
+\begin{verbatim}
+     In []: m3 - m2
+\end{verbatim}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Matrix Multiplication}
+\label{sec-4}
+
+\begin{itemize}
+\item Matrix Multiplication
+\begin{verbatim}
+     In []: m3 * m2
+     Out []: ValueError: objects are not aligned
+\end{verbatim}
+
+\item Element-wise multiplication using \texttt{multiply()}
+\begin{verbatim}
+     multiply(m3, m2)
+\end{verbatim}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Matrix Multiplication (cont'd)}
+\label{sec-5}
+
+\begin{itemize}
+\item Create two compatible matrices of order \texttt{nXm} and \texttt{mXr}
+\begin{verbatim}
+     In []: m1.shape
+\end{verbatim}
+
+
+\begin{itemize}
+\item matrix m1 is of order \texttt{1 X 4}
+\end{itemize}
+
+\item Creating another matrix of order \texttt{4 X 2}
+\begin{verbatim}
+     In []: m4 = matrix([[1,2],[3,4],[5,6],[7,8]])
+\end{verbatim}
+
+\item Matrix multiplication
+\begin{verbatim}
+     In []: m1 * m4
+\end{verbatim}
+
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Recall from \texttt{array}}
+\label{sec-6}
+
+\begin{itemize}
+\item The functions
+
+\begin{itemize}
+\item \texttt{identity(n)} - 
+      creates an identity matrix of order \texttt{nXn}
+\item \texttt{zeros((m,n))} - 
+      creates a matrix of order \texttt{mXn} with 0's
+\item \texttt{zeros\_like(A)} - 
+      creates a matrix with 0's similar to the shape of matrix \texttt{A}
+\item \texttt{ones((m,n))}
+      creates a matrix of order \texttt{mXn} with 1's
+\item \texttt{ones\_like(A)}
+      creates a matrix with 1's similar to the shape of matrix \texttt{A}
+\end{itemize}
+
+\end{itemize}
+
+  Can also be used with matrices
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{More matrix operations}
+\label{sec-7}
+
+  Transpose of a matrix
+\begin{verbatim}
+   In []: m4.T
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 1 : Frobenius norm \& inverse}
+\label{sec-8}
+
+  Find out the Frobenius norm of inverse of a \texttt{4 X 4} matrix.
+\begin{verbatim}
+   
+\end{verbatim}
+
+  The matrix is
+\begin{verbatim}
+   m5 = matrix(arange(1,17).reshape(4,4))
+\end{verbatim}
+
+\begin{itemize}
+\item Inverse of A,
+
+\begin{itemize}
+\item $A^{-1} = inv(A)$
+\end{itemize}
+
+\item Frobenius norm is defined as,
+
+\begin{itemize}
+\item $||A||_F = [\sum_{i,j} abs(a_{i,j})^2]^{1/2}$
+\end{itemize}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 2: Infinity norm}
+\label{sec-9}
+
+  Find the infinity norm of the matrix \texttt{im5}
+\begin{verbatim}
+   
+\end{verbatim}
+
+\begin{itemize}
+\item Infinity norm is defined as,
+       $max([\sum_{i} abs(a_{i})^2])$
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{\texttt{norm()} method}
+\label{sec-10}
+
+\begin{itemize}
+\item Frobenius norm
+\begin{verbatim}
+     In []: norm(im5)
+\end{verbatim}
+
+\item Infinity norm
+\begin{verbatim}
+     In []: norm(im5, ord=inf)
+\end{verbatim}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Determinant}
+\label{sec-11}
+
+  Find out the determinant of the matrix m5
+\begin{verbatim}
+   
+\end{verbatim}
+
+\begin{itemize}
+\item determinant can be found out using
+
+\begin{itemize}
+\item \texttt{det(A)} - returns the determinant of matrix \texttt{A}
+\end{itemize}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{eigen values \& eigen vectors}
+\label{sec-12}
+
+  Find out the eigen values and eigen vectors of the matrix \texttt{m5}.
+\begin{verbatim}
+   
+\end{verbatim}
+
+\begin{itemize}
+\item eigen values and vectors can be found out using
+\begin{verbatim}
+     In []: eig(m5)
+\end{verbatim}
+
+    returns a tuple of \emph{eigen values} and \emph{eigen vectors}
+\item \emph{eigen values} in tuple
+
+\begin{itemize}
+\item \texttt{In []: eig(m5)[0]}
+\end{itemize}
+
+\item \emph{eigen vectors} in tuple
+
+\begin{itemize}
+\item \texttt{In []: eig(m5)[1]}
+\end{itemize}
+
+\item Computing \emph{eigen values} using \texttt{eigvals()}
+\begin{verbatim}
+     In []: eigvals(m5)
+\end{verbatim}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Singular Value Decomposition (\texttt{svd})}
+\label{sec-13}
+
+    $M = U \Sigma V^*$
+\begin{itemize}
+\item U, an \texttt{mXm} unitary matrix over K.
+\item $\Sigma$
+        , an \texttt{mXn} diagonal matrix with non-negative real numbers on diagonal.
+\item $V^*$
+        , an \texttt{nXn} unitary matrix over K, denotes the conjugate transpose of V.
+\item SVD of matrix \texttt{m5} can be found out as,
+\end{itemize}
+
+\begin{verbatim}
+     In []: svd(m5)
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{Summary}
+\label{sec-14}
+
+\begin{itemize}
+\item Matrices
+
+\begin{itemize}
+\item creating matrices
+\end{itemize}
+
+\item Matrix operations
+\item Inverse (\texttt{inv()})
+\item Determinant (\texttt{det()})
+\item Norm (\texttt{norm()})
+\item Eigen values \& vectors (\texttt{eig(), eigvals()})
+\item Singular Value Decomposition (\texttt{svd()})
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Thank you!}
+\label{sec-15}
+
+  \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}