Cálculo del determinante de una matriz Cálculo de la inversa de una matriz...
Transcript of Cálculo del determinante de una matriz Cálculo de la inversa de una matriz...
Clase No. 10:
Cálculo del determinante de una matrizCálculo de la inversa de una matriz
Sistemas sobredeterminados ysubdeterminados
MAT–251 Dr. Alonso Ramírez ManzanaresDepto. de MatemáticasUniv. de Guanajuatoe-mail: [email protected]: http://www.cimat.mx/salram/met_num/
Dr. Joaquín Peña AcevedoCIMAT A.C.e-mail: [email protected]
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 1 / 16
Cálculo del determinante de una matriz
Sea A = [aij] ∈ Rn×n. Podemos calcular el determinante de la siguientemanera:
• Por la fórmula de Cramer,
detA =n∑
j=1
(−1)ja1j detA1j,
donde A1j es la matriz que resulta al eliminar la primera fila de A y suj-ésima columna.
• Por una suma sobre todas las permutaciones σ de los índices de lascolumnas,
detA =∑
σsgn(σ) a1σ1a2σ2 ...anσn
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 2 / 16
Cálculo del determinante de una matriz
Sea A = [aij] ∈ Rn×n. Podemos calcular el determinante de la siguientemanera:
• Por la fórmula de Cramer,
detA =n∑
j=1
(−1)ja1j detA1j,
donde A1j es la matriz que resulta al eliminar la primera fila de A y suj-ésima columna.
• Por una suma sobre todas las permutaciones σ de los índices de lascolumnas,
detA =∑
σsgn(σ) a1σ1a2σ2 ...anσn
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 2 / 16
Cálculo del determinante usando LU
Si A = LU, de las propiedades del determinante tenemos que
detA = detL detU.
Por ser L y U matrices triangulares, se debe tener que su determinante esigual al producto de los elementos de la diagonal.
detL = 1 y detU = u11u22 · · ·unn.
Por lo tanto,
detA = u11u22 · · ·unn.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 3 / 16
Cálculo del determinante usando LU
Si A = LU, de las propiedades del determinante tenemos que
detA = detL detU.
Por ser L y U matrices triangulares, se debe tener que su determinante esigual al producto de los elementos de la diagonal.
detL = 1 y detU = u11u22 · · ·unn.
Por lo tanto,
detA = u11u22 · · ·unn.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 3 / 16
Notación
S =
s11 s12 · · · s1,k−1 s1k s1,k+1 · · · s1n...
... · · ·...
...... · · ·
...sk−1,1 sk−1,2 · · · sk−1,k−1 sk−1,k sk−1,k+1 · · · sk−1,n
sk,1 sk,2 · · · sk,k−1 sk,k sk,k+1 · · · sk,nsk+1,1 sk+1,2 · · · sk+1,k−1 sk+1,k sk+1,k+1 · · · sk+1,n
...... · · ·
......
... · · ·...
sn,1 sn,2 · · · sn,k−1 sn,k sn,k+1 · · · sn,n
�
S1,k−1 S1,k S1,k+1
Sk,k−1 Sk,k Sk,k+1
�
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 4 / 16
Inversa de la factorización LU
Supongamos que A = LU. Entonces
A−1 =U−1L−1
Primero calculamos U−1. Sea S la matriz inversa de U. Entonces SU = I.Escribiendo esto por bloques de submatrices, tenemos
S1,r−1 s1,r S1,r+1
0> srr s>r,r+1
0 0 Sr+1,r+1
U1,r−1 u1,r U1,r+1
0> urr u>r,r+1
0 0 Ur+1,r+1
=
Ir−1 0 00> 1 00 0 Ik+1
donde S1,r−1,U1,r−1 ∈ R(r−1)×(r−1), s1,r ,u1,r ∈ Rr−1.
Se debe tener que srrurr = 1 y S1,r−1u1,r + s1,rurr = 0:
srr = 1/urrs1,r = −srrS1,r−1u1,r
para r = 2,3, ...,n− 1.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 5 / 16
Inversa de la factorización LU
Supongamos que A = LU. Entonces
A−1 =U−1L−1
Primero calculamos U−1. Sea S la matriz inversa de U. Entonces SU = I.Escribiendo esto por bloques de submatrices, tenemos
S1,r−1 s1,r S1,r+1
0> srr s>r,r+1
0 0 Sr+1,r+1
U1,r−1 u1,r U1,r+1
0> urr u>r,r+1
0 0 Ur+1,r+1
=
Ir−1 0 00> 1 00 0 Ik+1
donde S1,r−1,U1,r−1 ∈ R(r−1)×(r−1), s1,r ,u1,r ∈ Rr−1.
Se debe tener que srrurr = 1 y S1,r−1u1,r + s1,rurr = 0:
srr = 1/urrs1,r = −srrS1,r−1u1,r
para r = 2,3, ...,n− 1.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 5 / 16
Inversa de la factorización LU
Supongamos que A = LU. Entonces
A−1 =U−1L−1
Primero calculamos U−1. Sea S la matriz inversa de U. Entonces SU = I.Escribiendo esto por bloques de submatrices, tenemos
S1,r−1 s1,r S1,r+1
0> srr s>r,r+1
0 0 Sr+1,r+1
U1,r−1 u1,r U1,r+1
0> urr u>r,r+1
0 0 Ur+1,r+1
=
Ir−1 0 00> 1 00 0 Ik+1
donde S1,r−1,U1,r−1 ∈ R(r−1)×(r−1), s1,r ,u1,r ∈ Rr−1.
Se debe tener que srrurr = 1 y S1,r−1u1,r + s1,rurr = 0:
srr = 1/urrs1,r = −srrS1,r−1u1,r
para r = 2,3, ...,n− 1.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 5 / 16
Inversa de la factorización LU (Cont.)
Ahora calculamos T =U−1L−1 = SL−1. Debemos tener TL = S. Separamoslas matrices en los siguientes bloques:
�
Tr−1 tr Tr+1�
Lr−1,1 0 0l>r,1 1 0>
Lr+1,1 lr+1,r Lr+1,r+1
=�
Sr−1 sr Sr+1�
donde tr ,sr ∈ Rn, lr+1,r ∈ R(n− r), Tr+1 ∈ R(n−r)×(n−r).
Tenemos que tr +Tr+1lr+1,r = sr , es decir,
tr = sr − Tr+1lr+1,r para r = n− 1,n− 2, ...,1.
Lo único que hay que notar es que
tn = sn.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 6 / 16
Consideraciones
Para resolver el sistema de ecuaciones
Ax = b
Tenemos varias alternativas. Dentro de ellas:
Calcular la inversa de A y hacer x = A−1b.
Aplicar alguna factorización de A.
Usar un método iterativo.
¿ En que casos conviene uno u otro método?
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 7 / 16
Matrices rectangulares
Sea A una matriz m× n y b un vector de dimensión m. Tenemos que para
Ax = b
si m > n, el sistema es sobredeterminado.
si m < n, el sistema es subdeterminado.
Para matrices cuadradas, m = n, si A es no singular, la solución es única,
x = A−1b.
Para matrices rectangulares, hay que analizar cada caso.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 8 / 16
Gradientes de formas lineales y cuadráticas
Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).
∇(c>x) = c
∇(x>Ax) = (A+A>)x
De lo anterior se sigue que el gradiente del error
E(x) = ‖Ax−b‖22es
∇E(x) = 2A>Ax− 2A>b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 9 / 16
Gradientes de formas lineales y cuadráticas
Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).
∇(c>x) = c
∇(x>Ax) = (A+A>)x
De lo anterior se sigue que el gradiente del error
E(x) = ‖Ax−b‖22es
∇E(x) = 2A>Ax− 2A>b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 9 / 16
Gradientes de formas lineales y cuadráticas
Sean c,x ∈ Rn, y A ∈ Rn×n.Queremos calcular ∇(c>x) y ∇(x>Ax).
∇(c>x) = c
∇(x>Ax) = (A+A>)x
De lo anterior se sigue que el gradiente del error
E(x) = ‖Ax−b‖22es
∇E(x) = 2A>Ax− 2A>b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 9 / 16
Sistemas sobredeteminados
Sea A ∈ Rm×n con m > n.
En general, el sistema Ax = b puede no tener solución.
Por ello, tiene sentido calcularla solución de de mínimoscuadrados,
minx‖Ax−b‖2.
que está dada por
A>Ax = A>b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 10 / 16
Sistemas sobredeteminados
Sea A ∈ Rm×n con m > n.
En general, el sistema Ax = b puede no tener solución.
Por ello, tiene sentido calcularla solución de de mínimoscuadrados,
minx‖Ax−b‖2.
que está dada por
A>Ax = A>b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 10 / 16
Sistema subdeteminado
Sea A ∈ Rm×n. Si m < n, entonces el sistema Ax = b es subdeterminado.
• Este tipo de sistemas aparecen en problemas en donde el número dedatos es menor que el número de variables que hay que calcular.
• Si el sistema es consistente, entonces el sistema tiene una infinidad desoluciones.
Tenemos que las soluciones del sistema lineal son de la forma
x = y+ z,
donde Ay = b y Az = 0.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 11 / 16
Sistema subdeteminado
Sea A ∈ Rm×n. Si m < n, entonces el sistema Ax = b es subdeterminado.
• Este tipo de sistemas aparecen en problemas en donde el número dedatos es menor que el número de variables que hay que calcular.
• Si el sistema es consistente, entonces el sistema tiene una infinidad desoluciones.
Tenemos que las soluciones del sistema lineal son de la forma
x = y+ z,
donde Ay = b y Az = 0.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 11 / 16
Soluciones de mínima norma
Supongamos que el sistema Ax = b es consistente.
De todas las posibles soluciones, queremos la solución que tiene la menornorma de todas ellas. Es decir, la que es solución del problema
min1
2‖x‖22 sujeta a Ax = b.
Usamos la norma Euclidiana para poder dar una expresión algebraica de lasolución.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 12 / 16
Cálculo de la solución de mínima norma
Supongamos que A es de rango completo. Construimos la funciónLagrangiana del problema de minimización
L(x,λ) =1
2‖x‖22 − λ>(Ax−b)
donde λ ∈ Rm es vector de multiplicadores de Lagrange.
L(x,λ) =1
2x>x− λ>(Ax−b)
Tenemos que ∇L(x,λ) = x−A>λ. De donde
x = A>λAx = b
�
=⇒ x = A>(AA>)−1b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 13 / 16
Cálculo de la solución de mínima norma
Supongamos que A es de rango completo. Construimos la funciónLagrangiana del problema de minimización
L(x,λ) =1
2‖x‖22 − λ>(Ax−b)
donde λ ∈ Rm es vector de multiplicadores de Lagrange.
L(x,λ) =1
2x>x− λ>(Ax−b)
Tenemos que ∇L(x,λ) = x−A>λ. De donde
x = A>λAx = b
�
=⇒ x = A>(AA>)−1b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 13 / 16
Cálculo de la solución de mínima norma
Supongamos que A es de rango completo. Construimos la funciónLagrangiana del problema de minimización
L(x,λ) =1
2‖x‖22 − λ>(Ax−b)
donde λ ∈ Rm es vector de multiplicadores de Lagrange.
L(x,λ) =1
2x>x− λ>(Ax−b)
Tenemos que ∇L(x,λ) = x−A>λ. De donde
x = A>λAx = b
�
=⇒ x = A>(AA>)−1b
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 13 / 16
Ejemplo de solución de mínima norma (I)
Consideremos una matriz A de tamaño 30× 100 que tiene rango completo.Definimos x de la siguiente manera, y fijamos b = Ax.
x b
0 20 40 60 80 100
−1.
0−
0.5
0.0
0.5
1.0
Indice del componente
x i
0 5 10 15 20 25 30
−15
−10
−5
05
10
Indice del componente
b i
Calculamos la solución de norma mínima x∗ = A>(AA>)−1b.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 14 / 16
Ejemplo de solución de mínima norma (II)
x∗ x y x∗
0 20 40 60 80 100
−1.
0−
0.5
0.0
0.5
1.0
Indice del componente
x i
0 20 40 60 80 100
−1.
0−
0.5
0.0
0.5
1.0
Indice del componente
x i
Tenemos que ‖Ax∗ −b‖ = 2.37× 10−14.x∗ es solución del problema, pero puede ser muy diferente del vector x quegeneró al vector b.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 15 / 16
Ejemplo de solución de mínima norma (III)z = x− x∗
0 20 40 60 80 100
−1.
5−
1.0
−0.
50.
00.
51.
0
Indice del componente
x i
Debemos tener que z ∈ null(A):
‖Az‖ = 2.76× 10−14.
La solución de mínima norma frecuentemente es el punto de arranque devarios algoritmos que tratar de estimar x.
Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 16 / 16