El profesor nunca menciona por que elige la matriz con seno y coseno. Resulta que esa matriz, se llama una “matriz de rotación”. La cual me permite rotar un vector 90 grados. Es por esta razón que es una matriz ortogonal.
Conceptos básicos de álgebra lineal y configuración del entorno de trabajo
Presentación del curso y la necesidad del Álgebra Lineal
Anaconda + Python, Creación de un entorno y actualización de paquetes
Uso de Jupyter Notebook
Creando las bases, escalares, vectores y matrices. ¿Qué es un tensor? ¿Cómo se representa?
Realiza operaciones básicas
Dimensión de un escalar, vector, matriz o tensor
Transposición, suma de matrices y escalares
Suma de matrices y vectores (broadcasting)
Operaciones con matrices
Producto interno entre una matriz y un vector
Producto interno entre dos matrices
Propiedades de las matrices: la multiplicación de matrices es asociativa y distributiva, no es conmutativa
Transposición de un producto de matrices
Cómo comprobar la solución de un sistema de ecuaciones lineal
Tipos especiales de matrices: Identidad, Inversa, Singulares
Aplicación de la inversa de una matriz para resolver un sistema de ecuaciones lineales
Sistema de ecuaciones lineales
Ejemplos de sistemas sin solución, con una solución y con infinitas soluciones
Graficar vectores
¿Qué es una combinación líneal?
¿Qué es un espacio y un subespacio?
Vectores linealmente independientes
Validar que una matriz tenga inversa
Normas
Qué es una norma y para qué se usa. Desigualdad Triangular
Tipos de normas: norma 0, norma 1, norma 2, norma infinito y norma L2 al cuadrado
El producto interno como función de una norma y su visualización
Matrices y vectores especiales
La matriz diagonal y la matriz simétrica: sus propiedades
Vectores ortogonales, matrices ortogonales y sus propiedades
Matrices ortogonales y sus propiedades
Otras funciones de álgebra lineal
El determinante y la traza
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
Aportes 17
Preguntas 5
El profesor nunca menciona por que elige la matriz con seno y coseno. Resulta que esa matriz, se llama una “matriz de rotación”. La cual me permite rotar un vector 90 grados. Es por esta razón que es una matriz ortogonal.
Aqui les va un pequeño truco para hacer las aproximaciones a cero.
Se trata de definir un valor muy pequeño (épsilon) contra el que se comparan los elementos de la matriz y si son menores que él entonces ajustarlos a cero:
eps= 1e-17
A[np.abs(A) < eps] = 0
Matriz Ortogonal
Es la matriz cuyos vectores filas son ortonormales mutuamente (lo mismo con los vectores columnas)
Cumplen con la siguiente identidad:
A_tA = AA_t = I
A_t = inv(A)
Nota:
Cuidado con los errores que podemos propagar al operar con las aproximaciones que hace python
Una matriz es ortogonal cuando todas sus filas son mutuamente ortonormales y todas sus columnas son mutuamente ortonormales.
Así mismo, una matriz ortogonal es una matriz cuadrada cuya matriz inversa coincide con su matriz transpuesta.
Para los que estan haciendo el curso ahora(16/8/2020) no les va a dar el resultado de print(1/A_t.dot(A))
y
A_t = A.T
print(A_t.dot(A))
print(A.dot(A_t))```
como al profe ya que a traves del tiempo los lenguajes tienen actualizaciones y ahora el resultado de esos calculos es 0 e infinito ya que se entiende que el profesor no obtiene esos resultados por limitaciones de la computadora
Por si alguien al igual que yo, tiene la duda del uso de las “rebanadas” en python con matrices:
import numpy as np
matriz = np.array([[1, 0, 0],
[0, 1, 0],
[0, 0, 1]])
print(matriz[0,:]) #imprime la primera fila de la matriz
print(matriz[1,:]) #imprime la segunda fila de la matriz
print(matriz[:,0]) #imprime la primera columna de la matriz
print(matriz[:,1]) #imprime la segunda columna de la matriz
A mi me da lo que indica el profe.
Al multiplicara A.A_t obtuve esto :
[[1. 0.]
[0. 1.]]
[[1. 0.]
[0. 1.]]
Nota.
Propiedades de las matrices ortogonales:
(A)(A.T) = (A.T)(A) = matriz_identidad
A.T = A^-1
Que opinan del codigo que cree para verificar si una matriz es ortogonal?
def ortogonal(matriz):
cero = True
for i in range(3):
for j in range(3):
if i != j and i < j:
punto = matriz[:,i].dot(matriz[:,j])
if punto != 0:
cero = False
return cero
matriz = np.eye(3)
print(matriz)
if ortogonal(matriz) and ortogonal(matriz.T):
print('Matriz Ortogonal')
else:
print('NO es Matriz Ortogonal')
Me sale difetente:
print(A[0,:].dot(A[1,:]))
print(A[:,0].dot(A[:,1]))
7.937715190675968e-18
-7.937715190675968e-18
Si, hay que tener cuidado con todo eso y aproximarlo a cero
Muchas gracias Johan, importante aporte.
me gusto esta clase
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.