El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En...

75
El Problema Lineal de Mínimos Cuadrados. Descomposición QR. Antonio M. Vidal Murcia, Diciembre 2007

Transcript of El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En...

Page 1: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

El Problema Lineal de Mínimos Cuadrados.Descomposición QR.

Antonio M. VidalMurcia, Diciembre 2007

Page 2: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

(a0,b0)

(a1,b1)

(a2,b2)

(a3,b3)

(a4,b4)

x

y

33

2210 xxxxxxxy +++=

Imponiendo la condición de que la curva pase por los puntos conocidos se tiene

∑−

=

=

−=1

0

1,...,1,0 n

j

jiji axb

miPara

Ejemplo: Ajuste de una curva a una nube de puntos

Page 3: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

A x b=

mnnm bxA ℜ∈ℜ∈ℜ∈ × ,, con

[ ] [ ] mTm

nTn

ji bbbbxxxxaa ℜ∈=ℜ∈== −− 110110ij ...,... ,y

El ajuste de la curva por mínimos cuadrados es equivalente a la resolución de un sistema de ecuaciones sobredeterminado:

En forma matricial

22min que talar EncontrResolver bAxbAxxbAx

nxLS

nLSLS −=−ℜ∈⇔=

ℜ∈

Problema Lineal de Mínimos Cuadrados

21

21

202

)(...)()( −−++−+−=− mbAxbAxbAxbAx

Page 4: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Para i=0,1,…,n-1ai

T(AxLS-b)=0

AT(AxLS-b)=0

ATAxLS=ATb Ecuaciones Normales del Problema Lineal de Mínimos Cuadrados

R(A)

b

Ax

AxLS

AxLS-b

Ecuaciones normales

Page 5: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Si se conoce

puesto que Q conserva la 2-norma vectorial se tiene

Por tanto el mínimo se alcanza en

y toma el valor

superior,r triangula, y )( ortogonal , con , 1 RQQQQRA Tnm −× =ℜ∈=

2

222

2112

2

2

2

2

2)( ccxRcRxbAxQbAx T −+−=−=−=−

con nmnTnnT cccc

cbQRR

RAQ −× ℜ∈ℜ∈

==ℜ∈

== 21

2

11

1 , , ,0

11

1 cRxLS−=

2

222

2min cbAx

nx=−

ℜ∈

R x c=A x b=

TQR1 c1

c2

Page 6: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

AplicacionesProblemas de mínimos cuadrados; ajuste de funciones

a un conjunto de puntos.

Sea el siguiente conjunto de puntos (aleatorios) en el plano: (1,3), (2, -1), (4,7), (8,-3.5), (6,10) (,4,4)

0 1 2 3 4 5 6 7 8 9 10-10

-8

-6

-4

-2

0

2

4

6

8

10

Page 7: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

EjemploQueremos encontrar una función, de algún tipo

predefinido, que pase lo mas cerca posible de esos puntos;Por ejemplo, un polinomio de grado 3:

ax3+bx2+cx+d

Para cada punto planteamos la igualdad “deseada”:

para (1,3):a·13+b·12+c·1+d = 3

para (2,-1):a·23+b·22+c·2+d = -1

para (4,7):a·43+b·42+c·4+d = 7

Y así para todos los puntos

Page 8: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

AplicacionesVersión matricial del sistema de ecuaciones:

=

5,36871

3

12,464,1708,741636216186451214166412481111

dcba

No existe solución para este sistema de ecuaciones (a no ser que la matrizsea singular)

En lugar de buscar “la” solución, buscamos la “mejor” solución posible, laque minimiza ||Ax-b||2 . è Solución en el sentido de “mínimos cuadrados”.

Este problema se puede resolver con las “ecuaciones normales”: ATAx=b; numéricamente es mejor utilizar la QR.

Page 9: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

AplicacionesCalculamos en Matlab la QR

>> [Q,R]=qr(A)

Q =

-0.0018 -0.0620 0.5609 0.7647 -0.2769 0.1420-0.0142 -0.2094 0.6703 -0.2355 0.6068 -0.2880-0.1134 -0.5286 0.1279 -0.2898 -0.6458 -0.4363-0.9073 0.3573 0.1507 -0.1254 -0.0858 0.0575-0.3828 -0.4941 -0.4407 0.4623 0.3589 -0.2694-0.1313 -0.5487 0.0527 -0.2154 0.0427 0.7942

R =

-564.3138 -76.0356 -10.5902 -1.55070 -13.9558 -5.0058 -1.48550 0 1.1961 1.12180 0 0 0.36090 0 0 00 0 0 0

Page 10: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

AplicacionesSe multiplica b por QT

>> b1=Q’*b

Y se resuelve el sistema triangular:

>> sol=R\b1

sol =

-0.12871.9760

-7.62488.3838

Obtenemos la gráfica del polinomio

)4()·3()·2()·1( 23 solxsolxsolxsol +++

=

dcba

Page 11: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Aplicaciones

0 1 2 3 4 5 6 7 8 9 10-10

-8

-6

-4

-2

0

2

4

6

8

10

Page 12: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Descomposición QR

Deseamos obtener una nueva descomposición de una matriz A∈ℜ mxn , en la forma:

A=QRQ es una matriz ortogonal, y R es una matriz triangular

Puede utilizarse también para resolver sistemas de ecuaciones lineales generales

bQRxbQRxbAx T=⇔=⇔=

Page 13: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

La descomposición QR se puede calcular independientemente de las dimensiones de A

INTRODUCCIÓN

A ∈ℜ∈ℜ mxn,mxn,

m>nm>n

Q∈ℜm×m R ∈ℜm×n

A ∈ℜ∈ℜ mxn,mxn,

m<nm<n

Q∈ℜm×m R ∈ℜm×n

0

0

Page 14: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

La descomposición QR se puede calcular de muchas formas:

INTRODUCCIÓN

1) Basada en Reflexiones de Householder

