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.