NumPy Linear Algebra and Matrix Functions
Get Job-Ready: Data Analysis using Python with 70+ Projects Start Now!!
NumPy has a separate module for linear algebra. The module contains all the functions necessary for linear algebra. numpy.linalg is the package in NumPy for NumPy Linear Algebra. Linear Algebra is the branch of mathematics concerned with vector spaces and mapping amongst the spaces.
NumPy Linear Algebra
Let us see various Matrix and Vector Products in NumPy:
Matrix and Vector Products
For matrix and vector computations it has the following functions:
- dot()- it can calculate the dot product of two arrays
- vdot()- it can calculate the dot product of two vectors
- inner()- it can calculate the inner product of arrays
- outer()- it can compute the outer products of two arrays
- matmul()- it can determine the matrix multiplication of two arrays
- det()- it can calculate determinant of a matrix
- solve()- it can solve linear matrix equation
- inv()- it can calculate the multiplicative inverse of the matrix
- trace()- it calculates the sum of diagonal elements
- rank()- it returns the rank of the matrix
NumPy dot and vdot functions
The dot function gives the dot product of two matrices. It is similar to matrix multiplication.
The vdot function, on the other hand, is used for the dot product of two or more vectors. It is equivalent to the sum of the array elements.
import numpy as np arr1 = np.array([[1,2],[3,4]]) arr2 = np.array([[5,6],[7,8]]) print(np.dot(arr1,arr2)) print(np.vdot(arr1,arr2))
Output
[43 50]]
70
NumPy inner and outer functions
The inner function gives the sum of the product of the inner elements of the array. In the case of n-dimensional arrays, it gives the output over the last axis only.
The outer function returns the sum of the product of the outer array elements.
import numpy as np a = np.array([1,2,3]) b = np.array([7,8,9]) #inner function i=np.inner(a,b) print(i) #outer function o= np.outer(a,b) print(o)
Output
[[ 7 8 9]
[14 16 18]
[21 24 27]]
NumPy Matrix Functions
1. The matrix multiplication function gives the multiplication of two matrices of the same shape. If the shape is not the same, then it gives error.
import numpy as np a = np.array([4,5,6]) b = np.array([7,8,9]) #matrix multiplication function i=np.matmul(a,b) print(i)
Output
2. The determinant function uses the diagonal elements for determinant calculation.
import numpy as np a = np.array(([4,5],[2,3])) #determinant function m=(np.linalg.det(a)) print(m)
Output
3. The solve function is used to evaluate quadratic equations.
import numpy as np a = np.array([[7,8],[5,6]]) b = np.array([[1,2],[3,4]]) #solve function s=np.linalg.solve(a, b) print(s)
Output
[ 8. 9.]]
4. The inverse function returns the multiplicative inverse of the input matrix.
import numpy as np a = np.array([[7,8],[5,6]]) #inverse function inver=np.linalg.inv(a) print(inver)
Output
[-2.5 3.5]]
5. The trace function returns the sum of all the diagonal values
import numpy as np a = np.array([[1,2],[3,4]]) print(np.trace(a))
Output
6. The rank function returns the rank of the matrix
import numpy as np a = np.array([[1,2],[3,4]]) print(np.linalg.matrix_rank(a))
Output
NumPy Matrix Eigenvalue Functions
This function computes complex conjugate or real symmetric matrices. The function returns two objects for eigenvalues and eigenvectors respectively. The output consists of:
- A 1-D array object containing of eigenvalues
- A 2-D square matrix containing the eigenvectors for each column.
import numpy as np A = np.array([[1,2,3],[3,2,-1],[4,0,-4]]) #function to calculate eigenvalues and vector val, vect = np.linalg.eig(A) print(val) print(vect)
Output
[[ 0.44047381 -0.66326042 0.49735565]
[-0.27023519 -0.67962995 -0.75158903]
[-0.85612836 -0.31335084 0.43330277]]
1. The np.linspace(, ,) function outputs an equally spaced array. We use it for array generation.
np.linspace(0, 10, num=4)
Output
2. The np.logspace() return numbers spaced evenly on a log scale. We use it for array generation.
np.logspace(0, 10, num=4)
Output
3. For 1-D arrays the most common function is np.arange(..), passing any value create an array from 0 to that number.
import numpy as np array=np.arange(20) array
Output
12, 13, 14, 15, 16, 17, 18, 19])
We can check the dimensions by using array.shape.
4. The np.asarray() is to convert the input to an array. It is helpful in array creation.
np.asarray((1,2,3,4))
Output
Summary
NumPy linear algebra functions are beneficial for advanced scientific computations. It has functions and modules for matrix and vector processing. It is useful for concepts like eigenvalues and vectors evaluation. These functions make use of the NumPy functionalities to its full capacity.
You give me 15 seconds I promise you best tutorials
Please share your happy experience on Google
Ossam!!!!!!!!!