Conceptos básicos de álgebra lineal y configuración del entorno de trabajo

1

Presentación del curso y la necesidad del Álgebra Lineal

2

Anaconda + Python, Creación de un entorno y actualización de paquetes

3

Uso de Jupyter Notebook

4

Creando las bases, escalares, vectores y matrices. ¿Qué es un tensor? ¿Cómo se representa?

Realiza operaciones básicas

5

Dimensión de un escalar, vector, matriz o tensor

6

Transposición, suma de matrices y escalares

7

Suma de matrices y vectores (broadcasting)

Operaciones con matrices

8

Producto interno entre una matriz y un vector

9

Producto interno entre dos matrices

10

Propiedades de las matrices: la multiplicación de matrices es asociativa y distributiva, no es conmutativa

11

Transposición de un producto de matrices

12

Cómo comprobar la solución de un sistema de ecuaciones lineal

13

Tipos especiales de matrices: Identidad, Inversa, Singulares

14

Aplicación de la inversa de una matriz para resolver un sistema de ecuaciones lineales

Sistema de ecuaciones lineales

15

Ejemplos de sistemas sin solución, con una solución y con infinitas soluciones

16

Graficar vectores

17

¿Qué es una combinación líneal?

18

¿Qué es un espacio y un subespacio?

19

Vectores linealmente independientes

20

Validar que una matriz tenga inversa

Normas

21

Qué es una norma y para qué se usa. Desigualdad Triangular

22

Tipos de normas: norma 0, norma 1, norma 2, norma infinito y norma L2 al cuadrado

23

El producto interno como función de una norma y su visualización

Matrices y vectores especiales

24

La matriz diagonal y la matriz simétrica: sus propiedades

25

Vectores ortogonales, matrices ortogonales y sus propiedades

26

Matrices ortogonales y sus propiedades

Otras funciones de álgebra lineal

27

El determinante y la traza

28

Cierre del curso. Continua con el Curso de Álgebra Lineal Aplicada a Machine Learning.

Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

¿Qué es un espacio y un subespacio?

18/28
Recursos

Aportes 31

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

La razón por la que los vectores (-1,-1) y (1,1) no pueden generar a R2 (teniendo en cuenta que la generación del espacio se obtiene con la variación de los escalares como lo hemos venido haciendo) es porque estos dos vectores no son linealmente independientes entre sí, en términos más sencillos véase que estos vectores son multiplos entre ellos, basta con multiplicar por el escalar -1 a cualquiera de los dos para obtener el otro.

Estos vectores por tanto van a pertenecer al mismo espacio, en particular, generan un subespacio de R2 que sería: todos los vectores pertenecientes a R2 tal que la segunda coordenada sea igual a la primera, y = x. Para poder generar el espacio R2 (o en general Rn), se necesitan tomar n vectores que sean linealmente independientes entre ellos, que ninguno sea combinación lineal de los otros.

Es por ello que en el segundo ejemplo cuando toma (1, 0) y (2, -3), esto genera todo el espacio R2, pues son dos vectores que son linealmente independientes, es decir, no existe un escalar tal que multiplicando a uno me permita obtener al otro.

  • Espacio euclidiano o Espacio vectorial es el conjunto de n-adas ordenadas, tambien conocido por espacio n-dimencional y de denota por Rn este es una sucesión de n números reales ejemplo (a1,a2,…,an) donde los vectores Rn se clasifican así:

  • **R1 **= espacio unidimensional, línea recta real.

  • **R2 **= espacio bidimensional, pares ordenados.

  • **R3 **= espacio tridimensional, terna ordenadas.

-Hiperplano: una dimension menos el espacio donde estamos trabajando

**Si trabajamos en R3 un hiperplano es R2, si trabajamos en R2 un hiperplano es la recta. **

Les recomiendo a todos los que quieran entender lo que habla el profe, vean los videos de Algebra Lineal de Khan Academy https://es.khanacademy.org/math/linear-algebra/vectors-and-spaces/vectors/v/real-coordinate-spaces?modal=1

Para colab…

%matplotlib inline

import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import mplot3d

v1 = np.array([1,0,0])
v2 = np.array([2,-3,0])

fig = plt.figure()
ax = plt.axes(projection='3d')

for a in range (-10,10):
  for b in range (-10,10):
    ax.scatter(v1[0]*a+ v2[0]*b,
               v1[1]*a+ v2[1]*b,
               v1[2]*a+ v2[2]*b,
               marker='.',
               color="orange")

Wow, voy en el minuto 6 y la verdad no entiendo casi nada de su explicación 😦

Vectores linealmente independientes:
Un vector es linealmente dependiente de otros cuando este no se puede generar a través de una combinación lineal de los otros. El máximo número de vectores linealmente independientes entre sí es la dimensión de estos vectores.
Generación de una recta, un plano o un espacio.
La recta y el plano se pueden conoces cono espacios de 2 y 3 dimensiones respectivamente. Para definir un espacio de n dimensiones necesitamos n vectores linealmente independientes. Así para definir una recta necesitamos un vector, para un plano necesitamos dos y para un espacio (de tres dimensiones) necesitamos 3 vectores.
Nota
Un hiperplano es un espacio una dimensión menor al espacio en el que estamos trabajando (el hiperplano de una recta es un puntos, el hiperplano de un plano es una recta, etc)

