Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ANÁLISIS DE ERRORES
a11 a12 . . . a1n x1
a21 a22 . . . a2n x2
A= . .. .. .. y x = . .
.. . . . ..
an1 an2 . . . ann xn
Ya sabemos que si X es un espacio vectorial sobre el campo de escalares R, entonces una función
k · k : X → R se llama norma y (X, k · k) espacio normado, si
Lema 20. Sean k · kRn y k · kRm normas vectoriales sobre Rn y Rm y define para A ∈ Rm×n
kAxkRm
kAk := sup .
x∈Rn \{0} kxkRn
Entonces,
En general es dificil calcular explicitamente una norma matricial, pero en algunos casos especiales
se puede obtener otra representación mas útil para calculos numéricos. Recordamos que el radio
espectral de una matriz A se define como
Lema 21. Si usamos sobre Rn y Rm las mismas normas vectoriales y anotamos las normas
matriciales inducidas con la misma notación, entonces
m
X n
X
kAk1 = max |aj,k |, y kAk∞ = max |aj,k |, y kAk2 = ρ(A⊤ A)1/2 .
k=1,...,n j=1,...,m
j=1 k=1
(ii) para cada ε > 0 existe una norma matrical inducida k · kε tal que
En Python existe el tipo lista, que puede ser usado para representar vectores y matrices. Sin
embargo, el tipo lista es muy general y flexible. Para representar y calcular con vectores y
matrices de números reales de una forma mas eficiente, usaremos el tipo array. Este no es
un tipo estandar, es parte del paquete adicional NumPy. Destacamos que este tipo permite la
vectorización de operaciones, es decir, podemos hacer operaciones matemáticas directamente con
los arrays en vez de usar bucles. Es importante notar que los índices de vectores y matrices en
Python empiezan con 0.
56 CHAPTER 3. ANÁLISIS DE ERRORES
# dimension de x
dimx = x.shape[0]
print('la dimension de x es',dimx)
# acceso a elementos
# cuidado: arrays en numpy empiezan con índice 0!
x[0]=17
print('x =',x)
y = np.zeros(3)
y[1]=-4.5
w = np.zeros(3)
z = np.zeros(3)
# operación vectorizada
z = x+y
print('w =',w)
print('z =',z)
np.sin(x)
# operación vectorizada
z = np.sin(x)
3.3. NORMAS VECTORIALES Y MATRICIALES 57
print('w =',w)
print('z =',z)
# producto interno
a = np.dot(x,w)
print(a)
la dimension de x es 3
x = [17. 0. 0.]
w = [17. -4.5 0. ]
z = [17. -4.5 0. ]
w = [-0.96139749 0. 0. ]
z = [-0.96139749 0. 0. ]
-16.343757361952466
# dimensiones de A
dim = A.shape
print(dim)
n = dim[0]
m = dim[1]
print('A es de tamaño ',n,' por ',m)
# acceso a elementos
A[0,1] = 5
A[1,3] = 17
print(A)
(2, 4)
A es de tamaño 2 por 4
[[ 0. 5. 0. 0.]
[ 0. 0. 0. 17.]]
Para calcular normas de vectores y matrices, podemos usar el comando linalg.norm de NumPy:
58 CHAPTER 3. ANÁLISIS DE ERRORES
x = [1, 2, -4]
A = [[1,2,3],[4,5,6]]
print('norma 2 de A =',np.linalg.norm(A))
print('norma infinita de A =',np.linalg.norm(A,np.inf))
print('norma 1 de A =',np.linalg.norm(A,1))