Sei sulla pagina 1di 295

Mtodos Numricos

Grado en Informtica
Tema 6: Anlisis Numrico Matricial II
Luis Alvarez Len

Univ. de Las Palmas de G.C.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

1 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores

Mtodo de Jacobi para calcular autovalores de matrices simtricas

Mtodo de la potencia para calcular el autovalor mximo

Mtodos iterativos de resolucin de sistemas de ecuaciones

Mtodo de Newton-Raphson para sistemas no-lineales

Condicionamiento de una matriz


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

2 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores

Mtodo de Jacobi para calcular autovalores de matrices simtricas

Mtodo de la potencia para calcular el autovalor mximo

Mtodos iterativos de resolucin de sistemas de ecuaciones

Mtodo de Newton-Raphson para sistemas no-lineales

Condicionamiento de una matriz


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

3 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores


distancia entre 2 puntos en el plano
Norma de vectores
Norma de una matriz
Producto Escalar
Base ortonormal de vectores
autovalores de una matriz

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

4 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

5 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano. La distancia Eucldea

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

6 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano. La distancia L1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

7 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano. La distancia L

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

8 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea =

(3 1)2 + (7 2)2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea =

(3 1)2 + (7 2)2

Distancia L1 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea =

(3 1)2 + (7 2)2

Distancia L1 = | 3 1 | + | 7 2 |

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea =

(3 1)2 + (7 2)2

Distancia L1 = | 3 1 | + | 7 2 |
Distancia L = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea =

(3 1)2 + (7 2)2

Distancia L1 = | 3 1 | + | 7 2 |
Distancia L = | 7 2 |

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea =

(3 1)2 + (7 2)2

Distancia L1 = | 3 1 | + | 7 2 |
Distancia L = | 7 2 |

Orden entre las distancias

?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Anlisis Numrico Matricial II


Distancia entre 2 puntos en el plano

Consideremos los puntos (1, 2) y (3, 7)


Distancia Eucldea =

(3 1)2 + (7 2)2

Distancia L1 = | 3 1 | + | 7 2 |
Distancia L = | 7 2 |

Orden entre las distancias


distancia L distancia Eucldea distancia L1
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

9 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores


distancia entre 2 puntos en el plano
Norma de vectores
Norma de una matriz
Producto Escalar
Base ortonormal de vectores
autovalores de una matriz

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

10 / 84

Anlisis Numrico Matricial II


Distancia y norma Lp

distancia Lp entre 2 puntos (x1 , x2 ) y (x10 , x20 )


distancia Lp = | x1 x10 |p + | x2 x20 |p

1/p

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

11 / 84

Anlisis Numrico Matricial II


Distancia y norma Lp

distancia Lp entre 2 puntos (x1 , x2 ) y (x10 , x20 )


distancia Lp = | x1 x10 |p + | x2 x20 |p

1/p

Norma Lp de un vector x = (x1 , x2 , .....xN ) y sus propiedades


k x kp =

P

N
p
i=1 |xi |

1/p

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

11 / 84

Anlisis Numrico Matricial II


Distancia y norma Lp

distancia Lp entre 2 puntos (x1 , x2 ) y (x10 , x20 )


distancia Lp = | x1 x10 |p + | x2 x20 |p

1/p

Norma Lp de un vector x = (x1 , x2 , .....xN ) y sus propiedades


k x kp =

P

N
p
i=1 |xi |

1/p

Propiedades
1

k x kp = 0 si y slo si x = 0
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

11 / 84

Anlisis Numrico Matricial II


Distancia y norma Lp

distancia Lp entre 2 puntos (x1 , x2 ) y (x10 , x20 )


distancia Lp = | x1 x10 |p + | x2 x20 |p

1/p

Norma Lp de un vector x = (x1 , x2 , .....xN ) y sus propiedades


k x kp =

P

N
p
i=1 |xi |

1/p

Propiedades
1

k x kp = 0 si y slo si x = 0

k x kp =| |k x kp

Luis Alvarez Len

para todo y x

Mtodos Numricos

ULPGCLogo

Univ. de Las Palmas de G.C.

11 / 84

Anlisis Numrico Matricial II


Distancia y norma Lp

distancia Lp entre 2 puntos (x1 , x2 ) y (x10 , x20 )


distancia Lp = | x1 x10 |p + | x2 x20 |p

1/p

Norma Lp de un vector x = (x1 , x2 , .....xN ) y sus propiedades


k x kp =

P

N
p
i=1 |xi |

1/p

Propiedades
1

k x kp = 0 si y slo si x = 0

k x kp =| |k x kp

k x + y kp k x kp + k y kp
Luis Alvarez Len

para todo y x

ULPGCLogo

para todo x, y

Mtodos Numricos

Univ. de Las Palmas de G.C.

11 / 84

Anlisis Numrico Matricial II


Lugar geomtrico de los puntos que verifican k x k2 1

Cual es el lugar geomtrico de los puntos que verifican


q
k x k2 = x12 + x22 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

12 / 84

Anlisis Numrico Matricial II


Lugar geomtrico de los puntos que verifican k x k2 1

Cual es el lugar geomtrico de los puntos que verifican


q
k x k2 = x12 + x22 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

12 / 84

Anlisis Numrico Matricial II


Lugar geomtrico de los puntos que verifican k x k1 1

Cual es el lugar geomtrico de los puntos que verifican


k x k1 =| x1 | + | x2 | 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

13 / 84

Anlisis Numrico Matricial II


Lugar geomtrico de los puntos que verifican k x k1 1

Cual es el lugar geomtrico de los puntos que verifican


k x k1 =| x1 | + | x2 | 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

13 / 84

Anlisis Numrico Matricial II


Lugar geomtrico de los puntos que verifican k x k 1

Cual es el lugar geomtrico de los puntos que verifican


k x k1 = max{| x1 |, | x2 |} 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

14 / 84

Anlisis Numrico Matricial II


Lugar geomtrico de los puntos que verifican k x k 1

Cual es el lugar geomtrico de los puntos que verifican


k x k1 = max{| x1 |, | x2 |} 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

14 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.
......
.
}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.

for(int k=0;k< ? ;k++){ norma+= ? }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.
double norma=0.;
.
for(int k=0;k< ? ;k++){ norma+= ? }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= ? }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= data_[k]*data_[k]; }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= data_[k]*data_[k]; }
.
return sqrt(norma);
.
}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= data_[k]*data_[k]; }
.
return sqrt(norma);
.
}
Si x es una instancia de la clase Array1D llamamos al mtodo
haciendo ?
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma Eucldea

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_euclidea(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= data_[k]*data_[k]; }
.
return sqrt(norma);
.
}
Si x es una instancia de la clase Array1D llamamos al mtodo
haciendo double norma=x.norma_euclidea();
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

15 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.
......
.
}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.

for(int k=0;k< ? ;k++){ norma+= ? }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.
double norma=0.;
.
for(int k=0;k< ? ;k++){ norma+= ? }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= ? }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= mn_abs(data_[k]); }

.
.

}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= mn_abs(data_[k]); }
.
return norma;
.
}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= mn_abs(data_[k]); }
.
return norma;
.
}
Si x es una instancia de la clase Array1D llamamos al mtodo
haciendo ?
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma 1

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_1(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){ norma+= mn_abs(data_[k]); }
.
return norma;
.
}
Si x es una instancia de la clase Array1D llamamos al mtodo
haciendo double norma=x.norma_1();
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

16 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){
.
......
.
}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){

for(int k=0;k< ? ;k++){


? }

Luis Alvarez Len

ULPGCLogo

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){
.
double norma=0.;
.
for(int k=0;k< ? ;k++){
.
? }

.
.

Luis Alvarez Len

ULPGCLogo

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){
.
? }

.
.

Luis Alvarez Len

ULPGCLogo

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){
.
if(norma<mn_abs(data_[k])) norma=mn_abs(data_[k]); }

.
.

Luis Alvarez Len

ULPGCLogo

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){
.
if(norma<mn_abs(data_[k])) norma=mn_abs(data_[k]); }
.
return norma;
.
}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){
.
if(norma<mn_abs(data_[k])) norma=mn_abs(data_[k]); }
.
return norma;
.
}
ULPGCLogo
Si x es una instancia de la clase Array1D llamamos al mtodo
haciendo ?
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Creacin de mtodos en la clase Array1D para calcular la norma infinito

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::norma_inf(){
.
double norma=0.;
.
for(int k=0;k< n_;k++){
.
if(norma<mn_abs(data_[k])) norma=mn_abs(data_[k]); }
.
return norma;
.
}
ULPGCLogo
Si x es una instancia de la clase Array1D llamamos al mtodo
haciendo double norma=x.norma_inf();
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

17 / 84

Anlisis Numrico Matricial II


Uso de la norma para calcular distancias

Sopongamos que tenemos 2 instancias x1 y x2 de la clase Array1D,


es decir
Array1D<real> x1;
Array1D<real> x2;
Para calcular la distancia Eucldea entre x1 y x2 usando el mtodo
para calcular la norma Eucldea que hemos creado podemos hacer :
real distancia_euclidea = ? ;

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

18 / 84

Anlisis Numrico Matricial II


Uso de la norma para calcular distancias

Sopongamos que tenemos 2 instancias x1 y x2 de la clase Array1D,


es decir
Array1D<real> x1;
Array1D<real> x2;
Para calcular la distancia Eucldea entre x1 y x2 usando el mtodo
para calcular la norma Eucldea que hemos creado podemos hacer :
real distancia_euclidea = (x1-x2).norma_euclidea();

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

18 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores


distancia entre 2 puntos en el plano
Norma de vectores
Norma de una matriz
Producto Escalar
Base ortonormal de vectores
autovalores de una matriz

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

19 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Sea A una matriz y sea k . k una norma vectorial. Se define la norma


de A, subordinada a la norma vectorial k . k como
k A k= supx6=0

kAxk
kxk

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

20 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Sea A una matriz y sea k . k una norma vectorial. Se define la norma


de A, subordinada a la norma vectorial k . k como
k A k= supx6=0

kAxk
kxk

Vamos, en primer lugar, a disear un cdigo en C++ bsico para


aproximar la norma Eucldea de una matriz a partir de esta definicin.
Para ello necesitamos un procedimiento para crear vectores
aleatorios, lo cual haremos creando un constructor especial de la
clase Array1D y despus implementaremos un procedimiento para
aproximar la norma de la matriz.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

20 / 84

Anlisis Numrico Matricial II


Creacin de mtodos para hacer un constructor de un array de tamao N y
coordenadas aleatorias en el intervalo [a,b].

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

21 / 84

Anlisis Numrico Matricial II


Creacin de mtodos para hacer un constructor de un array de tamao N y
coordenadas aleatorias en el intervalo [a,b].

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::Array1D(int N,T a, T b){
.
......
.
}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

21 / 84

Anlisis Numrico Matricial II


Creacin de mtodos para hacer un constructor de un array de tamao N y
coordenadas aleatorias en el intervalo [a,b].

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::Array1D(int N,T a, T b){

for(int k=0;k< ? ;k++){


data_[k]= ?
}

.
.
.
.

ULPGCLogo

}
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

21 / 84

Anlisis Numrico Matricial II


Creacin de mtodos para hacer un constructor de un array de tamao N y
coordenadas aleatorias en el intervalo [a,b].

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::Array1D(int N,T a, T b){
.
Array1D<T> aux(N);
.
*this=aux;
.
for(int k=0;k< ? ;k++){
.
data_[k]= ?
.
}
.
}
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

21 / 84

Anlisis Numrico Matricial II


Creacin de mtodos para hacer un constructor de un array de tamao N y
coordenadas aleatorias en el intervalo [a,b].

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::Array1D(int N,T a, T b){
.
Array1D<T> aux(N);
.
*this=aux;
.
for(int k=0;k< n_;k++){
.
data_[k]= ?
.
}
.
}
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

21 / 84

Anlisis Numrico Matricial II


Creacin de mtodos para hacer un constructor de un array de tamao N y
coordenadas aleatorias en el intervalo [a,b].

template <class T>


class Array1D{
.
private:
.
T* data_; // puntero al comienzo del array
.
int n_; //dimensin de array
.
....
.
public:
.
template <class T>
.
double Array1D<T>::Array1D(int N,T a, T b){
.
Array1D<T> aux(N);
.
*this=aux;
.
for(int k=0;k< n_;k++){
.
data_[k]= a+ (b-a)*rand()/RAND_MAX;
.
}
.
}
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

21 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

real norma_euclidea(Array2D<real> &A,int Niteraciones) {


.
real norma=0.;
.
for(int k=0;k<Niteraciones;k++){
.
Array1D<real> ? ;
.
real temp=?
.
if(? ){ ? }
.
}
.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

real norma_euclidea(Array2D<real> &A,int Niteraciones) {


.
real norma=0.;
.
for(int k=0;k<Niteraciones;k++){
.
Array1D<real> x(A.dim1(),(real) -1.,(real) 1.);
.
real temp=?
.
if(? ){ ? }
.
}
.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

real norma_euclidea(Array2D<real> &A,int Niteraciones) {


.
real norma=0.;
.
for(int k=0;k<Niteraciones;k++){
.
Array1D<real> x(A.dim1(),(real) -1.,(real) 1.);
.
real temp= (A*x).norma_euclidea()/x.norma_euclidea();
.
if(? ){ ? }
.
}
.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

real norma_euclidea(Array2D<real> &A,int Niteraciones) {


.
real norma=0.;
.
for(int k=0;k<Niteraciones;k++){
.
Array1D<real> x(A.dim1(),(real) -1.,(real) 1.);
.
real temp= (A*x).norma_euclidea()/x.norma_euclidea();
.
if( temp>norma){ ? }
.
}
.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

real norma_euclidea(Array2D<real> &A,int Niteraciones) {


.
real norma=0.;
.
for(int k=0;k<Niteraciones;k++){
.
Array1D<real> x(A.dim1(),(real) -1.,(real) 1.);
.
real temp= (A*x).norma_euclidea()/x.norma_euclidea();
.
if( temp>norma){ norma=temp; }
.
}
.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

real norma_euclidea(Array2D<real> &A,int Niteraciones) {


.
real norma=0.;
.
for(int k=0;k<Niteraciones;k++){
.
Array1D<real> x(A.dim1(),(real) -1.,(real) 1.);
.
real temp= (A*x).norma_euclidea()/x.norma_euclidea();
.
if( temp>norma){ norma=temp; }
.
}
.
return norma;
}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Cdigo C++ Clculo de la norma Eucldea de una matriz

k A k= supx6=0

kAxk
kxk

real norma_euclidea(Array2D<real> &A,int Niteraciones) {


.
real norma=0.;
.
for(int k=0;k<Niteraciones;k++){
.
Array1D<real> x(A.dim1(),(real) -1.,(real) 1.);
.
real temp= (A*x).norma_euclidea()/x.norma_euclidea();
.
if( temp>norma){ norma=temp; }
.
}
.
return norma;
}
Este procedimiento nos da una aproximacin (no el valor exacto).
Adems, en la prctica, especialmente si la dimensin de la matriz es
grande, habra que hacer un nmero de iteraciones gigantesco para
ULPGCLogo
estar seguros de que nos acercamos al valor real.
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

22 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos


0
kxk
||kxk


0 = sup kxk = sup kxk = ||
x6=0
x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos



2 0
(2x1 )2 +x22

= sup
=?
0 1
x12 +x22
x6=0
2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos



2 0
(2x1 )2 +x22
(21)2 +02

= sup
= 2 2 =2
2 +x 2
0 1
x
1 +0
1
2
x6=0
2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos



2 0
(2x1 )2 +x22
(21)2 +02

= sup
= 2 2 =2
2 +x 2
0 1
x
1 +0
1
2
x6=0
2


2 0
|2x1 |+|x2 |


0 1 = sup |x1 |+|x2 | = ?
1

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos



2 0
(2x1 )2 +x22
(21)2 +02

= sup
= 2 2 =2
2 +x 2
0 1
x
1 +0
1
2
x6=0
2


2 0
|2x1 |+|x2 |
|21|+|0|


0 1 = sup |x1 |+|x2 | = |1|+|0| = 2
1

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos



2 0
(2x1 )2 +x22
(21)2 +02

= sup
= 2 2 =2
2 +x 2
0 1
x
1 +0
1
2
x6=0
2


2 0
|2x1 |+|x2 |
|21|+|0|


0 1 = sup |x1 |+|x2 | = |1|+|0| = 2
x6=0
1


2 0
max{|2x1 |,|x2 |}


0 1 = sup max{|x1 |,|x2 |} = ?

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos



2 0
(2x1 )2 +x22
(21)2 +02

= sup
= 2 2 =2
2 +x 2
0 1
x
1 +0
1
2
x6=0
2


2 0
|2x1 |+|x2 |
|21|+|0|


0 1 = sup |x1 |+|x2 | = |1|+|0| = 2
x6=0
1


2 0
max{|21|,|0|}
max{|2x1 |,|x2 |}


0 1 = sup max{|x1 |,|x2 |} = max{|1|,|0|} = 2

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos


2
1 0
2
1 +(x1 +x2 )

= sup x
=?
2 +x 2
1 1
x
1
2
x6=0
2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos


2

1 0
2
(1+ 5)2 +(1+ 5+2)2
1 +(x1 +x2 )

= sup x

=
= 1. 618

1 1
x12 +x22
(1+ 5)2 +(2)2
x6=0
2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos


2

1 0
2
(1+ 5)2 +(1+ 5+2)2
1 +(x1 +x2 )

= sup x

=
= 1. 618

1 1
x12 +x22
(1+ 5)2 +(2)2
x6=0
2


1 0
|x1 |+|x1 +x2 |


1 1 = sup |x1 |+|x2 | = ?
1

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos


2

1 0
2
(1+ 5)2 +(1+ 5+2)2
1 +(x1 +x2 )

= sup x

=
= 1. 618

1 1
x12 +x22
(1+ 5)2 +(2)2
x6=0
2


1 0
|x1 |+|x1 +x2 |
|1+|1+0|


1 1 = sup |x1 |+|x2 | = |1|+|0| = 2
1

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos


2

1 0
2
(1+ 5)2 +(1+ 5+2)2
1 +(x1 +x2 )

= sup x

=
= 1. 618

1 1
x12 +x22
(1+ 5)2 +(2)2
x6=0
2


1 0
|x1 |+|x1 +x2 |
|1+|1+0|


1 1 = sup |x1 |+|x2 | = |1|+|0| = 2
x6=0
1


1 0
max{|x1 |,|x1 +x2 |}


1 1 = sup max{|x1 |,|x2 |} = ?

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Norma de una matriz

Veamos ahora como se puede calcular la norma de una matriz


matemticamente sin necesidad de realizar un procedimiento
aleatorio.
k A k= supx6=0

kAxk
kxk

Ejemplos


2

1 0
2
(1+ 5)2 +(1+ 5+2)2
1 +(x1 +x2 )

= sup x

=
= 1. 618

1 1
x12 +x22
(1+ 5)2 +(2)2
x6=0
2


1 0
|x1 |+|x1 +x2 |
|1+|1+0|


1 1 = sup |x1 |+|x2 | = |1|+|0| = 2
x6=0
1


1 0
max{|1|,|1+1|}
max{|x1 |,|x1 +x2 |}


1 1 = sup max{|x1 |,|x2 |} = max{|1|,|1|} = 2

x6=0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

23 / 84

Anlisis Numrico Matricial II


Clculo de las normas de una matriz

Teorema
Sea A una matriz cualquiera, entonces
p
k A k2 = mximo de los autovalores de t AA

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

24 / 84

Anlisis Numrico Matricial II


Clculo de las normas de una matriz

Teorema
Sea A una matriz cualquiera, entonces
p
k A k2 = mximo de los autovalores de t AA

P
k A k1 = maxj
i | aij |

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

24 / 84

Anlisis Numrico Matricial II


Clculo de las normas de una matriz

Teorema
Sea A una matriz cualquiera, entonces
p
k A k2 = mximo de los autovalores de t AA

P
k A k1 = maxj
i | aij |
P

k A k = maxi
|
a
|
ij
j

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

24 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2
Solucin: para calcular k A k2 , calculamos primero los autovalores de


 

la matriz
1 1
1 0
2 2
=
0 2
1 2
2 4
que se calculan usando el polinomio caracterstico

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2
Solucin: para calcular k A k2 , calculamos primero los autovalores de


 

la matriz
1 1
1 0
2 2
=
0 2
1 2
2 4
que se calculan usando el polinomio caracterstico


2
2

= 2 6 + 4
2
4
p

cuyas races son 3 5. Por tanto k A k2 = 3 + 5.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2
Solucin: para calcular k A k2 , calculamos primero los autovalores de


 

la matriz
1 1
1 0
2 2
=
0 2
1 2
2 4
que se calculan usando el polinomio caracterstico


2
2

= 2 6 + 4
2
4
p

cuyas races son 3 5. Por tanto k A k2 = 3 + 5. Por otro lado

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2
Solucin: para calcular k A k2 , calculamos primero los autovalores de


 

la matriz
1 1
1 0
2 2
=
0 2
1 2
2 4
que se calculan usando el polinomio caracterstico


2
2

= 2 6 + 4
2
4
p

cuyas races son 3 5. Por tanto k A k2 = 3 + 5. Por otro lado



P
k A k1 = maxj
i | aij | = ?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2
Solucin: para calcular k A k2 , calculamos primero los autovalores de


 

la matriz
1 1
1 0
2 2
=
0 2
1 2
2 4
que se calculan usando el polinomio caracterstico


2
2

= 2 6 + 4
2
4
p

cuyas races son 3 5. Por tanto k A k2 = 3 + 5. Por otro lado



P
k A k1 = maxj
i | aij | = 2
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2
Solucin: para calcular k A k2 , calculamos primero los autovalores de


 

la matriz
1 1
1 0
2 2
=
0 2
1 2
2 4
que se calculan usando el polinomio caracterstico


2
2

= 2 6 + 4
2
4
p

cuyas races son 3 5. Por tanto k A k2 = 3 + 5. Por otro lado



P
k A k1 = maxj  i | aij | = 2
P
k A k = maxi
j | aij | = ?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Ejemplo clculo normas matrices


Ejemplo: Calcular las normas 2, 1 e infinito de la matriz


1 0
A=
1 2
Solucin: para calcular k A k2 , calculamos primero los autovalores de


 

la matriz
1 1
1 0
2 2
=
0 2
1 2
2 4
que se calculan usando el polinomio caracterstico


2
2

= 2 6 + 4
2
4
p

cuyas races son 3 5. Por tanto k A k2 = 3 + 5. Por otro lado



P
k A k1 = maxj  i | aij | = 2
P
k A k = maxi
j | aij | = 3
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

25 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores


distancia entre 2 puntos en el plano
Norma de vectores
Norma de una matriz
Producto Escalar
Base ortonormal de vectores
autovalores de una matriz

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

26 / 84

Anlisis Numrico Matricial II


Producto escalar de 2 vectores

DEFINICION: Producto escalar de 2 vectores


(xi , xj ) =

N
X

(xi )k xj


k

k =1

donde (xi )k indica la coordenada k -sima del vector xi .

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

27 / 84

Anlisis Numrico Matricial II


Producto escalar de 2 vectores

DEFINICION: Producto escalar de 2 vectores


(xi , xj ) =

N
X

(xi )k xj


k

k =1

donde (xi )k indica la coordenada k -sima del vector xi .


Ejemplo: Sean x1 = (1, 2, 3)T y x2 = (9, 8, 5)T , entonces :
(x1 , x2 ) = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

27 / 84

Anlisis Numrico Matricial II


Producto escalar de 2 vectores

DEFINICION: Producto escalar de 2 vectores


(xi , xj ) =

N
X

(xi )k xj


k

k =1

donde (xi )k indica la coordenada k -sima del vector xi .


Ejemplo: Sean x1 = (1, 2, 3)T y x2 = (9, 8, 5)T , entonces :
(x1 , x2 ) = 1 9 + 2 8 3 5 = 10

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

27 / 84

Anlisis Numrico Matricial II


Producto escalar de 2 vectores

DEFINICION: Producto escalar de 2 vectores


(xi , xj ) =

N
X

(xi )k xj


k

k =1

donde (xi )k indica la coordenada k -sima del vector xi .


Ejemplo: Sean x1 = (1, 2, 3)T y x2 = (9, 8, 5)T , entonces :
(x1 , x2 ) = 1 9 + 2 8 3 5 = 10
Propiedad importante: k x k2 = ?

Luis Alvarez Len

Mtodos Numricos

ULPGCLogo

Univ. de Las Palmas de G.C.

27 / 84

Anlisis Numrico Matricial II


Producto escalar de 2 vectores

DEFINICION: Producto escalar de 2 vectores


(xi , xj ) =

N
X

(xi )k xj


k

k =1

donde (xi )k indica la coordenada k -sima del vector xi .


Ejemplo: Sean x1 = (1, 2, 3)T y x2 = (9, 8, 5)T , entonces :
(x1 , x2 ) = 1 9 + 2 8 3 5 = 10
Propiedad importante: k x k2 =

Luis Alvarez Len

p
(x, x)

Mtodos Numricos

ULPGCLogo

Univ. de Las Palmas de G.C.

27 / 84

Anlisis Numrico Matricial II


Normalizar vectores

Normalizar vectores
Dado un vector x normalizarlo respecto a la norma k . k consiste en dividir
el vector por su norma, es decir, hacer
x
kx k
La norma de un vector normalizado es 1.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

28 / 84

Anlisis Numrico Matricial II


Normalizar vectores

Normalizar vectores
Dado un vector x normalizarlo respecto a la norma k . k consiste en dividir
el vector por su norma, es decir, hacer
x
kx k
La norma de un vector normalizado es 1.
Ejemplo:Sea x = (1, 2, 3)T , normalizar el vector depende de la norma
considerada y consiste en hacer :
x
=?
k x k2

x
=?
k x k1

x
=?
k x k
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

28 / 84

Anlisis Numrico Matricial II


Normalizar vectores

Normalizar vectores
Dado un vector x normalizarlo respecto a la norma k . k consiste en dividir
el vector por su norma, es decir, hacer
x
kx k
La norma de un vector normalizado es 1.
Ejemplo:Sea x = (1, 2, 3)T , normalizar el vector depende de la norma
considerada y consiste en hacer :

1/14
x
= 2/
14
k x k2
3/ 14

x
=?
k x k1

x
=?
k x k
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

28 / 84

Anlisis Numrico Matricial II


Normalizar vectores

Normalizar vectores
Dado un vector x normalizarlo respecto a la norma k . k consiste en dividir
el vector por su norma, es decir, hacer
x
kx k
La norma de un vector normalizado es 1.
Ejemplo:Sea x = (1, 2, 3)T , normalizar el vector depende de la norma
considerada y consiste en hacer :

1/14
x
= 2/
14
k x k2
3/ 14

1/6
x
= 2/6
k x k1
3/6

x
=?
k x k
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

28 / 84

Anlisis Numrico Matricial II


Normalizar vectores

Normalizar vectores
Dado un vector x normalizarlo respecto a la norma k . k consiste en dividir
el vector por su norma, es decir, hacer
x
kx k
La norma de un vector normalizado es 1.
Ejemplo:Sea x = (1, 2, 3)T , normalizar el vector depende de la norma
considerada y consiste en hacer :

1/14
x
= 2/
14
k x k2
3/ 14

Luis Alvarez Len

1/6
x
= 2/6
k x k1
3/6

Mtodos Numricos

1/3
x
= 2/3
k x k
3/3

Univ. de Las Palmas de G.C.

ULPGCLogo

28 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores


distancia entre 2 puntos en el plano
Norma de vectores
Norma de una matriz
Producto Escalar
Base ortonormal de vectores
autovalores de una matriz

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

29 / 84

Anlisis Numrico Matricial II


Base ortonormal de vectores

DEFINICION: Base ortonormal de vectores


Una base ortornormal de vectores de R N son N vectores x1 , ....xN
normalizados y tal que el producto escalar entre todos ellos es 0 (es decir los
vectores son ? entre s).

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

30 / 84

Anlisis Numrico Matricial II


Base ortonormal de vectores

DEFINICION: Base ortonormal de vectores


Una base ortornormal de vectores de R N son N vectores x1 , ....xN
normalizados y tal que el producto escalar entre todos ellos es 0 (es decir los
vectores son perpendiculares entre s).

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

30 / 84

Anlisis Numrico Matricial II


Base ortonormal de vectores

DEFINICION: Base ortonormal de vectores


Una base ortornormal de vectores de R N son N vectores x1 , ....xN
normalizados y tal que el producto escalar entre todos ellos es 0 (es decir los
vectores son perpendiculares entre s).
Ejemplo: los vectores columna de las siguientes matrices forman una base
ortonormal de vectores


1/ 2 1/3
1/
cos()
sin() 0
1 0 0
6
0 1 0 0
3
2/6 sin() cos() 0
1/
0
0
1
0 0 1
1/ 2 1/ 3 1/ 6

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

30 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores


distancia entre 2 puntos en el plano
Norma de vectores
Norma de una matriz
Producto Escalar
Base ortonormal de vectores
autovalores de una matriz

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

31 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz

Definicin
Un autovalor de A es un nmero real tal que existe un vector x,
denominado autovector, tal que
Ax = x

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

32 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz

Definicin
Un autovalor de A es un nmero real tal que existe un vector x,
denominado autovector, tal que
Ax = x

Definicin
Se denomina polinomio caracterstico P() de la matriz A, al polinomio
dado por el determinante
P() =| A I |
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

32 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz

Problema
Calcular los autovectores de la matriz

1 1 0
1 1 0
0 0 2
y determinar una base ortonormal de R 3 de autovectores de A.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

33 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz

Problema
Calcular los autovectores de la matriz

1 1 0
1 1 0
0 0 2
y determinar una base ortonormal de R 3 de autovectores de A.
Solucin: tenemos que calcular los ceros del polinomio caracterstico ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

33 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz

Problema
Calcular los autovectores de la matriz

1 1 0
1 1 0
0 0 2
y determinar una base ortonormal de R 3 de autovectores de A.
Solucin: tenemos que calcular los ceros del polinomio caracterstico
|A i Id| = 0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

33 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz

Problema
Calcular los autovectores de la matriz

1 1 0
1 1 0
0 0 2
y determinar una base ortonormal de R 3 de autovectores de A.
Solucin: tenemos que calcular los ceros del polinomio caracterstico
|A i Id| = 0

1
1
0

1
1

0

0
0
2




= ((1 )2 1)(2 ) = 0


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

33 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz

Problema
Calcular los autovectores de la matriz

1 1 0
1 1 0
0 0 2
y determinar una base ortonormal de R 3 de autovectores de A.
Solucin: tenemos que calcular los ceros del polinomio caracterstico
|A i Id| = 0

1
1
0

1
1

0

0
0
2




= ((1 )2 1)(2 ) = 0


ULPGCLogo

de donde obtenemos 1 = 0, 2 = 2 y 3 = 2
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

33 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :
1 = 0

1 1 0
x1
0
x1 = x2
1 1 0 x2 = 0
x1 = ?

x3 = 0
x3
0
0 0 2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :
1 = 0
1

0
1 1 0
x1
x1 = x2
12
1 1 0 x2 = 0
x1 =

x3
0
x3 = 0
0 0 2
0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :
1 = 0
1

0
1 1 0
x1
x1 = x2
12
1 1 0 x2 = 0
x1 =

x3
0
x3 = 0
0 0 2
0
2 , 3 = 2


0
1 1 0
x1
1 1 0 x2 = 0
x3
0
0 0
0

x2 = ?, x3 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :
1 = 0
1

0
1 1 0
x1
x1 = x2
12
1 1 0 x2 = 0
x1 =

x3
0
x3 = 0
0 0 2
0
2 , 3 = 2


0
1 1 0
x1
x1 = x2
1 1 0 x2 = 0

x3
x3 libre
0
0 0
0

x2 = ?, x3 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :
1 = 0
1

0
1 1 0
x1
x1 = x2
12
1 1 0 x2 = 0
x1 =

x3
0
x3 = 0
0 0 2
0
2 , 3 = 2


0
1 1 0
x1
x1 = x2
1 1 0 x2 = 0

x3 libre
x3
0
0 0
0

x2 =

1
2
1
2


, x3 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :
1 = 0
1

0
1 1 0
x1
x1 = x2
12
1 1 0 x2 = 0
x1 =

x3
0
x3 = 0
0 0 2
0
2 , 3 = 2


0
1 1 0
x1
x1 = x2
1 1 0 x2 = 0

x3 libre
x3
0
0 0
0

x2 =

1
2
1
2


0

, x3 = 0
1
0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de una matriz
Calculamos los autovectores de A :
1 = 0
1

0
1 1 0
x1
x1 = x2
12
1 1 0 x2 = 0
x1 =

x3
0
x3 = 0
0 0 2
0
2 , 3 = 2


0
1 1 0
x1
x1 = x2
1 1 0 x2 = 0

x3 libre
x3
0
0 0
0

x2 =

1
2
1
2


0

, x3 = 0
1
0

La matriz,

B=

1
2
1

1
2
1
2

0
1
ULPGCLogo

contiene los autovectores de A que forman una base ortonormal de R 3 .


Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

34 / 84

Anlisis Numrico Matricial II


Autovalores de matrices simtricas

Teorema
Todas las matrices simtricas poseen una base ortonormal de
autovectores.
Por tanto, poseen tantos autovalores como dimensin tenga la matriz
(aunque alguno de los autovalores puede salir repetido)

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

35 / 84

Anlisis Numrico Matricial II


Autovalores de matrices simtricas

Teorema
Todas las matrices simtricas poseen una base ortonormal de
autovectores.
Por tanto, poseen tantos autovalores como dimensin tenga la matriz
(aunque alguno de los autovalores puede salir repetido)

No todas las matrices poseen una base de autovectores.



A=

1 0
1 1

tiene como autovalor = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

35 / 84

Anlisis Numrico Matricial II


Autovalores de matrices simtricas

Teorema
Todas las matrices simtricas poseen una base ortonormal de
autovectores.
Por tanto, poseen tantos autovalores como dimensin tenga la matriz
(aunque alguno de los autovalores puede salir repetido)

No todas las matrices poseen una base de autovectores.



A=

1 0
1 1


tiene como autovalor = 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

35 / 84

Anlisis Numrico Matricial II


Autovalores de matrices simtricas

Teorema
Todas las matrices simtricas poseen una base ortonormal de
autovectores.
Por tanto, poseen tantos autovalores como dimensin tenga la matriz
(aunque alguno de los autovalores puede salir repetido)

No todas las matrices poseen una base de autovectores.



A=

1 0
1 1


tiene como autovalor = 1

y tiene como autovector ?


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

35 / 84

Anlisis Numrico Matricial II


Autovalores de matrices simtricas

Teorema
Todas las matrices simtricas poseen una base ortonormal de
autovectores.
Por tanto, poseen tantos autovalores como dimensin tenga la matriz
(aunque alguno de los autovalores puede salir repetido)

No todas las matrices poseen una base de autovectores.



A=

1 0
1 1


tiene como autovalor = 1

y tiene como autovector x = (0, 1)T


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

35 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores

Mtodo de Jacobi para calcular autovalores de matrices simtricas

Mtodo de la potencia para calcular el autovalor mximo

Mtodos iterativos de resolucin de sistemas de ecuaciones

Mtodo de Newton-Raphson para sistemas no-lineales

Condicionamiento de una matriz


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

36 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Este mtodo se basa en que, dadas dos matrices A y R, se verifica


que los autovalores de A son los mismos que los autovalores de
R 1 AR. :
R 1 ARx = x

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

37 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Este mtodo se basa en que, dadas dos matrices A y R, se verifica


que los autovalores de A son los mismos que los autovalores de
R 1 AR. :
R 1 ARx = x

ARx = Rx

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

37 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Este mtodo se basa en que, dadas dos matrices A y R, se verifica


que los autovalores de A son los mismos que los autovalores de
R 1 AR. :

es autovalor de A
R 1 ARx = x ARx = Rx
para el autovector Rx

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

37 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Este mtodo se basa en que, dadas dos matrices A y R, se verifica


que los autovalores de A son los mismos que los autovalores de
R 1 AR. :

es autovalor de A
R 1 ARx = x ARx = Rx
para el autovector Rx
Las matrices R que se van a utilizar son matrices de rotacin :


cos sin
R=
R 1 =?
sin cos

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

37 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Este mtodo se basa en que, dadas dos matrices A y R, se verifica


que los autovalores de A son los mismos que los autovalores de
R 1 AR. :

es autovalor de A
R 1 ARx = x ARx = Rx
para el autovector Rx
Las matrices R que se van a utilizar son matrices de rotacin :




cos sin
cos sin
1
R=
R =
sin cos
sin cos

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

37 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Este mtodo se basa en que, dadas dos matrices A y R, se verifica


que los autovalores de A son los mismos que los autovalores de
R 1 AR. :

es autovalor de A
R 1 ARx = x ARx = Rx
para el autovector Rx
Las matrices R que se van a utilizar son matrices de rotacin :




cos sin
cos sin
1
R=
R =
sin cos
sin cos
En 3 variables las matrices de rotacin respecto a cada eje son

cos
sin 0
cos
0 sin
1 0
0
sin cos 0 0
0 cos
1 0
sinULPGCLogo

0
0
1
sin 0 cos
0 sin cos
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

37 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
a0,1 a1,1
sin cos
sin cos

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1

tan(2) = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1


tan(2) =

2
0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1


tan(2) =

2
0

=?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1


tan(2) =

2
0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1


tan(2) =

2
0

R 1 AR =

0 0
0 2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1


tan(2) =

2
0

R 1 AR =

0 0
0 2

Por tanto los autovalores y autovectores de A son :


1 =

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1


tan(2) =

2
0

R 1 AR =

0 0
0 2

Por tanto los autovalores y autovectores de A son :



1 = 0 x = R
Luis Alvarez Len

1
0


=



2/2
2/2

ULPGCLogo

2 =

Mtodos Numricos

Univ. de Las Palmas de G.C.

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
El objetivo del mtodo es convertir A en una matriz diagonal.




cos sin
a0,0 a0,1
cos sin
R 1 AR =
=
a0,1 a1,1
sin cos
sin cos



a0,0 cos2 a0,1 sin 2 + a1,1 sin2 a0,1 cos 2 21 a1,1 12 a0,0 sin 2

a0,1 cos 2 12 a1,1 21 a0,0 sin 2 a0,0 cos2 a0,1 sin 2 + a1,1 sin2
lo que nos lleva a la condicin :

tan(2) =

2a0,1
a1,1 a0,0

Ejemplo

A=

1 1
1 1


tan(2) =

2
0

R 1 AR =

0 0
0 2

Por tanto los autovalores y autovectores de A son :



1 = 0 x = R
Luis Alvarez Len

1
0


=



2/2
2/2


2 = 2 x = R

Mtodos Numricos

0
1


=



2/2
2/2

Univ. de Las Palmas de G.C.

ULPGCLogo

38 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Ejemplo

1 1 2
1 2 1
2 1 5

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

39 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Ejemplo

1 1 2
? 1 2 1 ?
2 1 5

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

39 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Ejemplo

cos 0 sin
1 1 2
cos 0 sin
0
1 2 1
1
0
0
1
0
sin 0 cos
2 1 5
sin 0 cos

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

39 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Ejemplo

cos 0 sin
1 1 2
cos 0 sin
0
1 2 1
1
0
0
1
0
sin 0 cos
2 1 5
sin 0 cos
tan(2) =

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

39 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Ejemplo

cos 0 sin
1 1 2
cos 0 sin
0
1 2 1
1
0
0
1
0
sin 0 cos
2 1 5
sin 0 cos
tan(2) =

2a0,2
4
= =1 =
a2,2 a0,0
4

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

39 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Ejemplo

cos 0 sin
1 1 2
cos 0 sin
0
1 2 1
1
0
0
1
0
sin 0 cos
2 1 5
sin 0 cos
tan(2) =

2a0,2
4

= =1 =
a2,2 a0,0
4
8

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

39 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas

Ejemplo

cos 0 sin
1 1 2
cos 0 sin
0
1 2 1
1
0
0
1
0
sin 0 cos
2 1 5
sin 0 cos
tan(2) =

cos 8
0
sin 8

2a0,2
4

= =1 =
a2,2 a0,0
4
8

1
0 sin 8
1
1
0
2
0 cos 8

0,17
0,54
0,0

1 2
cos 8
2 1
0
1 5
sin 8

0,54
0
2,0
1,30
1. 30 5,82

0 sin 8
1
0 =
0 cos 8

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

39 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
Iteracin 2 :

0,17 0,54
0
0,54
2,0
1,30
0,0
1. 30 5,82

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

40 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
Iteracin 2 :

0,17 0,54
0
? 0,54 2,0 1,30 ?
0,0
1. 30 5,82

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

40 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
Iteracin 2 :

1
0
0
0,17 0,54
0
1
0
0
0 cos sin 0,54
2,0
1,30 0 cos sin
0 sin cos
0,0
1. 30 5,82
0 sin cos

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

40 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
Iteracin 2 :

1
0
0
0,17 0,54
0
1
0
0
0 cos sin 0,54
2,0
1,30 0 cos sin
0 sin cos
0,0
1. 30 5,82
0 sin cos
tan(2) =

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

40 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
Iteracin 2 :

1
0
0
0,17 0,54
0
1
0
0
0 cos sin 0,54
2,0
1,30 0 cos sin
0 sin cos
0,0
1. 30 5,82
0 sin cos
tan(2) =

2a32
2 (1,30)
=
= 0,68 =
a33 a22
5,82 2,0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

40 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
Iteracin 2 :

1
0
0
0,17 0,54
0
1
0
0
0 cos sin 0,54
2,0
1,30 0 cos sin
0 sin cos
0,0
1. 30 5,82
0 sin cos
tan(2) =

2a32
2 (1,30)
arctan(0,68)
=
= 0,68 =
= 0,3
a33 a22
5,82 2,0
2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

40 / 84

Anlisis Numrico Matricial II


Mtodo de Jacobi para calcular autovalores de matrices simtricas
Iteracin 2 :

1
0
0
0,17 0,54
0
1
0
0
0 cos sin 0,54
2,0
1,30 0 cos sin
0 sin cos
0,0
1. 30 5,82
0 sin cos
2a32
2 (1,30)
arctan(0,68)
=
= 0,68 =
= 0,3
a33 a22
5,82 2,0
2

1
0
0
0,17 0,54
0
1
0
0
0 cos sin 0,54
2,0
1,30 0 cos sin =
0 sin cos
0,0
1. 30 5,82
0 sin cos

0,17 0,51 0,15


0,51 1,59
0
0,15
0
6,23
tan(2) =

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

40 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores. Clculo de los
autovectores

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

41 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores. Clculo de los
autovectores

R11 AR1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

41 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores. Clculo de los
autovectores

R21 R11 AR1 R2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

41 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores. Clculo de los
autovectores

RN1 ...R21 R11 AR1 R2 ...RN

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

41 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores. Clculo de los
autovectores

RN1 ...R21 R11 AR1 R2 ...RN


Si llamamos R = R1 R2 ...RN entonces si R 1 AR es diagonal se tiene
que los autovectores de A son :
x1 = R ? x2 = R ?

.... xN = R ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

41 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores. Clculo de los
autovectores

RN1 ...R21 R11 AR1 R2 ...RN


Si llamamos R = R1 R2 ...RN entonces si R 1 AR es diagonal se tiene
que los autovectores de A son :



1
0
0
0
1
0



x1 = R
. x2 = R . .... xN = R .
0
0
1
Es decir, los autovectores de A son los vectores columna de R
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

41 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores y autovectores

la matriz R() que se necesita utilizar para hacer 0 el elemento ap,q se


calcula tomando


2 ap,q
= 0.5 atan
aq,q ap,p
y construyendo la matriz

1
0
R() =
0
0

0
cos
0
sin

0
0
1
0

0
sin
p

0
cos
q

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

42 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores y autovectores

la matriz R() que se necesita utilizar para hacer 0 el elemento ap,q se


calcula tomando


2 ap,q
= 0.5 atan
aq,q ap,p
y construyendo la matriz

1
0
R() =
0
0

0
cos
0
sin

0
0
1
0

0
sin
p

0
cos
q

es decir R() puede interpretarse como una modificacin de la matriz


identidad donde en las posiciones (p, p) y (q, q) ponemos cos(), en
la posicin (p, q) sin() y en la posicin (q, p) sin().
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

42 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores y autovectores

Resumen del algoritmo


Inicializamos la matriz de autovectores R = Id
Para iter=0 hasta NmaxIter
Calcular p, q tal que |ap,q | = maxj>i {|ai,j |}
Si |ap,q | < TOL el algoritmo termina correctamente. Los autovalores
estn en la diagonal de A y los autovectores en la matriz R


2ap,q
Calcular = 0.5 atan aq,q a
p,p
Actualizar R haciendo R = R R()
Actualizar la matriz A haciendo A = R()t A R()
Fin Para
Se ha excedido el nmero de iteraciones.
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

43 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores y autovectores

En cada iteracin del mtodo de Jacobi tenemos que hacer la


actualizacin R = R R() para hacerla rpidamente tenemos en
cuenta que que esta operacin solo modifica las columnas p y q de R
de la siguiente manera :
columna p : rk ,p = cos()rk ,p sin()rk ,q

k = 0, .., N 1

columna q : rk ,q = cos()rk ,q + sin()rk ,p

k = 0, .., N 1

Nota: al implementar estas frmulas hay que tener cuidado al


actualizar para evitar usar valores rk ,p ya actualizados previamente.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

44 / 84

Anlisis Numrico Matricial II


Algoritmo del Mtodo de Jacobi para el Clculo de autovalores y autovectores

Tambin podemos tener en cuenta que la operacin


A = R()t A R() solo modifica las columnas y filas p y q de A de la
siguiente manera :
fila y columna p :
ak ,p = ap,k = cos()ap,k sin()aq,k

k 6= p, q

fila y columna q :
ak ,q = aq,k = cos()aq,k + sin()ap,k

k 6= p, q

ap,p = cos()(cos()ap,p sin()aq,p )sin()(cos()ap,q sin()aq,q )


aq,q = cos()(cos()aq,q +sin()ap,q )+sin()(cos()aq,p +sin()ap,p )
ap,q = aq,p = 0
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

45 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores

Mtodo de Jacobi para calcular autovalores de matrices simtricas

Mtodo de la potencia para calcular el autovalor mximo

Mtodos iterativos de resolucin de sistemas de ecuaciones

Mtodo de Newton-Raphson para sistemas no-lineales

Condicionamiento de una matriz


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

46 / 84

Contenido
3

Mtodo de la potencia para calcular el autovalor mximo


Mtodo de la potencia para calcular el autovalor mximo
Mtodo de la potencia inversa para calcular el autovalor mnimo
Mtodo de la potencia inversa para calcular el autovalor ms
cercano a un nmero
Algoritmo general para calcular los autovectores de una matriz
cualquiera

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

47 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia para calcular el autovalor mximo

Consideremos la matriz

1 0
1 3


max = 3,

xmax =

0
1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

48 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia para calcular el autovalor mximo



1 0
max = 3,
1 3
vamos a hacer iteraciones del esquema
Consideremos la matriz

un =

Au n1
k u n1 k


xmax =

partiendo de u 0 =

0
1

1
1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

48 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia para calcular el autovalor mximo



1 0
max = 3,
1 3
vamos a hacer iteraciones del esquema

Consideremos la matriz

un =

u1 =

Au 0
ku 0 k

u2

Au 1
ku 1 k

Au 2
ku 2 k

u3

1
4

1/4
13/4

=

=

k u 1 k = 4

Au n1
k u n1 k

xmax =

partiendo de u 0 =

0
1

1
1

k u 1 k = 4


1/13
40/13

k u 2 k =

13
4

k u 3 k =

k u 2 k = 3, 25

= 3,25

40
13

= 3,07

k u 3 k = 3,07

3
ULPGCLogo

u1
ku 1 k


=

1/4
1

Luis Alvarez Len

u2
ku 2 k


=

1/13
1

u3
ku 3 k


=

Mtodos Numricos

1/40
1

0
1

Univ. de Las Palmas de G.C.

48 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia para calcular el autovalor mayor

Si cambiamos el signo a la matriz

1 0
1 3


max = 3,

xmax =

0
1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

49 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia para calcular el autovalor mayor


1 0
1 3
vamos a hacer iteraciones del esquema
Si cambiamos el signo a la matriz

un =

Au n1
k u n1 k


max = 3,

partiendo de u 0 =

xmax =

1
1

0
1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

49 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia para calcular el autovalor mayor


1 0
1 3
vamos a hacer iteraciones del esquema

un =

u1 =

Au 0
ku 0 k

u2

Au 1
ku 1 k

Au 2
ku 2 k

u3

1
4

1/4
13/4

=

=

k u 1 k = 4

Au n1
k u n1 k


max = 3,

Si cambiamos el signo a la matriz

xmax =

1
1

1/40
1

partiendo de u 0 =

0
1

0
1

k u 1 k = 4


1/13
40/13

k u 2 k =


13
4

k u 3 k =

k u 2 k = 3, 25

= 3,25

40
13

= 3,07

k u 3 k = 3,07

3
ULPGCLogo

u1
ku 1 k


=

1/4
1

Luis Alvarez Len

u2
ku 2 k


=

1/13
1

u3
ku 3 k


=

Mtodos Numricos

Univ. de Las Palmas de G.C.

49 / 84

Anlisis Numrico Matricial II


Diseo Algoritmo Mtodo de la potencia para calcular el autovalor mayor

Parmetros de entrada : matriz A, aproximacin inicial del autovector


umax , NmaxIter y TOL
Calculamos max =k umax k2 ;
Normalizamos umax = umax /max ;
Para iter=0 hasta NmaxIter
Calcular unew = A umax ;
Calcular new =k unew k2 ;
if( umax unew < 0) { max = new ;}
else{ max = new ; }
unew = unew /max ;
if( k umax unew k2 < TOL) { umax = unew ;

return max ; }

umax = unew ;

ULPGCLogo

Fin Para
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

50 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia para calcular el autovalor mayor

Teorema
Sea una matriz A que posee una base de autovectores tal que en
mdulo su autovalor mximo max es nico. Sea un vector u 1 no
ortogonal al subespacio engendrado por los autovectores del
autovalor max , entonces, si definimos la secuencia
un = A

u n1
k u n1 k

se verifica que
Limn sign



u n , u n1



n
Limn sign u n , u n1
Luis Alvarez Len



k u n k= max

un
es un autovector de maxULPGCLogo
k un k

Mtodos Numricos

Univ. de Las Palmas de G.C.

51 / 84

Contenido
3

Mtodo de la potencia para calcular el autovalor mximo


Mtodo de la potencia para calcular el autovalor mximo
Mtodo de la potencia inversa para calcular el autovalor mnimo
Mtodo de la potencia inversa para calcular el autovalor ms
cercano a un nmero
Algoritmo general para calcular los autovectores de una matriz
cualquiera

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

52 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor menor

El mtodo de la potencia inversa se basa en que si


Ax = x

A1 x =

1
x

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

53 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor menor

El mtodo de la potencia inversa se basa en que si


Ax = x

A1 x =

1
x

y por tanto
El autovalor mximo de A1 =

1
min{i }

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

53 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor menor

El mtodo de la potencia inversa se basa en que si


Ax = x

A1 x =

1
x

y por tanto
El autovalor mximo de A1 =

1
min{i }

Para realizar las iteraciones del mtodo de la potencia inversa, a


veces, en lugar de calcular A1 se resuelve en cada etapa un sistema
de ecuaciones teniendo en cuenta que
un =

A1 u n1
k u n1 k

Au n =

u n1
k u n1 k
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

53 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor menor

Consideremos la matriz

2 1
1 5


min = 1,70,

xmin =

1,0
0,30

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

54 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor menor

Consideremos la matriz

2 1
1 5


min = 1,70,

xmin =

1,0
0,30

vamos a hacer iteraciones del mtodo de la potencia cambiando A por A1


 
A1 u n1
1
un =
partiendo de u 0 =
n1
1
ku
k

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

54 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor menor

Consideremos la matriz

2 1
1 5


min = 1,70,

xmin =

1,0
0,30

vamos a hacer iteraciones del mtodo de la potencia cambiando A por A1


 
A1 u n1
1
un =
partiendo de u 0 =
n1
1
ku
k
u1 =

A1 u 0
ku 0 k

u2 =

A1 u 1
ku 1 k

u3 =

A1 u 2
ku 2 k

0,44
0,11

0,52
0,055

0,57
0,134

k u 1 k = 0,44
u1
ku 1 k


=

1,0
0,25

k u 1 k = 0,44
k u 2 k = 0,52
k u 3 k = 0,57

k u 2 k = 0,52


Luis Alvarez Len

u2
ku 2 k


=

k u 3 k = 0,57
1,0
0,1

u3
ku 3 k

min =


1,0
0,23

Mtodos Numricos

1
0,57

= 1,75

xmin =

1,0
0,30

Univ. de Las Palmas de G.C.

ULPGCLogo

54 / 84

Contenido
3

Mtodo de la potencia para calcular el autovalor mximo


Mtodo de la potencia para calcular el autovalor mximo
Mtodo de la potencia inversa para calcular el autovalor mnimo
Mtodo de la potencia inversa para calcular el autovalor ms
cercano a un nmero
Algoritmo general para calcular los autovectores de una matriz
cualquiera

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

55 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

El mtodo de la potencia directa e inversa nos permite calcular el autovalor


ms grande y ms pequeo de una matriz. Ahora bien para calcular los
autovalores que se encuentren entre min y max necesitamos informacin
adicional como puede ser tener una aproximacin del autovalor buscado. Por
ejemplo si es una aproximacin del autovalor de tal forma que se
encuentre ms cercano a que a cualquier otro autovalor, podemos construir
la matriz A0 = A I. Si llamamos 0min al autovalor ms pequeo de A0 , se
cumple que
A0 x = (A I)x = 0min x

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

56 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

El mtodo de la potencia directa e inversa nos permite calcular el autovalor


ms grande y ms pequeo de una matriz. Ahora bien para calcular los
autovalores que se encuentren entre min y max necesitamos informacin
adicional como puede ser tener una aproximacin del autovalor buscado. Por
ejemplo si es una aproximacin del autovalor de tal forma que se
encuentre ms cercano a que a cualquier otro autovalor, podemos construir
la matriz A0 = A I. Si llamamos 0min al autovalor ms pequeo de A0 , se
cumple que
A0 x = (A I)x = 0min x
de donde despejando
Ax = x

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

56 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

El mtodo de la potencia directa e inversa nos permite calcular el autovalor


ms grande y ms pequeo de una matriz. Ahora bien para calcular los
autovalores que se encuentren entre min y max necesitamos informacin
adicional como puede ser tener una aproximacin del autovalor buscado. Por
ejemplo si es una aproximacin del autovalor de tal forma que se
encuentre ms cercano a que a cualquier otro autovalor, podemos construir
la matriz A0 = A I. Si llamamos 0min al autovalor ms pequeo de A0 , se
cumple que
A0 x = (A I)x = 0min x
de donde despejando
Ax = (0min + )x

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

56 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

El mtodo de la potencia directa e inversa nos permite calcular el autovalor


ms grande y ms pequeo de una matriz. Ahora bien para calcular los
autovalores que se encuentren entre min y max necesitamos informacin
adicional como puede ser tener una aproximacin del autovalor buscado. Por
ejemplo si es una aproximacin del autovalor de tal forma que se
encuentre ms cercano a que a cualquier otro autovalor, podemos construir
la matriz A0 = A I. Si llamamos 0min al autovalor ms pequeo de A0 , se
cumple que
A0 x = (A I)x = 0min x
de donde despejando
Ax = (0min + )x
y por tanto es el autovalor de A ms cercano a .

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

56 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

El mtodo de la potencia directa e inversa nos permite calcular el autovalor


ms grande y ms pequeo de una matriz. Ahora bien para calcular los
autovalores que se encuentren entre min y max necesitamos informacin
adicional como puede ser tener una aproximacin del autovalor buscado. Por
ejemplo si es una aproximacin del autovalor de tal forma que se
encuentre ms cercano a que a cualquier otro autovalor, podemos construir
la matriz A0 = A I. Si llamamos 0min al autovalor ms pequeo de A0 , se
cumple que
A0 x = (A I)x = 0min x
de donde despejando
Ax = (0min + )x
y por tanto 0min + es el autovalor de A ms cercano a .

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

56 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

5 0 0
Consideremos la matriz A = 1 1 0 , el autovalor ms cercano a 3 prox = 2,
1 1 2
T
xprox = (0, 0, 1) .

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

57 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

5 0 0
Consideremos la matriz A = 1 1 0 , el autovalor ms cercano a 3 prox = 2,
1 1 2
T
xprox = (0, 0, 1) .Vamos a hacer iteraciones del mtodo de la potencia inversa con
B = A 3Id partiendo de u 0 = (1, 1, 1)T

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

57 / 84

Anlisis Numrico Matricial II


Mtodo de la potencia inversa para calcular el autovalor ms cercano a un nmero

5 0 0
Consideremos la matriz A = 1 1 0 , el autovalor ms cercano a 3 prox = 2,
1 1 2
T
xprox = (0, 0, 1) .Vamos a hacer iteraciones del mtodo de la potencia inversa con
B = A 3Id partiendo de u 0 = (1, 1, 1)T
u1 =

B 1 u 0
ku 0 k

= (0.5, 0.25, 0.75)T

u2 =

A1 u 1
ku 1 k

= (0.33, 0.33, 1.66)T

u3 =

A1 u 2
ku 2 k

= (0.1, 0.05, 0.95)T

k u 1 k = 0.75
k u 2 k = 1,66
k u 3 k = 0,95

Como los autovectores van cambiando de signo en cada iteracin tenemos :


xprox = (0.1, 0.05, 0.95)T

(A 3Id)xprox =

1
xprox = 1.05xprox
0.95

de donde despejando obtenemos: Axprox = (3 1.05)xprox = 1.95xprox

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

57 / 84

Contenido
3

Mtodo de la potencia para calcular el autovalor mximo


Mtodo de la potencia para calcular el autovalor mximo
Mtodo de la potencia inversa para calcular el autovalor mnimo
Mtodo de la potencia inversa para calcular el autovalor ms
cercano a un nmero
Algoritmo general para calcular los autovectores de una matriz
cualquiera

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

58 / 84

Anlisis Numrico Matricial II


Algoritmo general para calcular los autovectores de una matriz cualquiera

Paso 1: Se calcula el polinomio caracterstico |A I| = 0.

Paso 2: Se calculan las races {i } del polinomio caracterstico

Paso 3 : Utilizando el mtodo de la potencia inversa se calculan


los autovectores ms pequeos de las matrices A i I

La principal dificultad de este algoritmo es que requiere calcular el


polinomio caracterstico.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

59 / 84

Anlisis Numrico Matricial II


Algoritmo general para calcular los autovectores de una matriz cualquiera

Paso 1: Se calcula el polinomio caracterstico |A I| = 0.

Paso 2: Se calculan las races {i } del polinomio caracterstico

Paso 3 : Utilizando el mtodo de la potencia inversa se calculan


los autovectores ms pequeos de las matrices A i I

La principal dificultad de este algoritmo es que requiere calcular el


polinomio caracterstico.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

59 / 84

Anlisis Numrico Matricial II


Algoritmo general para calcular los autovectores de una matriz cualquiera

Paso 1: Se calcula el polinomio caracterstico |A I| = 0.

Paso 2: Se calculan las races {i } del polinomio caracterstico

Paso 3 : Utilizando el mtodo de la potencia inversa se calculan


los autovectores ms pequeos de las matrices A i I

La principal dificultad de este algoritmo es que requiere calcular el


polinomio caracterstico.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

59 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores

Mtodo de Jacobi para calcular autovalores de matrices simtricas

Mtodo de la potencia para calcular el autovalor mximo

Mtodos iterativos de resolucin de sistemas de ecuaciones

Mtodo de Newton-Raphson para sistemas no-lineales

Condicionamiento de una matriz


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

60 / 84

Contenido
4

Mtodos iterativos de resolucin de sistemas de ecuaciones


Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodo de relajacin

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

61 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

Consideremos el sistema de ecuaciones :


2
1 0
x
1
1 2
1 y = 0
0
1 2
z
1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

62 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

Consideremos el sistema de ecuaciones :


2
1 0
x
1
1 2
1 y = 0
0
1 2
z
1

2x y = 1
x + 2y z = 0

y + 2z = 1

despejando los elementos de la diagonal podemos escribir las


anteriores relaciones como una ecuacin de punto fijo:

x=

y=

z=

1+y
2
x+z
2
1+y
2
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

62 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

Consideremos el sistema de ecuaciones :


2
1 0
x
1
1 2
1 y = 0
0
1 2
z
1

2x y = 1
x + 2y z = 0

y + 2z = 1

despejando los elementos de la diagonal podemos escribir las


anteriores relaciones como una ecuacin de punto fijo:

1+y
1+y

xn = 2n1
x
=

x
+z
y = x+z

yn = n1 2 n1
2

z = 1+yn1
z = 1+y
n
2
2
partiendo de u 0 = (x0 , y0 , z0 )T = (0, 0, 0)T las iteraciones seran:
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

62 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2
1+yn1
2

x3 = ?

y3 = ? 21

z3 = ?

x1 = ?

y1 = ?

z1 = ?

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2
1+yn1
2

x3 = ?

y3 = ? 12

z3 = ?

x1 = 1+0

2 =

y1 = ?

z1 = ?

1
2

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2
1+yn1
2

x3 = ?

y3 = ? 12

z3 = ?

1
x1 = 1+0

2 = 2

y1 = 0+0
2 =0

z1 = ?

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2
1+yn1
2

x3 = ?

y3 = ? 12

z3 = ?

x =

1
y1 =

z1 =

1+0
2

0+0
2

=0

1+0
2

1
2

1
2

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2
1+yn1
2

x3 = ?

y3 = ? 12

z3 = ?

x =

1
y1 =

z1 =

1+0
2

0+0
2

=0

1+0
2

1
2

1
2

x2 = 1+0

2 =

y2 = ?

z2 = ?

1
2

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2
1+yn1
2

x3 = ?

y3 = ? 12

z3 = ?

x =

1
y1 =

z1 =

1+0
2

0+0
2

=0

1+0
2

1
2

1
2

x2 =

y2 =

1+0
2

1
2

1/2+1/2
2

1
2

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2
1+yn1
2

x3 = ?

y3 = ? 12

z3 = ?

x =

1
y1 =

z1 =

1+0
2

0+0
2

=0

1+0
2

1
2

1
2

x2 =

1+0
2

1
2

y2 =

1/2+1/2
2

z2 =

1+0
2

1
2

1
2

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2

x =

1+1/2
2

1+yn1
2

3
4

y3 = ? 21

z3 = ?

x =

1
y1 =

z1 =

1+0
2

0+0
2

=0

1+0
2

1
2

1
2

x2 =

1+0
2

1
2

y2 =

1/2+1/2
2

z2 =

1+0
2

1
2

1
2

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2

x3 =

1+1/2
2

y3 =

x =

1
y1 =

z1 =

1+yn1
2

1/2+1/2
2

3
4

z3 = ?

1
2

1+0
2

0+0
2

=0

1+0
2

1
2

1
2

x2 =

1+0
2

1
2

y2 =

1/2+1/2
2

z2 =

1+0
2

1
2

1
2

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2

x3 =

1+1/2
2

y3 =

z =
3

x =

1
y1 =

z1 =

1+yn1
2

1/2+1/2
2
1+1/2
2

3
4

=
3
4

1
2

1+0
2

0+0
2

=0

1+0
2

1
2

1
2

x2 =

1+0
2

1
2

y2 =

1/2+1/2
2

z2 =

1+0
2

1
2

1
2

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2

x3 =

1+1/2
2

y3 =

z =
3

x =

1
y1 =

z1 =

1+yn1
2

1/2+1/2
2
1+1/2
2

3
4

=
3
4

1
2

1+0
2

0+0
2

=0

1+0
2

x =

1
2

1
2

1+1/2
2

x2 =

1+0
2

1
2

y2 =

1/2+1/2
2

z2 =

1+0
2

1
2

1
2

3
4

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2

x3 =

1+1/2
2

y3 =

z =
3

x =

1
y1 =

z1 =

1+yn1
2

1/2+1/2
2
1+1/2
2

3
4

=
3
4

1
2

1+0
2

0+0
2

=0

1+0
2

x4 =

y4 =

1
2

1
2

1+1/2
2

x2 =

3/4+3/4
2

1+0
2

1
2

y2 =

1/2+1/2
2

z2 =

1+0
2

1
2

1
2

3
4

3
4

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

xn =

yn =

z =
n

1+yn1
2
xn1 +zn1
2

x3 =

1+1/2
2

y3 =

z =
3

x =

1
y1 =

z1 =

1+yn1
2

1/2+1/2
2
1+1/2
2

3
4

=
3
4

1
2

1+0
2

0+0
2

=0

1+0
2

x4 =

y4 =

z =
4

1
2

1
2

1+1/2
2

3/4+3/4
2
1+1/2
2

x2 =

1+0
2

1
2

y2 =

1/2+1/2
2

z2 =

1+0
2

1
2

1
2

3
4

3
4

3
4

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

63 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

El mtodo de Jacobi es equivalente al esquema iterativo:


u0n =

n1
a0,1 u1n1 ... a0,N1 uN1
+ b0
a0,0

n1
a1,0 u0n1 a1,2 u2n1 ... a1,N1 uN1
+ b1
a1,1
.
n1
aN1,0 u0n1 aN1,1 u1n1 ... aN1,N2 uN2
+ bN1
=
aN1,N1

u1n =
n
uN1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

64 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Jacobi

El mtodo de Jacobi es equivalente al esquema iterativo:


u0n =

n1
a0,1 u1n1 ... a0,N1 uN1
+ b0
a0,0

n1
a1,0 u0n1 a1,2 u2n1 ... a1,N1 uN1
+ b1
a1,1
.
n1
aN1,0 u0n1 aN1,1 u1n1 ... aN1,N2 uN2
+ bN1
=
aN1,N1

u1n =
n
uN1

Los mtodos iterativos no convergen siempre. Se puede demostrar


que funcionan bien en el caso en que por filas o columnas, la diagonal
de la matriz en valor absoluto sea mayor que la suma en valor
ULPGCLogo
absoluto del resto de de elementos por filas o columnas.
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

64 / 84

Contenido
4

Mtodos iterativos de resolucin de sistemas de ecuaciones


Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodo de relajacin

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

65 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

xn =

yn =

zn =

1+yn1
2
xn +zn1
2
1+yn
2

x3 = ?

y3 = ?

z3 = ?

x1 = ?

y1 = ?

z1 = ?

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

xn =

yn =

zn =

1+yn1
2
xn +zn1
2
1+yn
2

x3 = ?

y3 = ?

z3 = ?

x1 = 1+0

2 =

y1 = ?

z1 = ?

1
2

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

xn =

yn =

zn =

1+yn1
2
xn +zn1
2
1+yn
2

x3 = ?

y3 = ?

z3 = ?

1
x1 = 1+0

2 = 2

y1 = 1/2+0
=
2

z1 = ?

1
4

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

xn =

yn =

zn =

1+yn1
2
xn +zn1
2
1+yn
2

x3 = ?

y3 = ?

z3 = ?

x1 =

y1 =

z1 =

1+0
2

1
2

1/2+0
2

1
4

1+1/2
2

5
8

x2 = ?

y2 = ?

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

xn =

yn =

zn =

1+yn1
2
xn +zn1
2
1+yn
2

x3 = ?

y3 = ?

z3 = ?

x1 =

y1 =

z1 =

1+0
2

1
2

1/2+0
2

1
4

1+1/2
2

5
8

x = 1+1/4
=

2
y2 = ?

z2 = ?

5
8

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

xn =

yn =

zn =

1+yn1
2
xn +zn1
2
1+yn
2

x3 = ?

y3 = ?

z3 = ?

x1 =

y1 =

z1 =

1+0
2

1/2+0
2
1+1/2
2

1
2

=
=

1
4
5
8

x2 =

y2 =

1+1/4
2

5/8+5/8
2

5
8

5
8

z2 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

1+yn1
1+0
1

x
=
=
x2 = 1+1/4
= 58
x
=
1

n
2
2
2
2

x +z

y1 = 1/2+0
= 14
yn = n 2 n1
y2 = 5/8+5/8
= 58
2
2

n
z1 = 1+1/2
= 58
zn = 1+y
z2 = 1+5/8
= 13
2
2
2
16

x3 = ?

y3 = ?

z3 = ?

x4 = ?

y4 = ?

z4 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

1+yn1
1+0
1

x
=
=
x2 = 1+1/4
= 58
x
=
1

n
2
2
2
2

x +z

y1 = 1/2+0
= 14
yn = n 2 n1
y2 = 5/8+5/8
= 58
2
2

z = 1+5/8 = 13
z = 1+1/2 = 5
z = 1+yn
n

x = 1+5/8
=

3
y3 = ?

z3 = ?

13
16

16

x4 = ?

y4 = ?

z4 = ?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

1+yn1
1+0
1

x
=
=
x2 = 1+1/4
= 58
x
=
1

n
2
2
2
2

x +z

y1 = 1/2+0
= 14
yn = n 2 n1
y2 = 5/8+5/8
= 58
2
2

z = 1+5/8 = 13
z = 1+1/2 = 5
z = 1+yn
n

x3 = 1+5/8
= 13

2
16

13/16+13/16
y3 =
=
2

z3 = ?

13
16

16

x4 = ?

y4 = ?

z4 = ?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

1+yn1
1+0
1

x
=
=
x2 = 1+1/4
= 58
x
=
1

n
2
2
2
2

x +z

= 14
y1 = 1/2+0
yn = n 2 n1
y2 = 5/8+5/8
= 58
2
2

z = 1+5/8 = 13
z = 1+1/2 = 5
z = 1+yn
n

x3 =

y3 =

z =
3

1+5/8
2

13
16

13/16+13/16
2
1+13/16
2

29
32

13
16

16

x4 = ?

y4 = ?

z4 = ?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

1+yn1
1+0
1

x
=
=
x2 = 1+1/4
= 58
x
=
1

n
2
2
2
2

x +z

= 14
y1 = 1/2+0
yn = n 2 n1
y2 = 5/8+5/8
= 58
2
2

z = 1+5/8 = 13
z = 1+1/2 = 5
z = 1+yn
n

x3 =

y3 =

z =
3

1+5/8
2

13
16

13/16+13/16
2
1+13/16
2

29
32

13
16

x =

1+12/16
2

16

29
32

y4 = ?

z4 = ?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

1+yn1
1+0
1

x
=
=
x2 = 1+1/4
= 58
x
=
1

n
2
2
2
2

x +z

= 14
y1 = 1/2+0
yn = n 2 n1
y2 = 5/8+5/8
= 58
2
2

z = 1+5/8 = 13
z = 1+1/2 = 5
z = 1+yn
n

x3 =

y3 =

z =
3

1+5/8
2

13
16

13/16+13/16
2
1+13/16
2

29
32

13
16

x4 =

y4 =

1+12/16
2

29
32

3/4+3/4
2

29
32

16

z4 = ?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En el mtodo de Gauss Seidel actualizamos las componentes del vector


solucin al mismo tiempo que se va calculando :

1+yn1
1+0
1

x
=
=
x2 = 1+1/4
= 58
x
=
1

n
2
2
2
2

x +z

= 14
y1 = 1/2+0
yn = n 2 n1
y2 = 5/8+5/8
= 58
2
2

z = 1+5/8 = 13
z = 1+1/2 = 5
z = 1+yn
n

x3 =

y3 =

z =
3

1+5/8
2

13
16

13/16+13/16
2
1+13/16
2

29
32

13
16

x4 =

y4 =

z =
4

1+12/16
2

29
32

3/4+3/4
2

29
32

1+29/32
2

61
64

16

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

66 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Gauss-Seidel

En la prctica, el mtodo de Gauss-Seidel se implementa a travs del


siguiente esquema iterativo:
u0n

n1
a0,1 u1n1 ... a0,N1 uN1
+ b0
a0,0

n1
a1,0 u0n a1,2 u2n1 ... a1,N1 uN1
+ b1
a1,1
.
n
aN1,0 u0n aN1,1 u1n ... aN1,N2 uN2
+ bN1
=
aN1,N1

u1n =
n
uN1

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

67 / 84

Contenido
4

Mtodos iterativos de resolucin de sistemas de ecuaciones


Mtodo de Jacobi
Mtodo de Gauss-Seidel
Mtodo de relajacin

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

68 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En el mtodo de relajacin se combina la solucin propuesta por


Gauss-Seidel con la solucin en la etapa anterior a travs del parmetro de
relajacin w. Vamos a hacer iteraciones del esquema:

1+y
xn = w 2n1 + (1 w)xn1

yn = w

zn =

xn +zn1
2

n
w 1+y
2

x1 = ?

y1 = ?

z1 = ?

+ (1 w)yn1

Si hacemos w = 1,17 obtenemos:

+ (1 w)zn1

x2 = ?

y2 = ?

z2 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

69 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En el mtodo de relajacin se combina la solucin propuesta por


Gauss-Seidel con la solucin en la etapa anterior a travs del parmetro de
relajacin w. Vamos a hacer iteraciones del esquema:

1+y
xn = w 2n1 + (1 w)xn1

yn = w

zn =

xn +zn1
2

n
w 1+y
2

+ (1 w)yn1

Si hacemos w = 1,17 obtenemos:

+ (1 w)zn1

x1 = 1,17 1+0

2 = 0,58

y1 = ?

z1 = ?

x2 = ?

y2 = ?

z2 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

69 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En el mtodo de relajacin se combina la solucin propuesta por


Gauss-Seidel con la solucin en la etapa anterior a travs del parmetro de
relajacin w. Vamos a hacer iteraciones del esquema:

1+y
xn = w 2n1 + (1 w)xn1

yn = w

zn =

xn +zn1
2

n
w 1+y
2

+ (1 w)yn1

Si hacemos w = 1,17 obtenemos:

+ (1 w)zn1

x1 = 1,17 1+0

2 = 0,58

y1 = 1,17 0,58+0
= 0,34
2

z1 = ?

x2 = ?

y2 = ?

z2 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

69 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En el mtodo de relajacin se combina la solucin propuesta por


Gauss-Seidel con la solucin en la etapa anterior a travs del parmetro de
relajacin w. Vamos a hacer iteraciones del esquema:

1+y
xn = w 2n1 + (1 w)xn1

yn = w

zn =

xn +zn1
2

n
w 1+y
2

+ (1 w)yn1

Si hacemos w = 1,17 obtenemos:

+ (1 w)zn1

x1 = 1,17 1+0

2 = 0,58

y1 = 1,17 0,58+0
= 0,34
2

z1 = 1,17 1+0,34
= 0,78
2

x2 = ?

y2 = ?

z2 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

69 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En el mtodo de relajacin se combina la solucin propuesta por


Gauss-Seidel con la solucin en la etapa anterior a travs del parmetro de
relajacin w. Vamos a hacer iteraciones del esquema:

1+y
xn = w 2n1 + (1 w)xn1

yn = w

zn =

xn +zn1
2

n
w 1+y
2

+ (1 w)yn1

Si hacemos w = 1,17 obtenemos:

+ (1 w)zn1

x1 = 1,17 1+0

2 = 0,58

y1 = 1,17 0,58+0
= 0,34
2

z1 = 1,17 1+0,34
= 0,78
2

x2 = 1,17 1+0,34
0,17 0,29= 0,58

y2 = ?

z2 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

69 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En el mtodo de relajacin se combina la solucin propuesta por


Gauss-Seidel con la solucin en la etapa anterior a travs del parmetro de
relajacin w. Vamos a hacer iteraciones del esquema:

1+y
xn = w 2n1 + (1 w)xn1

yn = w

zn =

xn +zn1
2

n
w 1+y
2

+ (1 w)yn1

Si hacemos w = 1,17 obtenemos:

+ (1 w)zn1

x1 = 1,17 1+0

2 = 0,58

y1 = 1,17 0,58+0
= 0,34
2

z1 = 1,17 1+0,34
= 0,78
2

0,17 0,29= 0,58


x2 = 1,17 1+0,34

1+0,68
y2 = 1,17 2 0,17 0,17 = 0,92

z2 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

69 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En el mtodo de relajacin se combina la solucin propuesta por


Gauss-Seidel con la solucin en la etapa anterior a travs del parmetro de
relajacin w. Vamos a hacer iteraciones del esquema:

1+y
xn = w 2n1 + (1 w)xn1

yn = w

zn =

xn +zn1
2

n
w 1+y
2

+ (1 w)yn1

Si hacemos w = 1,17 obtenemos:

+ (1 w)zn1

x1 = 1,17 1+0

2 = 0,58

0,58+0
y1 = 1,17 2 = 0,34

z1 = 1,17 1+0,34
= 0,78
2

0,17 0,29= 0,58


x2 = 1,17 1+0,34

1+0,68
y2 = 1,17 2 0,17 0,17 = 0,92

z2 = 1,17 1+0,92
0,17 0,78 = 0, 99
2
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

69 / 84

Anlisis Numrico Matricial II


Mtodos iterativos de resolucin de sistemas de ecuaciones. Mtodo de Relajacin

En la prctica, el mtodo de relajacin se implementa a travs del siguiente


esquema iterativo:

u0n = w

n1
a0,1 u1n1 ... a0,N1 uN1
+ b0
+ (1 w)u0n1
a0,0

u1n = w

n1
a1,0 u0n a1,2 u2n1 ... a1,N1 uN1
+ b1
+ (1 w)u1n1
a1,1

n
uN1
= w

n
aN1,0 u0n aN1,1 u1n ... aN1,N2 uN2
+ bN1
n1
+ (1 w)uN1
aN1,N1

La eleccin del parmetro w es, en general, un problema difcil. Normalmente


se toma w [1, 2) pero obtener el valor ptimo de w, es decir, el valor que
hace que la convergencia sea ms rpida, es un problema complejo que no se
estudia en este curso.
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

70 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores

Mtodo de Jacobi para calcular autovalores de matrices simtricas

Mtodo de la potencia para calcular el autovalor mximo

Mtodos iterativos de resolucin de sistemas de ecuaciones

Mtodo de Newton-Raphson para sistemas no-lineales

Condicionamiento de una matriz


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

71 / 84

Anlisis Numrico Matricial II


Mtodo de Newton-Raphson para sistemas no-lineales

Consideremos el siguiente sistema no lineal de ecuaciones:


 2
x y2 + 1 = 0
2xy = 0

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

72 / 84

Anlisis Numrico Matricial II


Mtodo de Newton-Raphson para sistemas no-lineales

Consideremos el siguiente sistema no lineal de ecuaciones:


 2
 2
  
0
x y2 + 1 = 0
x y2 + 1
f (u) = f (x, y ) =
=
0
2xy = 0
2xy
Utilizamos el desarrollo de Taylor en varias variable
f (u) = f (u 0 ) + f (u 0 )(u u 0 ) + ....

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

72 / 84

Anlisis Numrico Matricial II


Mtodo de Newton-Raphson para sistemas no-lineales

Consideremos el siguiente sistema no lineal de ecuaciones:


 2
 2
  
0
x y2 + 1 = 0
x y2 + 1
f (u) = f (x, y ) =
=
0
2xy = 0
2xy
Utilizamos el desarrollo de Taylor en varias variable
f (u) = f (u 0 ) + f (u 0 )(u u 0 ) + ....


f (u) =

2x
2y

2y
2x

Igualando a 0 el desarrollo de Taylor y tomamos u 0 = (1, 1) obtenemos


  


1
2 2
x1 x0
f (u 0 ) + f (u 0 )(u u 0 ) = 0
+
=0
2
2 2
y1 y0
Resolvemos el sistema asociado y obtenemos u 1 = (1/4, 3/4).

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

72 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada

f : RN RN

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

73 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada

f : R N R N dentro del cdigo C++ f viene definida como


Array1D<real> f(Array1D<real> &u){
.
Array1D<real> fu(u.dim());
.
................ /* cdigo para rellenar fu */
.
return fu;
}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

73 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada

f : R N R N dentro del cdigo C++ f viene definida como


Array1D<real> f(Array1D<real> &u){
.
Array1D<real> fu(u.dim());
.
................ /* cdigo para rellenar fu */
.
return fu;
}
Para el ejemplo anterior tendramos
 2

  
0
x y2 + 1 = 0
f0 (x, y ) = x 2 y 2 + 1
f (u) = f (x, y ) =
=
0
2xy = 0
f1 (x, y ) = 2xy
Array1D<real> f(Array1D<real> &u){
.
Array1D<real> fu(u.dim());
.
fu[0]=u[0]*u[0]-u[1]*u[1]+1.;
.
fu[1]=2.*u[0]*u[1];
.
return fu;
}
Luis Alvarez Len

Mtodos Numricos

ULPGCLogo

Univ. de Las Palmas de G.C.

73 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada para el ejemplo

Veamos como se aproximara numricamente la matriz gradiente del ejemplo


!


f0
f0
(x,
y
)
(x,
y
)
f0 (x, y ) = x 2 y 2 + 1
x
y
f (x, y ) =
f (x, y ) =
f1
f1
f1 (x, y ) = 2xy
x (x, y ) y (x, y )

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

74 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada para el ejemplo

Veamos como se aproximara numricamente la matriz gradiente del ejemplo


!


f0
f0
(x,
y
)
(x,
y
)
f0 (x, y ) = x 2 y 2 + 1
x
y
f (x, y ) =
f (x, y ) =
f1
f1
f1 (x, y ) = 2xy
x (x, y ) y (x, y )
Aproximando la derivadas usando las frmulas vistas en el tema 3

f (x, y ) '

f0 (x+h,y )f0 (x,y )


h
f1 (x+h,y )f1 (x,y )
h

f0 (x,y +h)f0 (x,y )


h
f1 (x,y +h)f1 (x,y )
h

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

74 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada para el ejemplo

Veamos como se aproximara numricamente la matriz gradiente del ejemplo


!


f0
f0
(x,
y
)
(x,
y
)
f0 (x, y ) = x 2 y 2 + 1
x
y
f (x, y ) =
f (x, y ) =
f1
f1
f1 (x, y ) = 2xy
x (x, y ) y (x, y )
Aproximando la derivadas usando las frmulas vistas en el tema 3

f (x, y ) '

f0 (x+h,y )f0 (x,y )


h
f1 (x+h,y )f1 (x,y )
h

f0 (x,y +h)f0 (x,y )


h
f1 (x,y +h)f1 (x,y )
h

Si escribimos los vectores columna en funcin de f(.) obtenemos :



f (x, y ) '


f ((x, y ) + h (1, 0)) f (x, y ) f ((x, y ) + h (0, 1)) f (x, y )
,
h
h
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

74 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada caso general

f (u) =

f0 (u)
f1 (u)

.
fN1 (u)

f0
u0 (u)
f1
u0 (u)

.
fN1
u0 (u)

f0
u1 (u)
f1
u1 (u)

.
.
.
fN1
u1 (u) .

f1
uN1 (u)
f1
uN1 (u)

.
fN1
uN1 (u)

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

75 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada caso general

f (u) =

f0 (u)
f1 (u)

.
fN1 (u)

f0
u0 (u)
f1
u0 (u)

.
fN1
u0 (u)

f0
u1 (u)
f1
u1 (u)

.
.
.
fN1
u1 (u) .

f1
uN1 (u)
f1
uN1 (u)

.
fN1
uN1 (u)

k = (0, .., 0, |{z}


Llamando e
1 , 0, .., 0), obtenemos
k

f0
uk (u)
f1
uk (u)

.
fN1
uk (u)

'
h


k )
f0 (u + he
f0 (u)
f1 (u)
k )
f1 (u + he


.
.
k
)
fN1 (u)
fN1 (u + he

f (u + he
k ) f (u)
=

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

75 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada caso general

f (u) =

f0 (u)
f1 (u)

.
fN1 (u)

f0
u0 (u)
f1
u0 (u)

.
fN1
u0 (u)

f0
u1 (u)
f1
u1 (u)

.
.
.
fN1
u1 (u) .

f1
uN1 (u)
f1
uN1 (u)

.
fN1
uN1 (u)

k = (0, .., 0, |{z}


Llamando e
1 , 0, .., 0), obtenemos
k

f0
uk (u)
f1
uk (u)

.
fN1
uk (u)

'
h


k )
f0 (u + he
f0 (u)
f1 (u)
k )
f1 (u + he


.
.
k
)
fN1 (u)
fN1 (u + he

f (u + he
k ) f (u)
=

donde h = |uk | 106 + 1020 se toma proporcional a |uk |


Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

ULPGCLogo

75 / 84

Mtodo de Newton-Raphson para sistemas


Clculo matriz derivada

f : RN RN

k = (0, .., 0, |{z}


e
1 , 0, .., 0)T
k

f (u)
=

N1 ) f (u)
0 ) f (u)
f (u + h e
f (u + h e
, ....,
h
h

T

Algoritmo clculo matriz derivada en el vector u


= 0 // e
es un vector auxiliar donde se almacenar e
k
e
para k=0 hasta N-1 hacer
[k ] = 1
e
h=|uk | 106 + 1020
u2 =

f (u+he)f (u)
h

u2 se pone en la columna k de la matriz f (u)


[k ] = 0
e
fin para
Luis Alvarez Len

Mtodos Numricos

ULPGCLogo

Univ. de Las Palmas de G.C.

76 / 84

Mtodo de Newton-Raphson para sistemas


Algoritmo

Algoritmo Mtodo de Newton-Raphson para sistemas


para k=0 hasta "Mximo de iteraciones" hacer
test de salida si f (u) es prximo a cero
Calculamos matriz derivada f (u)
Resolvemos el sistema lineal f (u) x = f (u)
test de salida si x es pequeo
u=u+x; // se actualiza la solucin
fin para
Si el algoritmo llega aqu se ha excedido el nmero de iteraciones
mximo.
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

77 / 84

Contenido
1

Nociones bsicas sobre matrices y vectores

Mtodo de Jacobi para calcular autovalores de matrices simtricas

Mtodo de la potencia para calcular el autovalor mximo

Mtodos iterativos de resolucin de sistemas de ecuaciones

Mtodo de Newton-Raphson para sistemas no-lineales

Condicionamiento de una matriz


ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

78 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

El condicionamiento de una matriz es un nmero que nos indica la


calidad de una matriz cuando se trabaja con ella numricamente

Ejemplo
Consideremos el siguiente sistema de ecuaciones


10 7 8 7
x
32
7 5 6 5 y 23


8 6 10 9 z = 33
7 5 9 10
v
31

cuya solucin es (1, 1, 1, 1). Vamos a considerar ahora el mismo


sistema, perturbando ligeramente el trmino independiente:
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

79 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Ejemplo

10
7

8
7

x
7 8 7
y
5 6 5

6 10 9 z
v
5 9 10

32,1
22,9

=
33,1
30,9

La solucin de este sistema es (9.2,-12.6,4.5,-1.1). Como podemos


observar, a pesar de que la perturbacin del sistema es del orden de
0.1 la perturbacin de la solucin del sistema puede llegar a ser del
orden de 13.6.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

80 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Consideremos un sistema de ecuaciones de la forma


Au = b
y el sistema de ecuaciones perturbado
A (u + u) = b + b

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

81 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Consideremos un sistema de ecuaciones de la forma


Au = b
y el sistema de ecuaciones perturbado
A (u + u) = b + b
Queremos controlar el error relativo en la solucin del sistema a partir
del error relativo en el trmino independiente b.
k u k
k b k
(A)
kuk
kbk
donde (A) es un nmero que llamaremos condicionamiento de la
ULPGCLogo
matriz. Cuanto ms pequeo sea (A) mejor comportamiento tendr
la matriz A.
Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

81 / 84

Condicionamiento de una matriz


Teorema
k u k
k b k
k A k k A1 k
|
{z
}kbk
kuk
(A)

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

82 / 84

Condicionamiento de una matriz


Teorema
k u k
k b k
k A k k A1 k
|
{z
}kbk
kuk
(A)

Hay que tener en cuenta que


p
k A k2 = mximo autovalores de t AA

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

82 / 84

Condicionamiento de una matriz


Teorema
k u k
k b k
k A k k A1 k
|
{z
}kbk
kuk
(A)

Hay que tener en cuenta que


p
k A k2 = mximo autovalores de t AA

P
k A k1 = maxj
i | aij |

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

82 / 84

Condicionamiento de una matriz


Teorema
k u k
k b k
k A k k A1 k
|
{z
}kbk
kuk
(A)

Hay que tener en cuenta que


p
k A k2 = mximo autovalores de t AA

P
k A k1 = maxj
i | aij |
P

k A k = maxi
|
a
|
ij
j

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

82 / 84

Condicionamiento de una matriz


Teorema
k u k
k b k
k A k k A1 k
|
{z
}kbk
kuk
(A)

Hay que tener en cuenta que


p
k A k2 = mximo autovalores de t AA

P
k A k1 = maxj
i | aij |
P

k A k = maxi
|
a
|
ij
j
Adems si A es simtrica entonces k A k2 = maxi {| i |}
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

82 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Solucin:
Ax = x

A1 x = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Solucin:
Ax = x

A1 x =

1
x

k A1 k2 = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Solucin:
Ax = x

A1 x =

1
x

k A1 k2 =

1
mini {i }

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Nota: En el caso del ejemplo de matrix 4x4 anterior los autovalores de


la matriz son 0.01, 0.84, 3.86, y 30.29, por tanto el condicionamiento
sera
30.29
= 3029
(A)2 =
0.01
lo cual indica un condicionamiento bastante malo.

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Ejemplos
A=

0
0

!
(A)2 = ?

| A |= 0

(A)2 = ?

(A)2

?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Ejemplos
A=

0
0

!
(A)2 = 1

| A |= 0

(A)2 = ?

(A)2

?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Ejemplos
A=

0
0

!
(A)2 = 1

| A |= 0

(A)2 =

(A)2

?
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Problema
Demostrar que, si A es simtrica entonces, para la norma 2, se
cumple que
(A)2 =k A k2 k A1 k2 =

maxi {| i |}
mini {| i |}

Ejemplos
A=

0
0

!
(A)2 = 1

| A |= 0

(A)2 =

(A)2

(A)2
ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

83 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Ejemplo

A=

1 0
1 2


=

1
21

1
2

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

84 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Ejemplo

A=

1 0
1 2


=

1
21

1
2

(A)2 = kAk2 kA1 k2 = ?


(A)1 = kAk1 kA1 k1 = ?
(A) = kAk kA1 k = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

84 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Ejemplo


1 0
1 2

1
21

A =
1
2
q
q
(A)2 = kAk2 kA1 k2 = (t AA) (t A1 A1 ) = 2. 618
A=

(A)1 = kAk1 kA1 k1 = ?


(A) = kAk kA1 k = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

84 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Ejemplo


1 0
1 2

1
21

A =
1
2
q
q
(A)2 = kAk2 kA1 k2 = (t AA) (t A1 A1 ) = 2. 618
A=

(A)1 = kAk1 kA1 k1 = 2

3
=3
2

(A) = kAk kA1 k = ?

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

84 / 84

Anlisis Numrico Matricial II


Condicionamiento de una matriz

Ejemplo


1 0
1 2

1
21

A =
1
2
q
q
(A)2 = kAk2 kA1 k2 = (t AA) (t A1 A1 ) = 2. 618
A=

3
=3
2
=31=3

(A)1 = kAk1 kA1 k1 = 2


(A) = kAk kA1 k

ULPGCLogo

Luis Alvarez Len

Mtodos Numricos

Univ. de Las Palmas de G.C.

84 / 84

Potrebbero piacerti anche