Ese cierre de la clase muy knockeador jaja. Lo siento muchachos por los que no lo lograron entender. Les recomiendo lean en otros sitios sobre la teoría de espacios y subespacios vectoriales.Recomiendo el libro de Bernard Kolman-Algebra Lineal.

  • Espacio: donde está definido los vectores v1 y v2.
  • Subespacio: donde está definido la combinación lineal de v1 y v2.
  • Hiperplano: espacio de una dimensión menor de donde están definidos v1 y v2.

Hermoso. Aunque el tema de subespacio vectoriales es más divertido y matemático. Aqui lo pusieron muy interactivo y la explicación superficial. Aunque también creo que lo quisieron hacer accesible a todas las personas, y dejaron de lado la formalidad. 😕 Pero bueno. Es divertido verlo graficado

A que se refiere el profesor cuando habla de r1 y r2?






me dan ganas de retomar mis libros de algebra lineal

Siempre que quieran generar todo un espacio, pueden estar seguro que con los vectores canonicos lo logran, para que no lanzen vectores al azar 😃

para visualizar un poco mejor lo que se esta haciendo en la clase y el porque del primer ejemplo les dejo estas funciones


y aquí el código
comparar representation vectorial y combinación lineal

def analyse_combination(v1,v2,lim1,lim2):
    fig, ax = plt.subplots()


    for a in range(-10,10):
        for b in range(-10,10):
            v1v2 = v1*a + v2*b
            ax.scatter(v1v2[0],v1v2[1], marker='.')
    plt.xlim(lim1*-1,lim1)
    plt.ylim(lim1*-1,lim1)
    plt.axvline(x=0, color='grey')
    plt.axhline(y=0, color='grey')


    plot_vectors([v1,v2],["orange", "blue"])
    plt.xlim(lim2*-1,lim2)
    plt.ylim(lim2*-1,lim2)
    
    plt.axvline(x=0, color='grey')
    plt.axhline(y=0, color='grey')

    plt.show()

generar el grafico de los vectores

def plot_vectors(vectors, colors, alpha = 1): #alplah = trasparence of each vector
    fig, ax = plt.subplots()

    ax.axvline(x=0, color="grey")
    ax.axhline (y=0, color="grey")

    for i in range(len(vectors)):
        x = np.concatenate([[0,0], vectors[i]]) #set origin point #add 0,0 as the vector were a tenson
        ax.quiver(
            [x[0]],
            [x[1]],
            [x[2]],
            [x[3]],
            angles ='xy' , scale_units= 'xy', scale = 1,
            color = colors[i],
            alpha = alpha
        )
    
    return  ax

los subespacios son hiperplanos de los espacios?

Los hiperplanos son un dimensión menos

No logro entender la lógica de esta función. Alguien me puede explicar de manera sencilla como aparece la combinación lineal entre los vectores y da como resultado una línea recta?

Gracias!


v1 = np.array([1, 1])
v2 = np.array([-1, -1])


for a in range(-10,10):
    for b in range(-10,10):
        plt.scatter(v1[0]*a + v2[0]*b, v1[1]*a + v2[1]*b,
                   marker = '.',
                   color = "orange")
        
plt.xlim(-25,25)
plt.ylim(-25,25)

plt.axvline(x=0, color='grey')
plt.axhline(y=0, color='grey')

plt.show()

Si no entiendes los conceptos de este curso les sugiero grandemente tomar este curso en Youtube, es muy visual y te ayudará en un 100%: esencia del algebra lineal

R2 plano (2D)
R1 línea (1D)

Si entre los dos vectores forman un plano o paralelepípedo, el subespacio de puntos será un plano, y si entre los dos vectores no forman un plano, si no que están sobre la misma línea como es el caso de v1[1,1] y v2[-1,-1] del ejemplo, el subespacio vectorial existirá solo en esa línea.

Nota.
Los hiperplanos son una dimensión menos del espacio en que estamos trabajando:
R3 -> R2
R2 -> R1

Se puede tener todoas esas formas de graficar espacios en 2D y 3D en otro archivo para %run

Solo por si alguien esta usando JupyterLab, para poder usar la linea %matplotlib notebookos y ver gráficos interactivos (al menos hasta este momento). Se deben decir estos pasos.

  • Si estamos trabajando en R3 , un hiperplano sería el espacio de vectores en R2, si estamos trabajando en R2 el hiperplano sería la recta en R1

Les comparto la función que escribí para poder graficar los espacios vectoriales. Resulta conveniente para no repetir mucho código

def generarEspacioVectorial(n,m, vecs):
    """
    n - int - It produces a range (-n,n) to graph in x axis
    m - int - It produces a range (-m,m) to graph in y axis
    vecs - array of vectors
    """

    for a in range(-n,n):
        for b in range(-m,m):
            plt.scatter(vecs[0][0]*a+vecs[1][0]*b, vecs[0][1]*a+vecs[1][1]*b, marker=".", color="green")
            
    plt.xlim(-n,n)
    plt.ylim(-m,m)
    plt.axvline(x=0,color="black")
    plt.axhline(y=0, color="black")```

Mi tostadora no corre el gráfico en 3d decentemente :’(

mi maquina es una AMD A12 4gb de video con w10y se demora 9 seg para hacer 1,1 -1,-1
alguien sabe si se puede configurar para que trabaje ams rapido o seria mejor trabajar en ubuntu.

Para que su gráfico quede completo cambien los rangos a -10,11, esto para incluir al 10 debido a que range no es inclusivo con el limite superior.

Que buen ejercicio profe, Gracias