...
Matrixes in Python
In Python, matrices are not it's own thing, but rather a list of list/nested lists. Let's look at an example:
Our matrix of choice will be
To represent this matrix in python, we will consider the matrix as two independent lists,
and
, put together in one list. Written in code, it looks like this:
Code Block | ||
---|---|---|
| ||
mat1 = [[1, 2, 3], [4, 5, 6]]
# To make the matrices easier to read while coding, we can place the different lists vertical to eachother instead of horizontally.
mat2 = [[1, 2, 3],
[4, 5, 6]]
# Printing both of these matrices will result in the same output:
[[1, 2, 3], [4, 5, 6]]
# To alter the output to a more readable format, for-loops are very helpful:
[[1, 2, 3],
[4, 5, 6]] |
Now, let's see how to obtain different values from our matrix:
Code Block | ||
---|---|---|
| ||
A = [[1, 2, 3], [4, 5, 6]] print("A =", A) print("A[1] =", A[1]) # 2nd row print("A[1][2] =", A[1][2]) # 3rd element of 2nd row print("A[0][-1] =", A[0][-1]) # Last element of 1st Row column = []; # Empty list for row in A: column.append(row[2]) # Adding the element in the third column of every row-list. print("3rd column =", column) |
The script above will result in the following output:
Code Block | ||
---|---|---|
| ||
A = [[1, 2, 3], [4, 5, 6]]
A[1] = [4, 5, 6]
A[1][2] = 6
A[0][-1] = 3
3rd column = [3, 6] |
Code Block | ||||
---|---|---|---|---|
| ||||
a = np.array([[1,2],[3,4]]) |
In Python rows and columns start at 0. For example index the data at first row second column :
Code Block | ||||
---|---|---|---|---|
| ||||
b = a[0,1] |
Linear algebra using NumPy
NumPy has several useful functions for linear algebra built-in. For full list look check the NumPy documentation.
Code Block | ||||
---|---|---|---|---|
| ||||
np.linalg.solve(a,b) #where a and b is matrixs
#returns a array with solutions to the system |
Code Block | ||||
---|---|---|---|---|
| ||||
np.linalg.eig(a) # where a is a square matrix
#returns two arrays [v,w]
#v containing the eigenvalues of a
#w containing the eigenvectors of a |
Code Block | ||||
---|---|---|---|---|
| ||||
np.linalg.det(a) # where a is a square matrix
#returns the determinant of the matrix a |
Code Block | ||||
---|---|---|---|---|
| ||||
np.linalg.inv(a) # where a is the matrix to be inverted
#Returns the inverse matrix of a |
Example
Code Block | ||||
---|---|---|---|---|
| ||||
import numpy as np
# Solving following system of linear equation
# 5a + 2b = 35
# 1a + 4b = 49
a = np.array([[5, 2],[1,4]]) # Lefthand-side of the equation
b = np.array([35, 94]) #Righthand-side
print(np.linalg.solve(a,b)) #Printing the solution |
Relaterte artikler
Content by Label | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Page properties | ||
---|---|---|
| ||
|