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.

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Adquiere por un a帽o todos los cursos, escuelas y certificados por un precio especial.

Antes: $249

Currency
$219/a帽o

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Comprar ahora

Termina en:

0D
2H
40M
24S

Matrices ortogonales y sus propiedades

26/28
Recursos

Aportes 23

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

El profesor nunca menciona por que elige la matriz con seno y coseno. Resulta que esa matriz, se llama una 鈥渕atriz 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

De acuerdo al teorema no es necesario probar tanto que las filas y las columnas son ortonormales entre si, solo con las columnas basta

Por si alguien al igual que yo, tiene la duda del uso de las 鈥渞ebanadas鈥 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
  • Una matriz ortogonal debe cumplir: que todas sus filas sean ortogonales mutuamente, igual que sus columnas y ademas que sean ortonormales(Que sus normas sean igual a 1)





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

Me sale difetente:


print(A[0,:].dot(A[1,:]))
print(A[:,0].dot(A[:,1]))

7.937715190675968e-18
-7.937715190675968e-18

Si redondeamos nos genera el error.

print(1/np.around(A_t.dot(A)))


Una matriz ortogonal es una matriz cuadrada en la que las filas (o columnas) son vectores ortogonales unitarios. Esto implica que el producto interno entre cualquier par de filas (o columnas) es cero y las filas (o columnas) tienen norma igual a 1. Las matrices ortogonales tienen varias propiedades importantes:

Ortogonalidad:

  • El producto interno entre cualquier par de filas (o columnas) de una matriz ortogonal es cero. Esto significa que los vectores correspondientes son ortogonales entre s铆.

Norma unitaria:

  • Las filas (o columnas) de una matriz ortogonal tienen norma igual a 1. Esto implica que son vectores unitarios.

Inversa igual a la traspuesta:

  • La inversa de una matriz ortogonal es igual a su traspuesta. Esto se debe a la propiedad de que los vectores filas (o columnas) son unitarios y ortogonales entre s铆. La matriz traspuesta intercambia filas por columnas, por lo que se preservan las propiedades de ortogonalidad y norma unitaria.

Preservaci贸n de la longitud y el 谩ngulo:

  • Una matriz ortogonal preserva la longitud de los vectores y los 谩ngulos entre ellos. Si se aplica una matriz ortogonal a un conjunto de vectores, las magnitudes y las relaciones angulares entre los vectores se mantienen.

Rotaci贸n y reflexi贸n:

  • Las matrices ortogonales se utilizan com煤nmente para representar rotaciones y reflexiones en geometr铆a. Debido a su propiedad de preservar longitudes y 谩ngulos, las matrices ortogonales son 煤tiles para transformaciones lineales que conservan estas propiedades geom茅tricas.

Producto de matrices ortogonales:

  • El producto de dos matrices ortogonales tambi茅n es una matriz ortogonal. Esto se debe a que la ortogonalidad se preserva en el producto y la traspuesta del producto es igual al producto de las traspuestas.

Las matrices ortogonales son ampliamente utilizadas en aplicaciones como la geometr铆a computacional, la compresi贸n de im谩genes, el procesamiento de se帽ales, el reconocimiento de patrones y el aprendizaje autom谩tico, entre otros.

Para quienes no han entendido por qu茅 el producto punto entre los vectores de la matriz (columnas) es igual a cero:

El producto punto (tambi茅n conocido como producto escalar) es una operaci贸n matem谩tica que se utiliza para calcular la relaci贸n entre dos vectores. Esta operaci贸n produce un escalar que indica la proyecci贸n de un vector sobre otro vector en un espacio euclidiano.

Cuando dos vectores son ortogonales (perpendiculares) entre s铆, el producto punto entre ellos es cero, lo que significa que no hay proyecci贸n de un vector sobre el otro. En cambio, si los vectores no son ortogonales, el producto punto produce un resultado que depende de la magnitud de los vectores y el 谩ngulo que forman entre s铆.

Yo lo realic茅 como se muestra, y en mi caso s铆 marc贸 la diferencia entre 0, porque tambi茅n se obtuvo correctamente la matriz identidad con 1 y 0, tal vez sea porque en 2022 ya se actualizaron esas funciones de numpy, aunque s贸lo es una suposici贸n, tal vez alguien lo pueda confirmar.

Podemos utilizar esta ++ funcion np.linalg.norm(matrix, axis)++ para calcular la norma por columnas axis = 0 o por filas axis=1.

# ortonorm by columns
print(np.linalg.norm(A, axis=0))
# ortonorm by rows
print(np.linalg.norm(A, axis=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')

Si, hay que tener cuidado con todo eso y aproximarlo a cero

  • A.t.dot(A) == A.dot(A.T) == Identidad
  • A.T == A^-1

me gusto esta clase

Muchas gracias Johan, importante aporte.