2) Basada en Rotaciones de Givens

3) Basada en rotaciones “rápidas” de Givens

4) Basada en la ortonormalización modificada de Gram- Schmidt.

Estudiaremos las dos principales

Page 15: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Sea v en ℜn distinto de 0. Las Reflexiones de Householderson matrices en ℜn×n de la forma:

1) Reflexiones de Householder

v·vv·v

IP T

T

2−=

1)Si y=Px, y se obtiene reflejando x sobre el subespacioRango{v}⊥ .(Complemento ortogonal de rango de v)

2) Cada P es una modificación de la identidad de rango 1 Simétrica y Ortogonal

Matriz de rango 1

Número

Page 16: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

v x

Px

⊥}{vspan

Page 17: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Utilización para hacer 0s en ciertas componentes de un vector:

2) Reflexiones de Householder

Sea x ∈ ℜn , queremos construir una matriz de HouseholderP tal que Px=α· e1 (Todas las componentes de Px son 0 excepto la primera).

Escogemos el vector v como: v=x ± ||x||2e1. Es fácilcomprobar que, construyendo P con este vector v, Px tienetodas sus componentes iguales a 0, excepto la primera.

Page 18: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Ejemplo:

3) Reflexiones de Householder

=

1513

x

=

1519

vTomamos

−−−−−−−−−−−−−

=−=

5351952954515539945927

5412

v·vv·v

IP t

t

=

0006

Px

12exxv +=

Page 19: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

1) Como veremos a continuación, sólo se calcula el vector v y el factor β=(vtv)/2; en aplicaciones prácticas, NUNCA se calcula la matriz P.

2) En la fórmula v=x ± ||x||2e1, el signo se selecciona para minimizar el error de redondeo.

3) El vector v se puede normalizar para que v(1)=1; de esa forma, se puede almacenar la parte importante del vector v (v(2:n)) en la parte de x donde se han hecho los ceros (x(2:n)).

4) Reflexiones de HouseholderDetalles de implementación.

Page 20: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0
Page 21: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

2/11

