Está en la página 1de 1

Instituto Tecnológico Metropolitano Algebra Lineal - Aplicación de SVD

Solución de sistema de ecuaciones - Aplicaciones


En este taller se busca que el estudiante aplique los conceptos adquiridos en clase en la aplicación de
la decomposición de valores singulares para la construccion de matrices con columnas linealmente
independientes.

1 Modelo matemático
Vamos a comparar el desempeño de la función solve contra el uso de la función inv del la libreria
NumPy. Se asume que tenemos acceso a una matriz A ∈ RN ×N y un vector solución b ∈ RN ×1 .
Recordemos que podemos solucionar un sistema de ecuaciones de la siguientes dos formas:

Usando la Inversa Usando solve


x = np.linalg.inv(A)@b x = np.linalg.solve(A,b).
Para realizar la comparación se incrementará el tamaño de la matriz y se evaluara para cada
tamaño el tiempo de computo que se requiere para cada una de las dos formas vistas anteriormente.

2 Procedimiento
Para la realización del taller se deben construir diferentes funciones las cuales se emplearan en los
pasos posteriores. Empezaremos construyendo matrices con columnas linealmente independientes
y verificamos que sus valores singulare sean positivos empleando la descomposición SVD.

1. Generar matrices positivas semidefinidas: En este caso se puede emplear el siguiente codigo:

n = 1000
A = np.random.rand(n,n) + n*np.eye(n)

La matriz A deberia ser positivida semidefinida. Volver el codigo una funcion de Python
donde el argumento de entrada sea el tamaño de la matriz.

2. Realizar la descompsición en valores singulares de la matriz A, y verificar que los valores


singulares sean positivos.

3. Realizar un ciclo FOR donde se controle el tamaño de la matriz y almacenar el tiempo promedio
de ejecución para encontrar la solución del sistema de ecuaciones empleando la inversa o la
función solve de NumPy. Se puede emplear el paquete timeit y calcular el promedio para
100 realizaciones el calculo.

4. Graficar las curvas tiempo vs tamaño para comparar el desempeño de ambas formas de
calcular la solución.

C. Guarnizo 1

También podría gustarte