Actualizado el 21 de Marzo del 2018 (Publicado el 7 de Noviembre del 2017)
1.086 visualizaciones desde el 7 de Noviembre del 2017
70,3 KB
4 paginas
Creado hace 10a (07/12/2014)
Operaciones con el producto interno en GNU Octave
Objetivos. Aprender a usar operaciones del lenguaje GNU Octave que permiten traba-
jar con el producto interno, calcular la proyecci´on ortogonal de un vector al subespacio
generado por una lista ortogonal, ortogonalizar una lista de vectores.
Requisitos. GNU Octave instalado, operaciones con matrices en GNU Octave.
Producto punto, listas ortogonales de vectores
1. Producto punto en GNU Octave. Abra el int´erprete de GNU Octave y ejecute los
siguientes comandos uno por uno:
a = [3; -1; 4]
b = [1; 5; -3]
a’
a’ * b
a’ * a
norm(a) ^ 2
2. Vectores ortogonales y su matriz de Gram. Verifiquemos que tres vectores dados
son ortogonales calculando sus productos por pares. Adem´as calculemos los cuadrados de
sus normas. Luego formemos una matriz de los tres vectores (columnas) dados y calcule-
mos su matriz de Gram.
a = [3; 5; -1; -1]
b = [-3; 3; 5; 1]
c = [2; -1; 2; -1]
[a’ * b, a’ * c, b’ * c]
[a’ * a, b’ * b, c’ * c]
abc = [a b c]
G = abc’ * abc
Operaciones con el producto interno en GNU Octave, p´agina 1 de 4
Combinaci´on lineal de una lista de vectores ortogonales no nulos
3. Coeficientes de una combinaci´on lineal de vectores ortogonales. Formemos
una combinaci´on lineales de los tres vectores ortogonales dados en el ejercicio anterior
y mostremos que los coeficientes de esta combinaci´on lineal se pueden recuperar como
ciertos cocientes de productos internos.
a = [3; 5; -1; -1]
b = [-3; 3; 5; 1]
c = [2; -1; 2; -1]
v = - a + b + 3 * c
la1 = (a’ * v) / (a’ * a)
la2 = (b’ * v) / (b’ * b)
la3 = (c’ * v) / (c’ * c)
4. Identidad de Pit´agoras–Parseval. Seguimos trabajando con los vectores a, b, c, v
del ejercicio anterior y con coeficientes calculados.
norm(la1 * a) ^ 2
la1 ^ 2 * (a’ * a)
norm(la1 * a) ^ 2 + norm(la2 * b) ^ 2 + norm(la3 * c) ^ 2
la1 ^ 2 * (a’ * a) + la2 ^ 2 * (b’ * b) + la3 ^ 3 * (c’ * c)
v’ * v
5. Independencia lineal de vectores ortogonales no nulos. Seguimos trabajando
con los mismos vectores a, b, c.
abc = [a b c]
rank(abc)
Operaciones con el producto interno en GNU Octave, p´agina 2 de 4
Proyecci´on ortogonal
6. Proyecci´on ortogonal de un vector al otro. Dados dos vectores a y v en R2,
calculemos λ ∈ R tal que a ⊥ (v − λa). Denotemos λa por u y v − λa por w. Verifiquemos
que se cumple el teorema de Pit´agoras para los vectores u, w, v.
a = [-3; 2]
v = [-8; 1]
a’ * a
norm(a) ^ 2
a’ * v
lambda = (a’ * v) / (a’ * a)
u = lambda * a
w = v - u
a’ * w
[norm(u) ^ 2 + norm(w) ^ 2, norm(v) ^ 2]
7. Proyecci´on ortogonal de un vector al subespacio generado por dos vectores
ortogonales. Dado un vector v ∈ R4 y dos vectores ortogonales a, b ∈ R4 calculemos dos
vectores u, w ∈ R4 tales que v = u + w, u ∈ (cid:96)(a, b), w ⊥ a, w ⊥ b.
a = [1; -1; -2; 1]
b = [2; 3; 1; 3]
v = [2; 10; 4; -5]
[a’ * a, b’ * b, a’ * b]
lambda1 = (a’ * v) / (a’ * a)
lambda2 = (b’ * v) / (b’ * b)
u = lambda1 * a + lambda2 * b
w = v - a
[a’ * w, b’ * w]
[norm(u) ^ 2 + norm(w) ^ 2, norm(v) ^ 2]
Operaciones con el producto interno en GNU Octave, p´agina 3 de 4
Proceso de ortogonalizaci´on de Gram–Schmidt
8. Ortogonalizaci´on de Gram–Schmidt. Dados tres vectores a1, a2, a3 ∈ R3, construi-
mos tres vectores ortogonales b1, b2, b3 ∈ R4 aplicando el algoritmo de Gram–Schmidt a los
vectores dados a1, a2, a3. Al final comprobamos que los vectores b1, b2, b3 son ortogonales
a pares y calculamos su matriz de Gram.
a1 = [-2; 5; 1; -1]
a2 = [-1; 6; 3; 4]
a3 = [-11; 20; 9; 7]
b1 = a1
b1norm2 = b1’ * b1
lambda21 = (b1’ * a2) / b1norm2
b2 = a2 - lambda21 * b1
b2norm2 = b2’ * b2
lambda31 = (b1’ * a3) / b1norm2
lambda32 = (b2’ * a3) / b2norm2
b3 = a3 - lambda31 * b1 - lambda32 * b2
b3norm2 = b3’ * b3
b1b2b3 = [b1 b2 b3]
[b1’ * b2, b1’ * b3, b2’ * b3]
G = b1b2b3’ * b1b2b3
Operaciones con el producto interno en GNU Octave, p´agina 4 de 4
Comentarios de: Operaciones con el producto interno en GNU Octave (0)
No hay comentarios