2 ))(sgn( ∑−

=

=m

jiijjjj aaρ

Tjmjjjjjj aaav ],...,,,0,...,0,0[ ,1,1 −++= ρ

)( jjjjj a+= ρρβ

v=x +sg(x1) ||x||2e1

Procedimiento Norm(j)

Construcción del algoritmo

Coste: 2(m-j) Flops

xxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxx

000

Page 22: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

xxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxx

000

Resultado de aplicar una Matriz de Householder, P, a otro vector y distinto del x que ha servido para calcularla

vyPy γ−= 2/)(y ))(/1( vvyv TT == ββγ

Procedimiento Fact(j,k)

ik

m

jiijjjk av∑

=

=1

)()/1( βγ

Procedimiento Cmod(j,k)

ijjkikik vaamjjiPara

)( 1,...,1,

γ−=−+=

Coste: 2(m-j) FlopsCoste: 2(m-j) Flops

Page 23: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Partimos de una matriz ejemplo 6*5

Descomposición QR basada en Householder(1)

=

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A

Mediante una reflexión, hacemos ceros en la primera columna

=

xxxxxxxxxxxxxxxxxxxxxxxxx

A·H

00000

1

Page 24: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Luego repetimos el mismo proceso, con cada columna para hacerla triangular superior:

Descomposición QR basada en Householder(2)

=

xxxxxxxxxxxxxxxxxxxx

xxxxx

A·H

00000

1

=

xxxxxxxxx

xxxxxxxxxxxx

A·H·H

00000000

0

12 L

=

000000000

00000

0

12345

xxx

xxxxxxxxxxxx

A·H·H·H·H·H

Page 25: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Descomposición QR basada en Householder(3)

=

000000000

00000

0

12345

xxxxxxxxxxxxxxx

A·H·H·H·H·H

RA·Q =

QH·H·H·H·H =12345

Hi ortogonales => Q ortogonalHi simétricas => Q simétrica

RQA t= QRA =

Q ortogonal Q simétrica

Page 26: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo de Triangularización Ortogonal (Householder)

Page 27: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Paralelización del Algoritmo de Householderen el Modelo de Paso de Mensajes

Objetivo: Diseñar un algoritmo paralelo óptimo para resolver un sistema de ecuaciones triangular superior en un multicomputador

Page 28: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

P0 P1 Pp-2 Pp-1

Reloj

Red de interconexión

Memoria local

Programa(0)

Datos(0)

Memoria local

Datos(1)

Programa(1)

Datos(p-2)

Memoria local

Programa(p-2)

Datos(p-1)

Memoria local

Programa(p-1)

Características:Entorno de paso de mensajes (MPI)Se conoce el tiempo de ejecución de 1 Flop (operación elemental

en coma flotante:+,-,*,:)Enviar un mensaje de N palabras desde un nodo a otro (o a otros)

tiene un coste de Nτ+β, con τ y β conocidos (τ=tw y β=ts)

CAsolCAp tttttt +≅−+≅

Page 29: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Grafo de dependencias

N(j)=Norm(j); F(j,k)=Fact(j,k); C(j,k)=Cmod(j,k)

Page 30: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

1)(,...,1,0, Columnas ocesador Pr

−=+→

pnrirpi

PjColumna jMODp

Distribución cíclica: suponiendo n=k*p

Idea básica del algoritmo

Para cada columna1. Calcular los parámetros de la

transformación de Householder (sóoel procesador que la contiene)

2. Difundir los parámetros al resto de procesadores

3. Actualizar las restantes columnas (cada procesador sólo las que contiene)

P0 P1 P2 P3

Red de interconexión

0 4 8 1 5 9 2 6 10 3 7 11

Page 31: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo paralelo

EN PARALELO: PARA pr=0,1,…,p-1

En Ppr:

PARA j=0,1,…,n-1

SI jMODp=pr (*columna j pertenece a Ppr *)

ENTONCES

Norm(j)

Difunde parámetros (* vj, bj*)

EN OTRO CASO

Espera parámetros

FIN SI

PARA k=j,j+1,…,n-1

SI kMODp=pr (*columna k pertenece a Ppr *)

ENTONCES

Fact(j,k)

Cmod(j,k)

FIN SI

FIN PARA

FIN PARA

FIN PARA

Coste:

FlopsnmpntA )3/)(/2( 2 −=

[ ]βτ nnmnptC +−= )2/( 2

Page 32: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo sobre un anillo unidireccional

Algoritmo asíncrono, con solapamiento de comunicaciones y operaciones aritméticas

Page 33: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo sobre un anillo unidireccional

Algoritmo síncrono (lock-step), sin solapamiento de comunicaciones y operaciones aritméticas

Page 34: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo con distribución por bloques de columnas consecutivas

•Distribución cíclica: tiende a equilibrar la carga•Distribución por bloques de columnas consecutivas: tiende a disminuir el tiempo de comunicación

Page 35: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0
Page 36: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0
Page 37: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0
Page 38: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0
Page 39: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Otros aspectos del Algoritmo Paralelo

Actualización:

jjkkk AaAA *−=

= - jka *

Algoritmo general

PARA j=0,1,…,n-1CalculaParámetros(j)PARA k=j,j+1,…,n-1

ActualizarColumna(j,k)Eliminación Gaussiana

Parámetros=multiplicadores

Page 40: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo paralelogeneral

EN PARALELO: PARA pr=0,1,…,p-1

En Ppr:

PARA j=0,1,…,n-1

SI jMODp=pr (*columna j pertenece a Ppr *)

ENTONCES

CalcularParámetros(j)

Difunde parámetros (* vj, bj*)

EN OTRO CASO

Espera parámetros

FIN SI

PARA k=j,j+1,…,n-1

SI kMODp=pr (*columna k pertenece a Ppr *)

ENTONCES

ActualizarColumna(j,k)

FIN SI

FIN PARA

FIN PARA

FIN PARA

Page 41: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Rotaciones de Givens(1)

Muy similares a las rotaciones en ℜ2×2, pero en ℜn×n

1) Son ortogonales

2) Son modificaciones de la identidad de rango 2.

