Skip to content
Related Articles

Related Articles

How to get the magnitude of a vector in NumPy?
  • Last Updated : 29 Aug, 2020

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:




    # program to compute magnitude of a vector
      
    # importing required libraries
    import numpy
    import math
      
    # function defination 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:






    # program to compute magnitude of a vector
      
    # importing required libraries
    import numpy
    import math
      
    # function defination 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:




    # 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.




    # 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
    

 Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.  

To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course

My Personal Notes arrow_drop_up
Recommended Articles
Page :