26
Clase No. 10: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz Sistemas sobredeterminados y subdeterminados MAT–251 Dr. Alonso Ramírez Manzanares Depto. de Matemáticas Univ. de Guanajuato e-mail: alram@ cimat.mx web: http://www.cimat.mx/salram/met_num/ Dr. Joaquín Peña Acevedo CIMAT A.C. e-mail: joaquin@ cimat.mx Joaquín Peña (CIMAT) Métodos Numéricos (MAT–251) 10.09.2012 1 / 16

Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 2: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 3: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 4: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 5: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 6: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 7: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 8: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 9: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 10: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 11: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 12: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 13: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 14: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 15: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 16: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 17: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 18: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 19: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 20: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 21: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 22: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 23: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 24: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 25: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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

Page 26: Cálculo del determinante de una matriz Cálculo de la inversa de una matriz …joaquin/mn11/clase10.pdf · 2012. 9. 13. · Cálculo del determinante de una matriz Sea A = [aij]

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