( )

−=θ

1000

00

00

0001

LLLMOMMM

LLLMMOMM

LLLMMMOM

LLL

cs

sc,k,iG ,donde c=cos(θ) y s=sen(θ)

Page 42: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Rotaciones de Givens(2)

Efecto de una rotación de Givens sobre un vector.

Eligiendo el ángulo θ apropiado, podremos hacer 0 en la componentei o en la k; por ejemplo, podemos hacer yk=0 tomando:

( )

+

−=

θ

n

ki

ki

n

k

i

x

x·cx·s

x·sx·c

xx

x

x

x

xx

,k,iG

M

M

M

M

M

M2

1

2

1

2222ki

k

ki

i

xx

xs;

xx

xc

+

−=

+=

Page 43: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Rotaciones de Givens(3)Algoritmo para calcular una rotación de Givens, sin problemas de

overflow. Dados a y b, el algoritmo calcula c (=cos(θ)) y s (=sen(θ)) De forma que:

=

− 0

rba

cssc T

Function [c,s]=givens(a,b)If b==0c=1;s=0

ElseIf |b|>|a|

else

endend

τ=τ+

=−=τ sc;s;ba

211

τ=τ+

=−=τ cs;c;ab

211

El ángulo no se calcula nunca

Page 44: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Rotaciones de Givens(4)Efecto sobre una matriz

Efecto de una rotación de Givens sobre una matriz A ∈∈ ℜℜmm××nn por filas

1) Si G(i,k,θ) ∈∈ ℜℜmm××mm se aplica por la izquierda, de la forma:A ß G(i,k,θ)T·A, sólo se modifican las filas i y k de A, y requiere

exactamente 6n flops:

Function A=appl_givens_f(A,i,k,c,s)[m,n]=size(A)For j=1:n

t1=A(i,j)t2=A(k,j)A(i,j)=c*t1-s*t2A(k,j)=s*t1-c*t2

End

Page 45: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Rotaciones de Givens(5)Efecto sobre una matriz

Efecto de una rotación de Givens sobre una matriz A ∈∈ ℜℜmm××nn, , por columnas

1) Si G(i,k,θ) ∈∈ ℜℜnn××nn se aplica por la derecha, de la forma:A ß A·G(i,k,θ)T, sólo se modifican las columnas i y k de A, y requiere

exactamente 6m flops:

Function A=appl_givens_c(A,i,j,c,s)[m,n]=size(A)For j=1:m

t1=A(j,i)t2=A(j,k)A(j,i)=c*t1-s*t2A(j,k)=s*t1-c*t2

End

Page 46: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Rotaciones de Givens(6)Propiedades

1)Si, al aplicar una rotación de Givens por filas a un vector columna, loselementos de las filas afectadas son 0, el resultado será 0.

2) Las propiedades de error de las rotaciones de Givens son tan buenas como las de Householder.

Page 47: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Tomamos la misma matriz de ejemplo que en el caso de Householder, 6*5

=

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

A

Aplicamos una rotación a las filas 5 y 6, para hacer 0 el elemento (6,1)

→→

=

xxxxxxxxxxxxxxxxxxxxxxxxxxxxx

AR ,

0

165

Descomposición QR basada en Givens(1)

Page 48: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

=

