Added the script for session 2 tutorial.
* Matrices
*** Outline
***** Introduction
******* Why do we want to do that?
******* We shall use arrays (introduced before) for matrices
******* Arsenal Required
********* working knowledge of arrays
***** Various matrix operations
******* Transpose
******* Sum of all elements
******* Element wise operations
******* Matrix multiplication
******* Inverse of a matrix
******* Determinant
******* eigen values/vectors
******* svd
***** Other things available?
*** Script
Welcome.
In this tutorial, you will learn how to perform some common matrix
operations. We shall look at some of the functions available in
pylab. Note that, this tutorial just scratches the surface and
there is a lot more that can be done.
Let's begin with finding the transpose of a matrix.
In []: a = array([[ 1, 1, 2, -1],
...: [ 2, 5, -1, -9],
...: [ 2, 1, -1, 3],
...: [ 1, -3, 2, 7]])
In []: a.T
Type a, to observe the change in a.
In []: a
Now we shall look at adding another matrix b, to a. It doesn't
require anything special, just use the + operator.
In []: b = array([[3, 2, -1, 5],
[2, -2, 4, 9],
[-1, 0.5, -1, -7],
[9, -5, 7, 3]])
In []: a + b
What do you expect would be the result, if we used * instead of
the + operator?
In []: a*b
You get an element-wise product of the two arrays and not a matrix
product. To get a matrix product, we use the dot function.
In []: dot(a, b)
The sum function returns the sum of all the elements of the
array.
In []: sum(a)
The inv command returns the inverse of the matrix.
In []: inv(a)
In []: det(a)
In []: eig(a)
Returns the eigenvalues and the eigen vectors.
In []: eigvals(a)
Returns only the eigenvalues.
In []: svd(a)
Singular Value Decomposition
*** Notes