Introducción al curso

1

Vectores en Álgebra Lineal: Definición y Operaciones Básicas

Vectores

2

Vectores y Escalares: Conceptos y Operaciones Básicas

3

Convenciones y Notación en Vectores y Escalares

4

Modelo RGB y su implementación en Python

5

Adición de Vectores: Conceptos y Propiedades Básicas

6

Suma de Vectores en Python con NumPy

7

Producto Escalar-Vectores: Conceptos y Propiedades Básicas

8

Operaciones con Escalares y Vectores en Python usando NumPy

9

Producto Interno de Vectores: Definición y Propiedades

10

Producto Interno de Vectores en Python con NumPy

11

Análisis de Sentimientos de Tweets con Vectores de Palabras

Funciones lineales

12

Funciones Lineales: Transformación de Vectores en Escalares

13

Funciones Lineales y Propiedades de Superposición

14

Teoremas y Corolarios en Funciones Lineales

15

Funciones Afines: Propiedades y Ejercicios Prácticos

16

Aproximaciones de Taylor: Modelos Lineales de Funciones No Lineales

17

Aproximaciones de Taylor y análisis de error en Python

18

Regresión Lineal con Datos Geográficos y Socioeconómicos

Norma y distancia

19

Propiedades y Cálculo de la Norma de Vectores

20

Cálculo de Distancias entre Vectores usando Normas Euclidianas y LP

21

Optimización de Visitas para Arrendar Departamentos

22

Cálculo de Desviación Estándar en Series de Tiempo con NumPy

23

Modelo de Riesgo Retorno en Inversiones de Acciones

24

Cálculo de Ángulos y Correlación entre Vectores

Clustering

25

Clustering con K-Means: Teoría y Aplicación Práctica

26

Algoritmo K-means: Clustering Geométrico Sin Matemáticas

27

Programación del Algoritmo K-means en Python

Cierre

28

Programación de Clústers y Análisis de Sentimientos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Cálculo de Distancias entre Vectores usando Normas Euclidianas y LP

20/28
Recursos

¿Cómo calcular la distancia entre dos vectores?

Calcular la distancia entre dos vectores es una habilidad esencial en matemáticas y física porque nos ayuda a entender la relación espacial entre dos puntos. Esta distancia se determina a menudo utilizando la magnitud de la resta de los vectores. En esta clase, abordaremos varios métodos para medir distancias y su interpretación geométrica.

¿Cómo se definen los vectores y las operaciones básicas?

Para comenzar, primero debemos definir nuestros vectores. Supongamos que tenemos dos vectores en un espacio 'R^2'.

import numpy as np

a = np.array([1, 1])
b = np.array([-2, 3])

La resta de estos dos vectores dará lugar a un nuevo vector que nos permite calcular la distancia entre 'a' y 'b'. Este nuevo vector 'c' se obtiene así:

c = a - b

¿Qué es la suma del paralelogramo?

La suma de vectores puede representarse geométricamente mediante la construcción del paralelogramo. Esto implica trasladar un vector para que su punto de inicio coincida con el punto de fin del otro y trazar las líneas paralelas correspondientes. La diagonal del paralelogramo resultante es la suma de los vectores.

¿Qué forma tiene la resta de vectores?

La resta de los vectores se puede entender como el vector necesario para moverse de un vector a otro en el espacio. Para visualizarlo, simplemente trasladamos uno de los vectores a la posición definitiva después de la operación.

¿Cómo calcular la distancia usando la norma euclidiana?

La norma euclidiana, una medida basada en la geometría euclidiana, es una de las formas más comunes para calcular la distancia entre dos vectores en un plano. Se calcula de la siguiente manera:

distance = np.linalg.norm(a - b)

NumPy ofrece una función precargada np.linalg.norm, lo que simplifica el cálculo sin repetir código.

¿Qué otras normas podemos utilizar para medir?

La norma euclidiana es solo una opción. Existen otras normas conocidas como normas 'LP', que proporcionan diferentes métodos de medición dependiendo del valor de 'p'.

  • Para p = 1, obtenemos la norma L1 o métrica de Manhattan, relevante en entornos urbanos donde el desplazamiento se realiza en cuadrículas, no en línea recta.
  • Para p = ∞, obtenemos la norma L∞ o métrica del máximo, que mide distancias usando el valor máximo de las componentes de un vector.

¿Cómo se ve la diferencia entre L1 y L2 visualmente?

Al medir distancias con normas diferentes, cambian nuestras restricciones geométricas. Con la norma L2, la medición se parece más a trazos diagonales, mientras que con la norma L1, las trayectorias restringen movimientos a líneas horizontales y verticales.

¿Qué son las propiedades importantes de la norma?

Cuando trabajamos con normas, las propiedades como la desigualdad triangular son esenciales. Establecen que la magnitud del vector es siempre menor o igual a la suma de las magnitudes de sus componentes. Esto es fundamental al analizar la estructura del espacio vectorial y para hacer comparaciones entre diferentes vectores.

El siguiente paso en el aprendizaje implica considerar aplicaciones prácticas de estas normas y cómo pueden usarse para tomar decisiones eficientes, como en la búsqueda de viviendas en un mapa urbano restringido a trayectorias en cuadrícula.

Aportes 17

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

No tengo hoja cuadriculada y la verdad me encanta geogebra así que esto fue lo que hice:

El sumar un 0 o multiplicar por 1 lo conocía como el teorema del japones: “Nikita Nipone” 😉

