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