Python NumPy numpy.linalg.norm() Función
-
La sintaxis de
numpy.linalg.norm() -
Códigos de ejemplo:
numpy.linalg.norm() -
Códigos de ejemplo:
numpy.linalg.norm()para encontrar la norma de un conjunto bidimensional -
Códigos de ejemplo:
numpy.linalg.norm()para encontrar la norma del vector y la norma de el array usando el parámetroaxis -
Códigos de ejemplo:
numpy.linalg.norm()para usar el parámetroord
La función Python NumPy numpy.linalg.norm() encuentra el valor de la norma matriz o la norma vectorial. El parámetro ord decide si la función encuentra la norma matriz o la norma vectorial. Tiene varios valores definidos.
La sintaxis de numpy.linalg.norm()
numpy.linalg.norm(x, ord=None, axis=None, keepdims=False)
Parámetros
x |
Es una estructura similar a un array. Es el array de entrada usada para encontrar el valor de la norma. El valor por defecto del parámetro axis es None, por lo que el array debe ser unidimensional o bidimensional, siempre que el “nord” sea None. |
ord |
El valor devuelto de la función depende de este parámetro. Define el orden de la norma. Tiene varios valores, compruébelo aquí. |
axis |
Es un número entero, None o 2 tuple de números enteros. Si es un número entero, entonces representa el eje a lo largo del cual la función encontrará la norma vectorial. Su valor por defecto es None, lo que significa que la función encontrará la norma matriz o la norma vectorial. Si es un valor entero tuple de 2, entonces la función devolverá el valor de la norma matricial. |
keepdims |
Es un parámetro booleano. Su valor por defecto es False. Si su valor es True, entonces muestra las dimensiones del eje normalizado con el tamaño igual a uno. |
Retorna
Devuelve la norma de el array o un vector en forma de un valor float o un array N-dimensional.
Códigos de ejemplo: numpy.linalg.norm()
Usaremos esta función para encontrar la norma de un array unidimensional.
from numpy import linalg as la
import numpy as np
x = np.array(
[89, 34, 56, 87, 90, 23, 45, 12, 65, 78, 9, 34, 12, 11, 2, 65, 78, 82, 28, 78]
)
norm = la.norm(x)
print("The value of norm is:")
print(norm)
Producción:
The value of norm is:
257.4800963181426
Ha devuelto un valor “flotante” que es el valor de la norma.
Códigos de ejemplo: numpy.linalg.norm() para encontrar la norma de un conjunto bidimensional
Ahora pasaremos por un array bidimensional.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x)
print("The value of norm is:")
print(norm)
Producción:
The value of norm is:
129.35223229616102
Si ponemos el parámetro ord a cualquier otro valor que no sea None y pasamos un array que no sea ni unidimensional ni bidimensional, la función generará un ValueError ya que el parámetro axis es None.
from numpy import linalg as la
import numpy as np
x = np.array([[[4, 2], [6, 4]], [[5, 8], [7, 3]]])
norm = la.norm(x, "nuc")
print("The value of norm is:")
print(norm)
Producción:
Traceback (most recent call last):
File "C:\Test\test.py", line 6, in <module>
norm = la.norm(x,'nuc')
File "<__array_function__ internals>", line 5, in norm
File "D:\WinPython\WPy64-3820\python-3.8.2.amd64\lib\site-packages\numpy\linalg\linalg.py", line 2557, in norm
raise ValueError("Improper number of dimensions to norm.")
ValueError: Improper number of dimensions to norm.
Códigos de ejemplo: numpy.linalg.norm() para encontrar la norma del vector y la norma de el array usando el parámetro axis
Primero encontraremos la norma del vector.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, axis=0)
print("The vector norm is:")
print(norm)
Producción:
The vector norm is:
[41.78516483 80.95060222 91.83136719]
Observe que la función ha devuelto un conjunto de dimensiones N como la norma vectorial calculada.
Ahora, calcularemos la norma de el array. Pasaremos el parámetro axis como el 2-tuple del valor entero.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, axis=(0, 1))
print("The value of matrix norm is:")
print(norm)
Producción:
The value of matrix norm is:
129.35223229616102
Códigos de ejemplo: numpy.linalg.norm() para usar el parámetro ord
El parámetro ord tiene varios valores.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, "fro")
print("The value of matrix norm is:")
print(norm)
Producción:
The value of matrix norm is:
129.35223229616102
La función ha generado el valor de la norma matriz Frobenius.
from numpy import linalg as la
import numpy as np
x = np.array([[11, 12, 5], [15, 6, 10], [10, 8, 12], [12, 15, 8], [34, 78, 90]])
norm = la.norm(x, "nuuc")
print("The value of matrix norm is:")
print(norm)
Producción:
The value of matrix norm is:
152.28781231351272
La función ha generado la norma de el array. Es la suma de los valores singulares.