Para aquellos que no escucharon nunca de las normas y los tomó por sorpresa la utilización de las mismas en la clase a pesar de que no fueron apropiadamente explicadas, comparto la diferencia entre las mismas

  • Norma L0: el número de elementos distintos de cero en el vector.

  • Norma L1: la suma de los valores absolutos de los elementos del vector.

  • Norma L2: la raíz cuadrada de la suma de cuadrados de los elementos del vector.

  • Norma L3 (orden inf) = Elemento máximo del vector.

Vectores de ejemplo y el uso de las siguientes normas

a = np.array([1,2])
b = np.array([2,3])
c = np.array([4,2])
d1 = np.linalg.norm(a-c)
d2 = np.linalg.norm(a-b) + np.linalg.norm(b-c)
d1,d2


prueba = d1 <= d2

output:
(3.0, 3.6502815398728847)

output:
True

import numpy as np
a=np.array([1,1])
b=np.array([2,3])
c=np.array([4,2])
d=np.linalg.norm(a-c) #calculo de la norma usando solo numpy
u=np.linalg.norm(a-b)
v=np.linalg.norm(b-c)
print('d =',d)
print('u =',u)
print('v =',v)
print('|a-b|+|b-c| =', u+v)

d = 3.1622776601683795
u = 2.23606797749979
v = 2.23606797749979
|a-b|+|b-c| = 4.47213595499958

||a-c|| ≤ ||a-b|| + ||b-c||

Usando quiver de la librería matplotlib 📕

Lo hice solo en código

import numpy as np

a = np.array([1,1])
b = np.array([2,3])
c = np.array([4,2])

v = np.linalg.norm(a-c)
x = np.linalg.norm(a-b)
y = np.linalg.norm(b-c)

print("v =", v)
print("x =", x)
print("y =", y)
print("a-b + b-c", x+y)
print("a-c es menor o igual qué a-b + b-c",v <= x+y)

Aplicable:
• La norma L0: devuelve la cantidad de elementos diferentes de 0 del vector.
• La norma L1: devuelve la suma de los valores absolutos de los elementos del vector.
• La norma L2: La magnitud del vector desde su origen.
• La norma infinito: devuelve el valor absoluto más grande del vector

Hola amigos,
Acá mi código para demostrar la desigualdad triangular con respecto a la distancia entre vectores. Utilizando los datos dados por el profesor:
||a−c||=||a−b+b−c||≤||a−b||+||b−c||

a = np.array([1,1])
b = np.array([2,3])
c = np.array([4,2])
print("¿Se cumple que ||a-c|| <= que ||a-b||+||b-c||?: ", np.linalg.norm(a-c) <= np.linalg.norm(a-b)+np.linalg.norm(b-c) )

¿Se cumple que ||a-c|| <= que ||a-b||+||b-c||?: ** True**

Por separado, si |a-c|=d1 y ||a-b||+||b-c|| = d2, entonces:

d1 = np.linalg.norm(a-c)
d2 = np.linalg.norm(a-b)+np.linalg.norm(b-c)
print("¿Es verdad que d1 <= que d2?: ", d1 <= d2 )

¿Es verdad que d1 ** <=** que d2?: ** True**

import numpy as np
from numpy.linalg import norm
a = np.array([1,1])
b = np.array([2,3])
c = np.array([4,2])
a_b = norm(a-b)
a_c = norm(a-c)
b_c = norm(b-c)

print(a_c<=a_b+b_c)
import numpy as np

a = np.array([1, 1])
b = np.array([2, 3])
c = np.array([4, 2])

distance_ab = np.linalg.norm(a - b)
distance_bc = np.linalg.norm(b - c)
distance_ac = np.linalg.norm(a - c)

print(distance_ab)
print(distance_bc)
print(distance_ac)
inequality_check = distance_ac <= distance_ab + distance_bc
print(inequality_check)

Lotananza: Parte más alejada de un lugar.

  • La norma Euclidiana es también conocida como la norma L2

Por alguna razón no me da lo mismo, creía haciendo a mano estaba errado pero tampoco en python. Algo hice mal?, los otros si me dan igual. Bueno casi!

Lo grafique con plt.quiver

  • para graficar los vectores de distancia entre vectores se da como origen uno de los vectores pero como dirección se da la resta entre este vector y el vector hacia donde le estamos calculando la distancia, no se si este proceso se pueda redactar en términos de la norma , entiendo que tiene algo que ver ya que la dirección es la resta de los vectores
import matplotlib.pyplot as plt
import seaborn as sns
a = np.array([1,1])
b = np.array([2,3])
c = np.array([4,2])

fig, ax = plt.subplots()

plt.quiver([0,0,0,a[0],a[0],b[0]],
          [0,0,0,a[1],a[0],b[1]],
          [a[0],b[0],c[0],1,3,2],
          [a[1],b[1],c[1],2,1,-1], angles = 'xy', scale_units ='xy', scale = 1,color = sns.color_palette())

plt.xlim(0,4)
plt.ylim(0,3.5)

Se comprueba la propiedad triangular mediante el siguiente código:

import numpy as np

a = np.array([1,1])
b = np.array([2,3])
c = np.array([4,2])

d1 = np.linalg.norm(a-c)
d2 = np.linalg.norm(a-b+b-c)
d3 = np.linalg.norm(a-b) + np.linalg.norm(b-c)

d1,d2,d3

El resultado fue el siguiente:

d1= 3.16
d2 = 3.16
d3= 4.47

d1 = d2 <= d3

Y la representación gráfica de los vectores es la siguiente: