# HG changeset patch # User Anoop Jacob Thomas # Date 1286874053 -19800 # Node ID 1a73dddb1d055141c3fcf6229407bc30f675b7cc # Parent f105cfcc2498b6040e1966b7927ceb94b8494839 added slides for matrices. diff -r f105cfcc2498 -r 1a73dddb1d05 matrices/script.rst --- 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, :: diff -r f105cfcc2498 -r 1a73dddb1d05 matrices/slides.org --- /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 + + diff -r f105cfcc2498 -r 1a73dddb1d05 matrices/slides.tex --- /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}