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:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

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

    chevron_right

    
    

    Output:

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

    Below is another example with the same approach:



    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    # 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])))

    chevron_right

    
    

    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:
    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

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

    chevron_right

    
    

    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.

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

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

    chevron_right

    
    

    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.




My Personal Notes arrow_drop_up

If you only do what you can do, you will never be more than what you are ~Shifu

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.