¿Cómo obtener la magnitud de un vector en NumPy?

La característica fundamental del álgebra lineal son los vectores, estos son los objetos que tienen tanto dirección como magnitud. En Python, las arrays NumPy se pueden usar para representar un vector.

Hay principalmente dos formas de obtener la magnitud del vector:

  • Al definir una función explícita que calcula la magnitud de un vector dado en función de la siguiente fórmula matemática:
    if V is vector such that, V = (a, b, c)
    then ||V|| = ?(a*a + b*b + c*c)
    

    Aquí hay algunos programas que calculan la magnitud de un vector siguiendo el enfoque anterior:

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

    Producción:

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

    A continuación se muestra otro ejemplo con el mismo enfoque:

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

    Producción:

    Magnitude of the Vector: 3.7416573867739413
    
  • Usando el norm()método en el linalgmódulo de NumPyla biblioteca. El módulo de álgebra lineal de NumPyofrece varios métodos para aplicar álgebra lineal en cualquier NumPyarray. A continuación se muestran algunos programas que se utilizan numpy.linalg.norm()para calcular la magnitud de un 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))

    Producción:

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

    ordSe puede usar un argumento adicional para calcular el orden n norm()de un 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))

    Producción:

    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
    

Publicación traducida automáticamente

Artículo escrito por riturajsaha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *