No tengo hoja cuadriculada y la verdad me encanta geogebra así que esto fue lo que hice:
Introducción al curso
Lo que aprenderás sobre álgebra lineal: vectores
Vectores
Algunos objetos matemáticos: vectores y escalares
Convención en notación
Comienza a utilizar vectores en Python
Adición entre vectores
Suma de vectores en Python
Producto escalar-vector
Producto escalar-vector en Python
Producto interno
Producto interno en Python
Proyecto: análisis de sentimientos
Funciones lineales
Funciones lineales
Algunas funciones lineales
Un teorema en funciones lineales
Funciones afines
Aproximaciones de Taylor
Ejemplo en aproximaciones de Taylor
Un modelo de regresión
Norma y distancia
Cómo calcular distancias de vectores
Distancia entre vectores
Distancia entre vectores y búsqueda de departamento
Desviación estándar
Cálculo de riesgo en inversiones
Ángulo entre vectores y correlación
Clustering
¿Qué es y por qué clustering?
Una aproximación: K-Means
K-Means en Python
Cierre
Cierre y despedida
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 17
Preguntas 1
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.
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
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:
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?