Está en la página 1de 4

UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO

FACULTAD DE INGENIERÍA

RODRÍGUEZ OCAÑA JAVIER FABIÁN

31921461-3

TAREA 3 – 5
MÉTODO DE LAS POTENCIAS PARA OBTENER EL
VALOR DE L MÁXIMA Y MÍNIMA

ANÁLISIS NUMÉRICO

GRUPO 22

PROFESOR: M.I. VICTOR MANUEL DURAN CAMPOS

FECHA DE ENTREGA
20 DE ABRIL DE 2023

SEMESTRE 2023-2
1. DESCRIPCIÓN DEL EJERCICIO.
Para la siguiente matriz aplicar el método de las potencias para obtener el
valor de L máxima y mínima, así como los vectores asociados a dichas L.

2 0 1
𝐴 = [3 1 4]
0 2 5

2. DESARROLLO DEL EJERCICIO.

Tenemos un matriz “A” de 3x3, tres filas y tres columnas (Figura 01).

3 columnas
2 0 1

3 filas
𝐴 = [3 1 4]
0 2 5

Figura 01. Matriz (Ma) tipo 4x4.

Usando la herramienta Google Colab, reescribimos el código mostrado en


clase para obtener los valores característicos de una matriz por el método
de las potencias (Figura 02).

import numpy as np
from numpy.linalg import inv

def lamdaMaximo(A,X0,tol):
ErrorL=tol+1; L0=10000; i=1;
while abs(ErrorL)>=tol:
AX0=A*X0
L1=np.max(AX0)
X1=AX0/L1
ErrorL=L1-L0
L0=L1
X0=X1
i=i+1

print('Iteración #',i)
print('Lambda máxima ',L1)
print('Vector ', X1)

Javier Fabian Rodríguez Ocaña Análisis Numérico – Grupo 22 Facultad de Ingeniería


def lamdaMinimo(A,X0,tol):
ErrorL=tol+1; L0=10000; i=1;
while abs(ErrorL)>=tol:
AX0=inv(A)*X0
L1=1/np.max(AX0)
X1=AX0*L1
ErrorL=L1-L0
L0=L1
X0=X1
i=i+1

print('----------------------')

print('Iteración #',i)
print('Lambda mínima ',L1)
print('Vector ', X1)

def probar_codigo():
A=np.matrix('0 0 0 ; 0 0 0 ; 0 0 0')
X0=np.matrix('0;0;0')
lamdaMaximo(A,X0,0.001)
lamdaMinimo(A,X0,0.001)

probar_codigo()

Figura 02. Código en Python para obtener los valores


característicos de una matriz por el método de potencias.

Programamos nuestro código:


1) Escribimos la matriz “A” y el vector inicial “X0”

Matriz Python

2 0 1 A=np.matrix('2 0 1 ;
𝐴 = [3 1 4] 3 1 4 ; 0 2 5')
0 2 5

1 X0=np.matrix('1;0;0')
𝑋0 = [0]
0
Tabla 01. Transcripción de las matrices “A” y “X0” a código Python.

Javier Fabian Rodríguez Ocaña Análisis Numérico – Grupo 22 Facultad de Ingeniería


2) Definimos una tolerancia de 0.001 para el cálculo de lambda máximo
y mínimo (Figura 03).

lamdaMaximo(A,X0,0.001)
lamdaMinimo(A,X0,0.001)

Figura 03. Funciones definidas.

3) Ejecutamos el programa.

El programa mostro el valor de L máxima, pero no el de L mínima (Figura


04). Es posible que se deba a que la matriz “A” no tenga inversa, algo que
condiciona el uso del método y no hace posible el calculo de los valores de
“L” y sus vectores asociados.

Figura 04. Error en el cálculo de los valores de L máximo y mínimo.

3. CONCLUSIÓN Y/O RESUMEN DE RESULTADOS.


Como se mencionó, el programa arrojó un error debido a que, inicialmente,
la matriz "A" resultó ser singular, es decir, no posee inversa. Por esta razón,
el método de las potencias no es aplicable, ya que solo funciona en
matrices que son no singulares y diagonalizables.

Consultando la tarea 3 – 4, el polinomio característico de la matriz “A” es


−𝝀𝟑 + 𝟖𝝀𝟐 − 𝟗𝝀, y al resolverlo obtendremos los valores propios, 𝝀𝟏 =
𝟎, 𝝀𝟐 = 𝟒 + √𝟕, 𝝀𝟑 = 𝟒 − √𝟕.

Javier Fabian Rodríguez Ocaña Análisis Numérico – Grupo 22 Facultad de Ingeniería

También podría gustarte