xxxxxxxxxxxxxx

xxxxxxxxxxxxxxx

AR ,

0

165

A continuación, aplicamos una rotación a las filas 4 y 5, para hacer 0 el elemento (5,1)

→→

=

xxxxxxxx

xxxxxxxxxx

xxxxxxxxxx

ARR ,,

00

165

154

Descomposición QR basada en Givens(2)

Se sigue con filas 3 y 4, luego 2 y 3, hasta 1 y 2:

→→

=

xxxxxxxxxxxxxxxxxxxxxxxxx

ARRR ,,,

00000

165

154

121 L

Page 49: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Se sigue con la columna 2, empezando desde abajo hasta la diagonal:

Descomposición QR basada en Givens(3)

→→

→→

=

xxxxxxxxxxxxxxxxxxxxx

ARR

xxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxx

ARRR

,,

,,,

00000000

0

000000

00000

165

222

165

154

121

L

LL

Las filas a las que se aplica la rotación se modifican, salvo en la Columna 1; los ceros permanecen (0·c+0·s=0)

Page 50: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Se repite el proceso con todas las columnas hasta la última.

Descomposición QR basada en Givens(4)

=

000000000

00000

0

165

154

565

xxxxxxxxxxxxxxx

ARRR ,,, L

Obtenemos R=QT·A, donde QT es el producto de todas las rotaciones

Page 51: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Descomposición QR basada en Givens(5)Algoritmo “simplificado” para calcular la descomposición QR de una

matriz A ∈∈ ℜℜmm××n;n; La Q se obtiene explícitamente, normalmente solo se guardan los vectores v.

[Q,R]=qr_simpl_Giv(A)

1) Q=Im2) For j=1:n3) For i=m:-1:j+14) [c,s]=givens(A(i-1,j),A(i,j))5) A=appl_givens_f(A,i-1,i,c,s)6) Q=appl_givens_f(Q,i-1,i,c,s)7) End For8) End For

Coste: 3n2(m-n/3) flops

Page 52: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Método de Gram-Schmidt

Page 53: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Método de Gram-Schmidt

[ ] [ ]

