added slides for matrices.
--- 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}