SciPy Linear Algebra

SciPy is built upon the ATLAS LAPACK and BLAS library, and it provides very fast linear algebra capabilities. Linear algebra routine accepts two-dimension array object and output is also given as a two-dimension array. If we want more speed in computation, then we have to dig deep in this scenario.

A linear algebra problem can be solved by typing the following scipy function:

Linear Equation

The linalg.solve is used to solve the linear equation a*x + b*y = Z, for the unknown x, y values.

x + 3y +10z = 10
2x + 12y + 7z = 18
5x + 8y + 8z = 30

Here we will solve above linear equation by using the linear.solve command for the faster calculation.

Output:

[[4.55393586]
 [0.51311953]
 [0.39067055]]

 Checking results, Vectors must be zeros 
[[0.]
 [0.]
 [0.]]

In the above program, we have declared a and b as variable where a stored coefficients of equation and b stored the right-hand-side value. Variable x stored the evaluated solution.

Finding the determinants

The determinant of the square matrix is found by using the linalg.det() function. The determinate A is often denoted as |A| in the linear algebra. It accepts a matrix and returns a scalar value.

Let's consider the following example:

Output:

-52

Eigenvalues and Eigenvectors

Finding eigenvalues and eigenvector problems are the most common problem in linear algebra. We can find the Eigenvalues (?) and the corresponding Eigenvectors (v) of a square matrix (A) by linalg.eig() function. Consider the following example:

Av = λv

Output:

[-0.37228132+0.j  5.37228132+0.j]
[[-0.82456484 -0.41597356]
 [ 0.56576746 -0.90937671]]

SciPy svd

The svd is stands for single value decomposition. The unique value decomposition of a matrix A is the factorization of A into the product of three matrices A = UDVT, where the columns of U and V are orthonormal, and the matrix D is diagonal with real positive entries.


Next TopicSciPy Ndimage




Latest Courses