Métodos Numéricos Grado en Informática Tema 6: Análisis Numérico Matricial II Luis Alvarez León
Univ. de Las Palmas de G.C.
ULPGCLogo
Contenido 1
Nociones básicas sobre matrices y vecto vectores res
2
Método de Jacobi para calcular calcular autovalores autovalores de matrices matrices simétricas
3
Método Métod o de la potencia potencia para calcular calcular el autova autovalor lor máximo
4
Métodos iterativ iterativos os de resolución de sistemas de ecuaciones ecuaciones
5
Método de Newton-Raphson Newton-Raphson para sistemas no-lineales
6
Condicionamiento de una matriz ULPGCLogo
Contenido 1
Nociones básicas sobre matrices y vecto vectores res
2
Método de Jacobi para calcular calcular autovalores autovalores de matrices matrices simétricas
3
Método Métod o de la potencia potencia para calcular calcular el autova autovalor lor máximo
4
Métodos iterativ iterativos os de resolución de sistemas de ecuaciones ecuaciones
5
Método de Newton-Raphson Newton-Raphson para sistemas no-lineales
6
Condicionamiento de una matriz ULPGCLogo
Contenido 1
Nociones básicas sobre matrices y vecto vectores res 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
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano. La distancia Euclídea
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano. La distancia L 1
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano. La distancia L
∞
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
,
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea =
,
?
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea =
− (3
,
1)2 + (7
− 2)2
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea = Distancia L1 = ?
− (3
,
1)2 + (7
− 2)2
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea = Distancia L1 = 3
− (3
,
1)2 + (7
− 2)2
| −1|+|7−2|
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea = Distancia L1 = 3
− (3
,
1)2 + (7
− 2)2
| −1|+|7−2|
Distancia L∞ = ?
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea = Distancia L1 = 3
− (3
,
1)2 + (7
− 2)2
| −1|+|7−2| Distancia L∞ = | 7 − 2 |
ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea = Distancia L1 = 3
− (3
,
1)2 + (7
− 2)2
| −1|+|7−2| Distancia L∞ = | 7 − 2 | Orden entre las distancias
?
≤
?
≤
? ULPGCLogo
Análisis Numérico Matricial II Distancia entre 2 puntos en el plano
Consideremos los puntos (1 2) y ( 3 7) ,
Distancia Euclídea = Distancia L1 = 3
− (3
,
1)2 + (7
− 2)2
| −1|+|7−2| Distancia L∞ = | 7 − 2 | Orden entre las distancias
≤ distancia Euclídea ≤ distancia L1
distancia L∞
ULPGCLogo
Contenido 1
Nociones básicas 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
Análisis Numérico Matricial II Distancia y norma L p
distancia Lp entre 2 puntos ( x 1 x 2 ) y ( x 1 x 2 ) ,
p
distancia L =
|
,
x 1 − x |p + | x 2 − x |p 1
2
1/p
ULPGCLogo
Análisis Numérico Matricial II Distancia y norma L p
distancia Lp entre 2 puntos ( x 1 x 2 ) y ( x 1 x 2 ) ,
p
distancia L =
|
,
1
2
Norma Lp de un vector x = (x 1 x 2 ,
x p =
| | N i =1
x 1 − x |p + | x 2 − x |p
x i
p
1/p
x N ) y sus propiedades
, .....
1/p
ULPGCLogo
Análisis Numérico Matricial II Distancia y norma L p
distancia Lp entre 2 puntos ( x 1 x 2 ) y ( x 1 x 2 ) ,
p
distancia L =
|
,
1
2
Norma Lp de un vector x = (x 1 x 2 ,
x p =
| | N i =1
x 1 − x |p + | x 2 − x |p
x i
p
1/p
x N ) y sus propiedades
, .....
1/p
Propiedades 1
x p = 0
si y sólo si x = 0 ULPGCLogo
Análisis Numérico Matricial II Distancia y norma L p
distancia Lp entre 2 puntos ( x 1 x 2 ) y ( x 1 x 2 ) ,
p
distancia L =
|
,
1
2
Norma Lp de un vector x = (x 1 x 2 ,
x p =
| | N i =1
x 1 − x |p + | x 2 − x |p
x i
p
1/p
x N ) y sus propiedades
, .....
1/p
Propiedades 1 2
x p = 0 si y sólo si x = 0 λx p =| λ | x p para todo λ y x
ULPGCLogo
Análisis Numérico Matricial II Distancia y norma L p
distancia Lp entre 2 puntos ( x 1 x 2 ) y ( x 1 x 2 ) ,
p
distancia L =
|
,
1
2
Norma Lp de un vector x = (x 1 x 2 ,
x p =
| | N i =1
x 1 − x |p + | x 2 − x |p
x i
p
1/p
x N ) y sus propiedades
, .....
1/p
Propiedades 1 2 3
x p = 0 si y sólo si x = 0 λx p =| λ | x p para todo λ y x x + y p ≤ x p + y p para todo x , y
ULPGCLogo
Análisis Numérico Matricial II Lugar geométrico de los puntos que verifican x 2 ≤ 1
Cual es el lugar geométrico de los puntos que verifican
x 2=
x 12 + x 22
≤ 1
ULPGCLogo
Análisis Numérico Matricial II Lugar geométrico de los puntos que verifican x 2 ≤ 1
Cual es el lugar geométrico de los puntos que verifican
x 2=
x 12 + x 22
≤ 1
ULPGCLogo
Análisis Numérico Matricial II Lugar geométrico de los puntos que verifican x 1 ≤ 1
Cual es el lugar geométrico de los puntos que verifican
x 1=| x 1 | + | x 2 |≤ 1
ULPGCLogo
Análisis Numérico Matricial II Lugar geométrico de los puntos que verifican x 1 ≤ 1
Cual es el lugar geométrico de los puntos que verifican
x 1=| x 1 | + | x 2 |≤ 1
ULPGCLogo
Análisis Numérico Matricial II Lugar geométrico de los puntos que verifican x ≤ 1 ∞
Cual es el lugar geométrico de los puntos que verifican
x 1= max {| x 1 |, | x 2 |} ≤ 1
ULPGCLogo
Análisis Numérico Matricial II Lugar geométrico de los puntos que verifican x ≤ 1 ∞
Cual es el lugar geométrico de los puntos que verifican
x 1= max {| x 1 |, | x 2 |} ≤ 1
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . ....
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_euclidea(){ . ...... . . }
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_euclidea(){ .
?
.
for(int k=0;k< ? ;k++){ norma+= ? }
.
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_euclidea(){ . double norma=0.; . . for(int k=0;k< ? ;k++){ norma+= ? }
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_euclidea(){ . double norma=0.; . . for(int k=0;k< n_;k++){ norma+= ? }
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_euclidea(){ . double norma=0.; . . for(int k=0;k< n_;k++){ norma+= data_[k]*data_[k]; }
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_euclidea(){ . double norma=0.; . . for(int k=0;k< n_;k++){ norma+= data_[k]*data_[k]; } return sqrt(norma); . . } ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::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 método haciendo ?
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma Euclídea
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::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 método haciendo double norma=x.norma_euclidea();
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . ....
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_1(){ . ...... . . }
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_1(){ .
?
.
for(int k=0;k< ? ;k++){ norma+= ? }
.
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_1(){ . double norma=0.; . . for(int k=0;k< ? ;k++){ norma+= ? }
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_1(){ . double norma=0.; . . for(int k=0;k< n_;k++){ norma+= ? }
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_1(){ . double norma=0.; . . for(int k=0;k< n_;k++){ norma+= mn_abs(data_[k]); }
?
. .
} ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_1(){ . double norma=0.; . . for(int k=0;k< n_;k++){ norma+= mn_abs(data_[k]); } return norma; . . } ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::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 método haciendo ?
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma 1
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::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 método haciendo double norma=x.norma_1();
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . ....
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ . ...... . . }
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ .
?
.
for(int k=0;k< ? ;k++){ ? }
. .
?
. .
}
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ . double norma=0.; . . for(int k=0;k< ? ;k++){ ? } .
?
. .
}
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ . double norma=0.; . . for(int k=0;k< n_;k++){ ? } .
?
. .
}
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ . double norma=0.; . . for(int k=0;k< n_;k++){ if(norma
?
. .
}
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ . double norma=0.; . . for(int k=0;k< n_;k++){ if(norma
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ . double norma=0.; . . for(int k=0;k< n_;k++){ if(norma
Análisis Numérico Matricial II Creación de métodos en la clase Array1D para calcular la norma infinito
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: . template double Array1D::norma_inf(){ . double norma=0.; . . for(int k=0;k< n_;k++){ if(norma
Análisis Numérico Matricial II Uso de la norma para calcular distancias
Sopongamos que tenemos 2 instancias x1 y x2 de la clase Array1D, es decir Array1D x1; Array1D x2; Para calcular la distancia Euclídea entre x1 y x2 usando el método para calcular la norma Euclídea que hemos creado podemos hacer : real distancia_euclidea =
?;
ULPGCLogo
Análisis Numérico Matricial II Uso de la norma para calcular distancias
Sopongamos que tenemos 2 instancias x1 y x2 de la clase Array1D, es decir Array1D x1; Array1D x2; Para calcular la distancia Euclídea entre x1 y x2 usando el método para calcular la norma Euclídea que hemos creado podemos hacer : real distancia_euclidea = (x1-x2).norma_euclidea();
ULPGCLogo
Contenido 1
Nociones básicas 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
Análisis Numérico Matricial II Norma de una matriz
Sea A una matriz y sea . una norma vectorial. Se define la norma de A, subordinada a la norma vectorial . como
A = supx =0 Ax x
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Sea A una matriz y sea . una norma vectorial. Se define la norma de A, subordinada a la norma vectorial . como
A = supx =0 Ax x Vamos, en primer lugar, a diseñar un código en C++ básico para aproximar la norma Euclídea de una matriz a partir de esta definición. Para ello necesitamos un procedimiento para crear vectores aleatorios, lo cual haremos creando un constructor especial de la clase Array1D y después implementaremos un procedimiento para aproximar la norma de la matriz.
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos para hacer un constructor de un array de tamaño N y coordenadas aleatorias en el intervalo [a,b].
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . ....
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos para hacer un constructor de un array de tamaño N y coordenadas aleatorias en el intervalo [a,b].
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: template . . double Array1D::Array1D(int N,T a, T b){ ...... . . }
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos para hacer un constructor de un array de tamaño N y coordenadas aleatorias en el intervalo [a,b].
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: template . . double Array1D::Array1D(int N,T a, T b){
?
.
for(int k=0;k< ? ;k++){ data_[k]= ? }
. .
. .
}
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos para hacer un constructor de un array de tamaño N y coordenadas aleatorias en el intervalo [a,b].
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: template . . double Array1D::Array1D(int N,T a, T b){ Array1D aux(N); . . *this=aux; for(int k=0;k< ? ;k++){ . data_[k]= ? . . } } .
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos para hacer un constructor de un array de tamaño N y coordenadas aleatorias en el intervalo [a,b].
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: template . . double Array1D::Array1D(int N,T a, T b){ Array1D aux(N); . . *this=aux; for(int k=0;k< n_;k++){ . data_[k]= ? . . } } .
ULPGCLogo
Análisis Numérico Matricial II Creación de métodos para hacer un constructor de un array de tamaño N y coordenadas aleatorias en el intervalo [a,b].
template class Array1D{ . private: . T* data_; // puntero al comienzo del array int n_; //dimensión de array . . .... . public: template . . double Array1D::Array1D(int N,T a, T b){ Array1D aux(N); . . *this=aux; for(int k=0;k< n_;k++){ . data_[k]= a+ (b-a)*rand()/RAND_MAX; . . } } .
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x real norma_euclidea(Array2D &A,int Niteraciones) { real norma=0.; . . for(int k=0;k ? ; . . real temp=? if(? ){ ? } . } . .
?
}
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x real norma_euclidea(Array2D &A,int Niteraciones) { real norma=0.; . . for(int k=0;k x(A.dim1(),(real) -1.,(real) 1.); . . real temp=? if(? ){ ? } . } . .
?
}
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x real norma_euclidea(Array2D &A,int Niteraciones) { real norma=0.; . . for(int k=0;k x(A.dim1(),(real) -1.,(real) 1.); . . real temp= (A*x).norma_euclidea()/x.norma_euclidea(); if(? ){ ? } . } . .
?
}
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x real norma_euclidea(Array2D &A,int Niteraciones) { real norma=0.; . . for(int k=0;k x(A.dim1(),(real) -1.,(real) 1.); . . real temp= (A*x).norma_euclidea()/x.norma_euclidea(); if( temp>norma){ ? } . } . .
?
}
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x real norma_euclidea(Array2D &A,int Niteraciones) { real norma=0.; . . for(int k=0;k x(A.dim1(),(real) -1.,(real) 1.); . . real temp= (A*x).norma_euclidea()/x.norma_euclidea(); if( temp>norma){ norma=temp; } . } . .
?
}
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x real norma_euclidea(Array2D &A,int Niteraciones) { real norma=0.; . . for(int k=0;k x(A.dim1(),(real) -1.,(real) 1.); . . real temp= (A*x).norma_euclidea()/x.norma_euclidea(); if( temp>norma){ norma=temp; } . } . . return norma; }
ULPGCLogo
Análisis Numérico Matricial II Código C++ Cálculo de la norma Euclídea de una matriz
A = supx =0 Ax x real norma_euclidea(Array2D &A,int Niteraciones) { real norma=0.; . . for(int k=0;k 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 aproximación (no el valor exacto). Además, en la práctica, especialmente si la dimensión de la matriz es grande, habría que hacer un número de iteraciones gigantesco para ULPGCLogo estar seguros de que nos acercamos al valor real.
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
A = supx =0 Ax x
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
A = supx =0 Ax x Ejemplos λ 0 0 λ
= sup λx x = sup |λ|x x = λ x =0
x =0
||
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
A = supx =0 Ax x Ejemplos 2 0 0 1
2
√ (2x ) +x = sup √ x +x x =0
1 2 1
2 2
2
2 2
=?
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 2 0 0 1
2
A = supx =0 Ax x √ (2x ) +x √ (2·1) +0 = sup √ = √ =2 x +x 1 +0 x =0
1 2 1
2 2
2
2 2
2
2
2
2
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 2 0 0 1
2 0 0 1
2
1
A = supx =0 Ax x √ (2x ) +x √ (2·1) +0 = sup √ = √ =2 x +x 1 +0 x =0
1 2 1
2 2
2
2 2
2
2
2
2
1 |+|x 2 | ? = sup ||2x x 1 |+|x 2 | =
x =0
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 2 0 0 1
2 0 0 1
2
1
A = supx =0 Ax x √ (2x ) +x √ (2·1) +0 = sup √ = √ =2 x +x 1 +0 x =0
1 2 1
2 2
2
2 2
1 |+|x 2 | = sup ||2x x 1 |+|x 2 | =
x =0
2
2
|2·1|+|0| |1|+|0|
2
2
=2
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 2 0 0 1
2 0 0 1 2 0 0 1
2
1
A = supx =0 Ax x √ (2x ) +x √ (2·1) +0 = sup √ = √ =2 x +x 1 +0 x =0
1 2 1
2 2
2
2 2
1 |+|x 2 | = sup ||2x x 1 |+|x 2 | =
∞
x =0
2
2
|2·1|+|0| |1|+|0|
2
2
=2
{|2x 1 |,|x 2 |} = ? = sup max max {|x 1 |,|x 2 |} x =0
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 2 0 0 1
2 0 0 1 2 0 0 1
2
1
A = supx =0 Ax x √ (2x ) +x √ (2·1) +0 = sup √ = √ =2 x +x 1 +0 x =0
1 2 1
2 2
2
2 2
1 |+|x 2 | = sup ||2x x 1 |+|x 2 | =
∞
x =0
2
2
|2·1|+|0| |1|+|0|
{|2x 1 |,|x 2 |} = = sup max max {|x 1 |,|x 2 |} x =0
2
2
=2
max 2 1 , 0 max 1 , 0
{| · | | |} {| | | |}
=2 ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
A = supx =0 Ax x Ejemplos 1 0 1 1
√ x +(x +x ) = sup √ x +x 2 1
2
x =0
1
2 1
2
2 2
2
=?
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 1 0 1 1
A = supx =0 Ax x √ x +(x +x ) √ (1+√ 5) +(1+√ 5+2) √ = sup √ = √ x +x (1+ 5) +(2) 2 1
2
x =0
1
2 1
2
2 2
2
2
2
2
2
= 1. 618
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 1 0 1 1
1 0 1 1
2
A = supx =0 Ax x √ x +(x +x ) √ (1+√ 5) +(1+√ 5+2) √ = sup √ = √ x +x (1+ 5) +(2)
1
|x 1 +x 2 | = ? = sup |x 1|x |+ 1 |+|x 2 |
2 1
x =0
1
2 1
2
2
2 2
2
2
2
2
= 1. 618
x =0
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 1 0 1 1
1 0 1 1
2
A = supx =0 Ax x √ x +(x +x ) √ (1+√ 5) +(1+√ 5+2) √ = sup √ = √ x +x (1+ 5) +(2)
1
|x 1 +x 2 | = = sup |x 1|x |+ 1 |+|x 2 |
2 1
x =0
x =0
1
2 1
2
2
2
2 2
2
2
|1+|1+0| |1|+|0|
2
= 1. 618
=2
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 1 0 1 1
1 0 1 1 1 0 1 1
2
A = supx =0 Ax x √ x +(x +x ) √ (1+√ 5) +(1+√ 5+2) √ = sup √ = √ x +x (1+ 5) +(2)
1
|x 1 +x 2 | = = sup |x 1|x |+ 1 |+|x 2 |
2 1
x =0
∞
x =0
1
2 1
2
2
2
2 2
2
2
|1+|1+0| |1|+|0|
2
= 1. 618
=2
{|x 1 |,|x 1 +x 2 |} = ? = sup max max {|x 1 |,|x 2 |} x =0
ULPGCLogo
Análisis Numérico Matricial II Norma de una matriz
Veamos ahora como se puede calcular la norma de una matriz matemáticamente sin necesidad de realizar un procedimiento aleatorio.
Ejemplos 1 0 1 1
1 0 1 1 1 0 1 1
2
A = supx =0 Ax x √ x +(x +x ) √ (1+√ 5) +(1+√ 5+2) √ = sup √ = √ x +x (1+ 5) +(2)
1
|x 1 +x 2 | = = sup |x 1|x |+ 1 |+|x 2 |
2 1
x =0
∞
x =0
1
2 1
2
2
2
2 2
2
|1+|1+0| |1|+|0|
{|x 1 |,|x 1 +x 2 |} = = sup max max {|x 1 |,|x 2 |} x =0
2
2
= 1. 618
=2
max 1 , 1+1 max 1 , 1
{| | | |} {| | | |}
=2 ULPGCLogo
Análisis Numérico Matricial II Cálculo de las normas de una matriz
Teorema Sea A una matriz cualquiera, entonces
A 2 =
máximo de los autovalores de t AA
ULPGCLogo
Análisis Numérico Matricial II Cálculo de las normas de una matriz
Teorema Sea A una matriz cualquiera, entonces
A 2= máximo de los A 1= max j i | a ij |
autovalores de t AA
ULPGCLogo
Análisis Numérico Matricial II Cálculo de las normas de una matriz
Teorema Sea A una matriz cualquiera, entonces
A 2= máximo de los A 1= max j i | a ij | A ∞= max i j | a ij |
autovalores de t AA
ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
1 0 1 2
ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
Solución: para calcular A la matriz 1 1 0 2
1 0 1 2
2, calculamos primero los autovalores de
1 0 1 2
=
2 2 2 4
que se calculan usando el polinomio característico
ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
Solución: para calcular A la matriz 1 1 0 2
1 0 1 2
2, calculamos primero los autovalores de
1 0 1 2
=
2 2 2 4
que se calculan usando el polinomio característico
− √ 2
λ
2
= λ 2
− 6λ + 4 √ cuyas raíces son 3 ± 5. Por tanto A 2 = 3 + 5. 2
4
−λ
ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
Solución: para calcular A la matriz 1 1 0 2
1 0 1 2
2, calculamos primero los autovalores de
1 0 1 2
=
2 2 2 4
que se calculan usando el polinomio característico
− √ 2
λ
2
= λ 2
− 6λ + 4 √ cuyas raíces son 3 ± 5. Por tanto A 2 = 3 + 5. Por otro lado 2
4
−λ
ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
Solución: para calcular A la matriz 1 1 0 2
1 0 1 2
2, calculamos primero los autovalores de
1 0 1 2
=
2 2 2 4
que se calculan usando el polinomio característico
− − √ ± | | 2
λ
A 1= max j
i
= λ 2
− 6λ + 4 √ 5. Por tanto A = 3 + 5. Por otro lado 2
cuyas raíces son 3
2
a ij
4
λ
=?
2
ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
Solución: para calcular A la matriz 1 1 0 2
1 0 1 2
2, calculamos primero los autovalores de
1 0 1 2
=
2 2 2 4
que se calculan usando el polinomio característico
− − √ ± | | 2
λ
A 1= max j
i
= λ 2
− 6λ + 4 √ 5. Por tanto A = 3 + 5. Por otro lado 2
cuyas raíces son 3
2
a ij
4
= 2
λ
2
ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
Solución: para calcular A la matriz 1 1 0 2
1 0 1 2
2, calculamos primero los autovalores de
1 0 1 2
=
2 2 2 4
que se calculan usando el polinomio característico
− − √ ± | | | | 2
λ
A 1= max j A ∞= max i
= λ 2
− 6λ + 4 √ 5. Por tanto A = 3 + 5. Por otro lado 2
cuyas raíces son 3
2
4
a ij
i
j
a ij
λ
= 2
2
=? ULPGCLogo
Ejemplo cálculo normas matrices Ejemplo: Calcular las normas 2 , 1 e infinito de la matriz A =
Solución: para calcular A la matriz 1 1 0 2
1 0 1 2
2, calculamos primero los autovalores de
1 0 1 2
=
2 2 2 4
que se calculan usando el polinomio característico
− − √ ± | | | | 2
λ
A 1= max j A ∞= max i
= λ 2
− 6λ + 4 √ 5. Por tanto A = 3 + 5. Por otro lado 2
cuyas raíces son 3
2
4
a ij
i
j
a ij
λ
= 2
2
= 3 ULPGCLogo
Contenido 1
Nociones básicas 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
Análisis Numérico Matricial II Producto escalar de 2 vectores
DEFINICION: Producto escalar de 2 vectores N
(x i , x j ) =
(x i )k x j
k
k =1
donde (x i )k indica la coordenada k -ésima del vector x i .
ULPGCLogo
Análisis Numérico Matricial II Producto escalar de 2 vectores
DEFINICION: Producto escalar de 2 vectores N
(x i , x j ) =
(x i )k x j
k
k =1
donde (x i )k indica la coordenada k -ésima del vector x i . Ejemplo: Sean x 1 = (1, 2, 3)T y x 2 = (9, 8, 5)T , entonces :
−
(x 1 , x 2 ) = ?
ULPGCLogo
Análisis Numérico Matricial II Producto escalar de 2 vectores
DEFINICION: Producto escalar de 2 vectores N
(x i i , x j ) =
(x i i )k x j
k
k =1
donde (x i i )k indica la coordenada k -ésima -ésima del vector x i i . Ejemplo: Sean x 1 = (1, 2, 3)T y x 2 = (9, 8, 5)T , entonces :
−
(x 1 , x 2 ) = 1 9 + 2 8
·
· − 3 · 5 = 10 ULPGCLogo
Análisis Numérico Matricial II Producto escalar de 2 vectores
DEFINICION: Producto escalar de 2 vectores N
(x i i , x j ) =
(x i i )k x j
k
k =1
donde (x i i )k indica la coordenada k -ésima -ésima del vector x i i . Ejemplo: Sean x 1 = (1, 2, 3)T y x 2 = (9, 8, 5)T , entonces :
−
(x 1 , x 2 ) = 1 9 + 2 8
·
Propiedad importante: importante:
x 2= ?
· − 3 · 5 = 10 ULPGCLogo
Análisis Numérico Matricial II Producto escalar de 2 vectores
DEFINICION: Producto escalar de 2 vectores N
(x i i , x j ) =
(x i i )k x j
k
k =1
donde (x i i )k indica la coordenada k -ésima -ésima del vector x i i . Ejemplo: Sean x 1 = (1, 2, 3)T y x 2 = (9, 8, 5)T , entonces :
−
(x 1 , x 2 ) = 1 9 + 2 8
· − 3 · 5 = 10
·
Propiedad importante: importante:
x 2=
(x , x )
ULPGCLogo
Análisis Numérico Matricial II Normalizar vectores
Normalizar vectores Dado un vector x vector x normalizarlo normalizarlo respecto a la norma el vector por su norma, es decir, hacer
. consiste consiste en dividir dividir
x x
La norma de un vector normalizado es 1.
ULPGCLogo
Análisis Numérico Matricial II Normalizar vectores
Normalizar vectores Dado un vector x vector x normalizarlo normalizarlo respecto a la norma el vector por su norma, es decir, hacer
. consiste consiste en dividir dividir
x x
La norma de un vector normalizado es 1. Ejemplo:Sea x Ejemplo:Sea x = (1, 2, 3)T , normalizar el vector depende de la norma considerada y consiste en hacer :
−
x x
2
=?
x x
1
=?
x =? x ∞
ULPGCLogo
Análisis Numérico Matricial II Normalizar vectores
Normalizar vectores Dado un vector x normalizarlo respecto a la norma el vector por su norma, es decir, hacer
. consiste en dividir
x x
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 x
2
=
√ √ − √ 1/ 14 2/ 14 3/ 14
x x
1
=?
x =? x ∞
ULPGCLogo
Análisis Numérico Matricial II Normalizar vectores
Normalizar vectores Dado un vector x normalizarlo respecto a la norma el vector por su norma, es decir, hacer
. consiste en dividir
x x
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 x
2
=
√ √ − √ 1/ 14 2/ 14 3/ 14
x x
1
=
− 1/6 2/6 3/6
x =? x ∞
ULPGCLogo
Análisis Numérico Matricial II Normalizar vectores
Normalizar vectores Dado un vector x normalizarlo respecto a la norma el vector por su norma, es decir, hacer
. consiste en dividir
x x
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 x
2 =
√ √ − √ 1/ 14 2/ 14 3/ 14
x x
1 =
− 1/6 2/6 3/6
x = x ∞
− 1/3 2/3 3/3
ULPGCLogo
Contenido 1
Nociones básicas 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
Análisis Numérico Matricial II Base ortonormal de vectores
DEFINICION: Base ortonormal de vectores Una base ortornormal de vectores de R N son N vectores x 1 ,....x N normalizados y tal que el producto escalar entre todos ellos es 0 (es decir los vectores son ? entre sí).
ULPGCLogo
Análisis Numérico Matricial II Base ortonormal de vectores
DEFINICION: Base ortonormal de vectores Una base ortornormal de vectores de R N son N vectores x 1 ,....x N normalizados y tal que el producto escalar entre todos ellos es 0 (es decir los vectores son perpendiculares entre sí).
ULPGCLogo
Análisis Numérico Matricial II Base ortonormal de vectores
DEFINICION: Base ortonormal de vectores Una base ortornormal de vectores de R N son N vectores x 1 ,....x N 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 0 0 0 1 0 0 0 1
√ /
√ √ −1√ / 6 1 2 1/√ 3 0 √ 1/ √ 3 2/√ 6 1/ 2 −1/ 3 1/ 6
−
cos(α) sin(α) 0 sin(α) cos(α) 0 0 0 1
ULPGCLogo
Contenido 1
Nociones básicas 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
Análisis Numérico Matricial II Autovalores de una matriz
Definición Un autovalor de A es un número real λ tal que existe un vector x, denominado autovector, tal que Ax = λx
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz
Definición Un autovalor de A es un número real λ tal que existe un vector x, denominado autovector, tal que Ax = λx
Definición Se denomina polinomio característico P (λ) de la matriz A, al polinomio dado por el determinante P (λ) = A
| − λI | ULPGCLogo
Análisis Numérico 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
Análisis Numérico 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.
Solución: tenemos que calcular los ceros del polinomio característico ?
ULPGCLogo
Análisis Numérico 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.
Solución: tenemos que calcular los ceros del polinomio característico A λi Id = 0
| −
|
ULPGCLogo
Análisis Numérico 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.
Solución: tenemos que calcular los ceros del polinomio característico A λi Id = 0
| −
|
1
−λ 1 0
1 1
−λ 0
0 0 2
−λ
= ((1
− λ)2 − 1)(2 − λ) = 0 ULPGCLogo
Análisis Numérico 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.
Solución: tenemos que calcular los ceros del polinomio característico A λi Id = 0
| −
|
1
−λ 1 0
1 1
−λ 0
0 0 2
−λ
= ((1
− λ)2 − 1)(2 − λ) = 0
de donde obtenemos λ 1 = 0, λ 2 = 2 y λ 3 = 2
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
λ1 = 0
1 1 0 1 1 0 0 0 2
→ x 1 x 2 x 3
=
0 0 0
x 1 =
−x 2
x 3 = 0
→
x¯1 = ?
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
λ1 = 0
1 1 0 1 1 0 0 0 2
→ x 1 x 2 x 3
=
0 0 0
x 1 =
−x 2
x 3 = 0
→
x¯1 =
√ 1 −√ 12 2 0
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
λ1 = 0
→ − − → 1 1 0 1 1 0 0 0 2
x 1 x 2 x 3
x 1 =
0 0 0
=
−x 2
x 3 = 0
λ2 , λ3 = 2 1 1 0
1 0 1 0 0 0
x 1 x 2 x 3
=
0 0 0
?
→
→
x¯1 =
√ 1 −√ 12 2 0
x¯2 = ?, x¯3 = ?
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
λ1 = 0
− → − − → 1 1 0 1 1 0 0 0 2
x 1 x 2 x 3
x 1 =
0 0 0
=
x 2
x 3 = 0
→
x¯1 =
1 0 1 0 0 0
x 1 x 2 x 3
=
0 0 0
x 1 = x 2 x 3 libre
√ 1 −√ 12 2 0
λ2 , λ3 = 2 1 1 0
→
x¯2 = ?, x¯3 = ?
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
λ1 = 0
− → − − →
1 1 0 1 1 0 0 0 2
x 1 x 2 x 3
x 1 =
0 0 0
=
x 2
x 3 = 0
→
x¯1 =
1 0 1 0 0 0
x 1 x 2 x 3
=
0 0 0
x 1 = x 2 x 3 libre
√ 1 −√ 12 2 0
λ2 , λ3 = 2 1 1 0
→
x¯2 =
√ 1 2 1 √ 2
, x¯3 = ?
0
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
λ1 = 0
− → − − →
1 1 0 1 1 0 0 0 2
x 1 x 2 x 3
x 1 =
0 0 0
=
x 2
x 3 = 0
→
x¯1 =
1 0 1 0 0 0
x 1 x 2 x 3
=
0 0 0
x 1 = x 2 x 3 libre
√ 1 −√ 12 2 0
λ2 , λ3 = 2 1 1 0
→
x¯2 =
√ 1 2 1 √ 2 0
, x¯3 =
0 0 1
ULPGCLogo
Análisis Numérico Matricial II Autovalores de una matriz Calculamos los autovectores de A :
λ1 = 0
− → → − − → →
1 1 0 1 1 0 0 0 2
x 1 x 2 x 3
x 1 =
0 0 0
=
x 2
x¯1 =
x 3 = 0
λ2 , λ3 = 2 1 1 0
1 0 1 0 0 0
x 1 x 2 x 3
=
x 1 = x 2
0 0 0
x 3 libre
La matriz,
B =
√ 12 √ 12 −1 √ 1 √ 2
0
2
0
√ 1 −√ 12 2 0
x¯2 =
√ 1 2 1 √ 2 0
, x¯3 =
0 0 1
0
0 1
contiene los autovectores de A que forman una base ortonormal de R 3 .
ULPGCLogo
Análisis Numérico Matricial II Autovalores de matrices simétricas
Teorema Todas las matrices simétricas poseen una base ortonormal de autovectores. Por tanto, poseen tantos autovalores como dimensión tenga la matriz (aunque alguno de los autovalores puede salir repetido)
ULPGCLogo
Análisis Numérico Matricial II Autovalores de matrices simétricas
Teorema Todas las matrices simétricas poseen una base ortonormal de autovectores. Por tanto, poseen tantos autovalores como dimensión 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
Análisis Numérico Matricial II Autovalores de matrices simétricas
Teorema Todas las matrices simétricas poseen una base ortonormal de autovectores. Por tanto, poseen tantos autovalores como dimensión 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
Análisis Numérico Matricial II Autovalores de matrices simétricas
Teorema Todas las matrices simétricas poseen una base ortonormal de autovectores. Por tanto, poseen tantos autovalores como dimensión 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
y tiene como autovector
tiene como autovalor λ = 1
? ULPGCLogo
Análisis Numérico Matricial II Autovalores de matrices simétricas
Teorema Todas las matrices simétricas poseen una base ortonormal de autovectores. Por tanto, poseen tantos autovalores como dimensión 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
Contenido 1
Nociones básicas sobre matrices y vectores
2
Método de Jacobi para calcular autovalores de matrices simétricas
3
Método de la potencia para calcular el autovalor máximo
4
Métodos iterativos de resolución de sistemas de ecuaciones
5
Método de Newton-Raphson para sistemas no-lineales
6
Condicionamiento de una matriz ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas
Este método 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
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas
Este método 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
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas
Este método 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 ⇒
λ es autovalor de A para el autovector Rx
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas
Este método 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 ⇒
λ es autovalor de A para el autovector Rx
Las matrices R que se van a utilizar son matrices de rotación : R =
cos α sin α sin α cos α
−
⇒
R −1 =?
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas
Este método 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 ⇒
λ es autovalor de A para el autovector Rx
Las matrices R que se van a utilizar son matrices de rotación : R =
cos α sin α sin α cos α
−
⇒
R −1 =
cos α sin α
− sin α cos α
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas
Este método 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 ⇒
λ es autovalor de A para el autovector Rx
Las matrices R que se van a utilizar son matrices de rotación : R =
cos α sin α sin α cos α
−
⇒
R −1 =
cos α sin α
− sin α cos α
En 3 variables las matrices de rotación respecto a cada eje son
−
cos α sin α 0 sin α cos α 0 0 0 1
−
cos α 0 sin α 0 1 0 sin α 0 cos α
1 0 0 0 cos α sinULPGCLogo α 0 sin α cos α
−
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal.
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
− −
−
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
−
tan (2α) = ?
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
1 1 1 1
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) = ?
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) =
2 0
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) =
2 0
⇒ α = ?
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) =
2 0
⇒ α = π4
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) =
2 0
⇒ α = π4 ⇒ R −1AR =
0 0 0 2
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) =
2 0
⇒ α = π4 ⇒ R −1AR =
0 0 0 2
Por tanto los autovalores y autovectores de A son :
λ1 =
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) =
2 0
⇒ α = π4 ⇒ R −1AR =
0 0 0 2
Por tanto los autovalores y autovectores de A son :
λ1 = 0
⇒ x = R
√ √ 1 0
=
−
2/2 2/2
λ2 =
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas El objetivo del método es convertir A en una matriz diagonal. R −1 AR =
cos α sin α
− sin α cos α
a 0,0 a 0,1 a 0,1 a 1,1
cos α sin α sin α cos α
−
=
1 1 a 0,0 cos2 α a 0,1 sin2α + a 1,1 sin2 α a 0,1 cos2α a 1 1 , 2 2 a 0,0 sin2α 2 1 1 2 a 0,1 cos2α a a sin2 a cos a sin2 a sin α α α + α 1 1 0 0 0 0 0 1 1 1 , , , , , 2 2
− −
−
lo que nos lleva a la condición :
− −
tan (2α) =
−
2a 0,1 a 1,1 a 0,0
−
Ejemplo A =
⇒ 1 1 1 1
tan(2α) =
2 0
⇒ α = π4 ⇒ R −1AR =
0 0 0 2
Por tanto los autovalores y autovectores de A son :
λ1 = 0
⇒ x = R
√ √ 1 0
=
−
2/2 2/2
λ2 = 2
⇒ x = R
√ √ 0 1
=
2/2 2/2
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas Ejemplo
−
1 1 2
−1 2 2 −1 −1 5
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas Ejemplo
?
−
1 1 2
−1 2 2 −1 −1 5
?
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas Ejemplo
cos α 0 0 1 sin α 0
− sin α 0 cos α
−
1 1 2
−1 2 2 −1 −1 5
−
cos α 0 sin α 0 1 0 sin α 0 cos α
ULPGCLogo
Análisis Numérico Matricial II Método de Jacobi para calcular autovalores de matrices simétricas Ejemplo
cos α 0 0 1 sin α 0
− sin α 0 cos α
−
1 1 2
−1 2 2 −1 −1 5
−
cos α 0 sin α 0 1 0 sin α 0 cos α
tan(2α) =
ULPGCLogo