;/)(;

...

...

...0...00

........00......0

......

,...,,...,,,...,,...,,

2

1,12211

2211

2222

111211

2121

jjjjjjjjjjj

jjjjjjjjj

jjjjjj

nn

nj

nj

njnj

rQrQQrr

QrQrQrQrA

QrQrQrA

r

rrr

rrrr

QQQQAAAA

QRA

==

=−−−−

+++=

=

=

−−

Finpara

rQQ

Qr

Finpara

QrQQ

AQr

jiPara

AQnjPara

rAQAr

jjjj

jjj

iijjj

jT

iij

jj

;/

;

;*

;

1,...,3,2,1

; ,...,3,2

;/;

2

11112111

=

=

−=

=

−=

==

==

Algoritmo

Page 54: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Método de Gram-Schmidt Modificado

[ ] [ ]

nT

nnnnjnnnnn

jT

jjjjjjj

T

nn

nj

nj

njnj

AQrQrQrQrQrA

AQrQrQrQrA

AQrQrQrA

rAQArQrA

r

rrr

rrrr

QQQQAAAA

QRA

111,12211

112211

21122221122

111121111111

2222

111211

2121

...

...

...

...

;/;

...0...00

........00......0

......

,...,,...,,,...,,...,,

=⇒++++=

=⇒+++=

=⇒+=

==⇒=

=

==

−−

Page 55: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Método de Gram-Schmidt Modificado

nnnjnnnnnn

jjjjjjj

QrQrQrQrAA

QrQrQrAA

rAQArQrQrAA

rAQArQrA

+++=−=

++=−=

==⇒=−=

==⇒=

−− 1,12211

2211

2222222222211222

111121111111

...:...

...:...

;/;:

;/;

FinparaFinpara

QrAA

AQr

nkkjPara

rAQAr

nkPara

kkjjj

jT

kkj

kkkkkkk

;*

;

,...,2,1

;/;

,...,3,2,1

2

−=

=

++=

==

=

Algoritmo

Page 56: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Paralelización del Algoritmo de Givens en el Modelo de Paso de Mensajes

Objetivo: Diseñar un algoritmo paralelo óptimo para diseñar un algoritmo paralelo óptimo para triangularizaruna matriz en un multicomputador utilizando Rotaciones de Givens

Page 57: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

P0 P1 Pp-2 Pp-1

Reloj

Red de interconexión

Memoria local

Programa(0)

Datos(0)

Memoria local

Datos(1)

Programa(1)

Datos(p-2)

Memoria local

Programa(p-2)

Datos(p-1)

Memoria local

Programa(p-1)

Características:Entorno de paso de mensajes (MPI)Se conoce el tiempo de ejecución de 1 Flop (operación elemental

en coma flotante:+,-,*,:)Enviar un mensaje de N palabras desde un nodo a otro (o a otros)

tiene un coste de Nτ+β, con τ y β conocidos (τ=tw y β=ts)

CAsolCAp tttttt +≅−+≅

Page 58: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Paralelismo en las Rotaciones de GivensPara anular el elemento (p,q), los parámetros c,s sólo dependen de de dos elementos y la anulación sólo implica dos filas

Clases de paralelismo1. Calcular los parámetros de diferentes rotaciones (filas

disjuntas) en paralelo2. Aplicar simultáneamente rotaciones diferentes a pares de

filas disjuntas3. Aplicar en paralelo una rotación a todas las columnas en un

par de filas

Page 59: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

1)(,...,1,0, Columnas ocesador Pr

−=+→

pnrirpi

PjColumna jMODp

Distribución cíclica: suponiendo n=k*p

Idea básica del algoritmo

Para cada columna1. Calcular los parámetros de las

rotaciones de Givens (sólo el procesador que la contiene)

2. Difundir los parámetros al resto de procesadores

3. Actualizar las restantes columnas (cada procesador sólo las que contiene)

P0 P1 P2 P3

Red de interconexión

0 4 8 1 5 9 2 6 10 3 7 11

Algoritmo orientado por columnas

Page 60: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo paralelo de Givensorientado por columnas

EN PARALELO: PARA pr=0,1,…,p-1

En Ppr:

PARA j=0,1,…,n-1

PARA i=m-1,m-2,…,j+1

SI jMODp=pr (*columna j pertenece a Ppr *)

ENTONCES

[c,s]=givens(A,i-1,i)

Difunde parámetros c,s

EN OTRO CASO

Espera parámetros c,s

FIN SI

PARA k=j,j+1,…,n-1

SI kMODp=pr (*columna k pertenece a Ppr *)

ENTONCES

u=A(i-1,k);v=A(i,k);

A(i-1,k)=c*u+s*v;A(i,k)=-s*u+c*v

FIN SI

FIN PARA

FIN PARA

FIN PARA

FIN PARA

Page 61: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Modelos clásicos de paralelismo

Page 62: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0
Page 63: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

1)(,...,1,0, Columnas ocesador Pr

−=+→

pnrirpi

PjColumna jMODp

Distribución cíclica: suponiendo n=k*p

Idea básica del algoritmo

1. En paralelo, calcular los parámetros de las rotaciones de Givens que anulen elementos situados en una diagonal secundaria

2. Difundir los parámetros al resto de procesadores

3. En paralelo, actualizar las restantes columnas (cada procesador sólo las que contiene)

P0 P1 P2 P3

Red de interconexión

0 4 8 1 5 9 2 6 10 3 7 11

Algoritmo por columnas con optimización de las comunicaciones usando el modelo de paralelismo de las diagonales secundarias

Page 64: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Funcionamiento

Page 65: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo paralelo de Givens orientado por columnas y diagonales secundarias

Page 66: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo paralelo de Givens orientado por filas

Page 67: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Funcionamiento del algoritmo de Givens orientado por filas

Page 68: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo orientado por filas

Page 69: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo orientado por filas con triangularizaciones parciales

Page 70: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Algoritmo orientado por filas con triangularizaciones parciales

Page 71: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0
Page 72: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Funcionamiento

Page 73: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Prestaciones de los algoritmos paralelos basados en Rotaciones de Givens

Page 74: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Prestaciones de los algoritmos paralelos basados en Rotaciones de Givens

Page 75: El Problema Lineal de Mínimos Cuadrados. …dis.um.es/~domingo/apuntes/CAP/0708/QRPar.pdf · En forma matricial 2 2 ... ∈ℜ Problema Lineal de Mínimos Cuadrados 2 1 2 1 2 2 0

Prestaciones de los algoritmos paralelos basados en Rotaciones de Givens