Thursday, December 26, 2024
Google search engine
HomeLanguagesHow to get the magnitude of a vector in NumPy?

How to get the magnitude of a vector in NumPy?

The fundamental feature of linear algebra are vectors, these are the objects having both direction and magnitude. In Python, NumPy arrays can be used to depict a vector. 

There are mainly two ways of getting the magnitude of vector:

  • By defining an explicit function which computes the magnitude of a given vector based on the below mathematical formula:
if V is vector such that, V = (a, b, c)
then ||V|| = ?(a*a + b*b + c*c)

Here are some programs which computes the magnitude of a vector following the above approach: 

Python3




# program to compute magnitude of a vector
 
# importing required libraries
import numpy
import math
 
# function definition to compute magnitude o f the vector
def magnitude(vector):
    return math.sqrt(sum(pow(element, 2) for element in vector))
 
# displaying the original vector
v = numpy.array([0, 1, 2, 3, 4])
print('Vector:', v)
 
# computing and displaying the magnitude of the vector
print('Magnitude of the Vector:', magnitude(v))


Output:

Vector: [0 1 2 3 4]
Magnitude of the Vector: 5.477225575051661

Below is another example with the same approach: 

Python3




# program to compute magnitude of a vector
 
# importing required libraries
import numpy
import math
 
# function definition to compute magnitude o f the vector
def magnitude(vector):
    return math.sqrt(sum(pow(element, 2) for element in vector))
 
# computing and displaying the magnitude of the vector
print('Magnitude of the Vector:', magnitude(numpy.array([1, 2, 3])))


Output:

Magnitude of the Vector: 3.7416573867739413
  • By using the norm() method in linalg module of NumPy library. The Linear Algebra module of NumPy offers various methods to apply linear algebra on any NumPy array. Below are some programs which use numpy.linalg.norm() to compute the magnitude of a vector: 

Python3




# program to compute magnitude of a vector
 
# importing required libraries
import numpy
 
# displaying the original vector
v = numpy.array([1, 2, 3])
print('Vector:', v)
 
# computing and displaying the magnitude of
# the vector using norm() method
print('Magnitude of the Vector:', numpy.linalg.norm(v))


Output:

Vector: [1 2 3]
Magnitude of the Vector: 3.7416573867739413

An additional argument ord can be used to compute the nth order of the norm() of a vector. 

Python3




# program to compute the nth order of the
# magnitude of a vector
 
# importing required libraries
import numpy
 
# displaying the original vector
v = numpy.array([0, 1, 2, 3, 4])
print('Vector:', v)
 
# computing and displaying the magnitude of the vector
print('Magnitude of the Vector:', numpy.linalg.norm(v))
 
# Computing the nth order of the magnitude of vector
print('ord is 0: ', numpy.linalg.norm(v, ord = 0))
print('ord is 1: ', numpy.linalg.norm(v, ord = 1))
print('ord is 2: ', numpy.linalg.norm(v, ord = 2))
print('ord is 3: ', numpy.linalg.norm(v, ord = 3))
print('ord is 4: ', numpy.linalg.norm(v, ord = 4))


Output:

Vector: [0 1 2 3 4]
Magnitude of the Vector: 5.477225575051661
ord is 0:  4.0
ord is 1:  10.0
ord is 2:  5.477225575051661
ord is 3:  4.641588833612778
ord is 4:  4.337613136533361

RELATED ARTICLES

Most Popular

Recent Comments