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