Algunos algoritmos para matrices de Toeplitz

Documentos relacionados
V 2 : vectores libres en el plano

Métodos directos para resolver sistemas de ecuaciones lineales

TEOREMA DE DETERMINACIÓN DE APLICACIONES LINEALES

Órdenes de la convergencia de sucesiones. Condiciones de la convergencia lineal y cuadrática del método de iteración simple

Cursada Segundo Cuatrimestre 2012 Guía de Trabajos Prácticos Nro. 1

Clase 8 Matrices Álgebra Lineal

1 SISTEMAS DE ECUACIONES LINEALES. MÉTODO DE GAUSS

Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Ejemplo:

Espacios vectoriales

Matemáticas Discretas TC1003

Matrices y determinantes

Tema 1: Matrices y Determinantes

Álgebra y Trigonometría Clase 7 Sistemas de ecuaciones, Matrices y Determinantes

MENORES, COFACTORES Y DETERMINANTES

Espacios Vectoriales, Valores y Vectores Propios

Un subconjunto no vacío H de un espacio vectorial V es un subespacio de V si se cumplen las dos reglas de cerradura:

Algebra Lineal y Geometría.

DOCENTE: JESÚS E. BARRIOS P.

Operaciones con matrices

MATRICES. Se simboliza tal matriz por y se le llamará una matriz x o matriz de orden x (que se lee por ).

Tema 5: Sistemas de ecuaciones lineales.

Algebra Lineal XXVI: La Regla de Cramer.

Panorama del curso Métodos Numéricos I

1 ÁLGEBRA DE MATRICES

Vectores y Matrices. Tema 3: Repaso de Álgebra Lineal Parte I. Contenidos

MAT web:

Definición: Dos matrices A y B son iguales si tienen el mismo orden y coinciden los elementos que ocupan el mismo lugar.

y cualquier par (x, y) puede escalarse, multiplicarse por un número real s, para obtener otro vector (sx, sy).

Guía. Álgebra II. Examen parcial III. Transformaciones lineales. Teoremas los más importantes cuyas demostraciones se pueden incluir en el examen

1. (F, +) es un grupo abeliano, denominado el grupo aditivo del campo.

Teoría de la Probabilidad Tema 2: Teorema de Extensión

Matrices invertibles. La inversa de una matriz

Álgebra Lineal V: Subespacios Vectoriales.

Descomposición en valores singulares de una matriz

Matrices triangulares y matrices ortogonales

Matrices y sistemas de ecuaciones lineales

Universidad Nacional de Ingeniería Facultad de Ciencias. Física Computacional CC063. Algebra Lineal. Prof: J. Solano 2012-I

Matriz asociada a una transformación lineal respecto a un par de bases

Definición Dados dos números naturales m y n, una matriz de orden o dimensión m n es una tabla numérica rectangular con m filas y n columnas.

DEFINICIONES TIPOS DE MATRICES DETERMINANTES Y PROPIEDADES OPERACIONES MATRICIALES INVERSA DE UNA MATRIZ SISTEMAS DE ECUACIONES

Oriol R oca. M a t L a b FUNCIONES EN MATLAB

TRA NSFORMACIO N ES LIN EA LES

!MATRICES INVERTIBLES

Formulación del problema de la ruta más corta en programación lineal

Espacios Vectoriales

4.1. Determinante de una matriz cuadrada de orden 2. , entonces el determinante de A es a 21 a 22 a 11 a 12 = a 11a 22 a 12 a 21

Objetivos formativos de Álgebra

DISEÑO CURRICULAR ALGEBRA LINEAL

Autovalores y autovectores Diagonalización y formas canónicas

Criterio de Sylvester

Sistemas de Ecuaciones Lineales

Método de diferencias finitas para ecuaciones diferenciales parciales elípticas. (Parte II)

Esta definición se puede ampliar a cualquier par de bases de los espacio inicial y final MATRIZ DE UNA APLICACIÓN LINEAL EN BASES ARBITRARIAS

Conjunto R 3 y operaciones lineales en R 3

Tema 11.- Autovalores y Autovectores.

Algebra lineal y conjuntos convexos

Codificación y decodificación de los códigos cíclicos

Tema 1. Espacios Vectoriales Definición de Espacio Vectorial

Tema 3: Espacios vectoriales

Definición de la matriz inversa

Grupos libres. Presentaciones.

Expresiones Regulares y Derivadas Formales

Matrices: repaso. Denotaremos con M m n el conjunto de matrices de tamaño m n, o sea, de m filas y n columnas. Una matriz A M m n es de la forma A =

Si A es una matriz cuadrada n x n, tal que A 2 = A, e I es la matriz unidad ( n x n ), qué matriz es B 2, si B = 2ª - I?

Algebra Lineal XIX: Rango de una Matriz y Matriz Inversa.

Espacios vectoriales y aplicaciones lineales.

Espacios Vectoriales. AMD Grado en Ingeniería Informática. AMD Grado en Ingeniería Informática (UM) Espacios Vectoriales 1 / 21

MMAF: Espacios normados y espacios de Banach

Tema 2: Espacios Vectoriales

Capítulo 1: Diagonalización de matrices

Definición 1 Un semigrupo es un conjunto E provisto de una operación binaria asociativa sobre E, se denota por (E, ).

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Espacios vectoriales

Conjunto R n y operaciones lineales en R n

Producto de matrices triangulares superiores

Definición 1. Dado un conjunto C una aplicación definida por : C C C

Álgebra Lineal VII: Independencia Lineal.

EJERCICIOS DE SELECTIVIDAD LOGSE en EXTREMADURA MATRICES, DETERMINANTES Y SISTEMAS DE ECUACIONES

Algebra Lineal XX: Determinantes.

Conceptos básicos de Geometría

Menor, cofactor y comatriz

Cálculo Diferencial: Enero 2016

Capítulo 2 Análisis espectral de señales

GUIA BÁSICA DEL PROCEDIMIENTO MATRIX END MATRIX

Matemáticas Aplicadas a los Negocios

2 Operaciones de producto y división de polinomios

ESPACIOS VECTORIALES

Rotaciones en MatLab mediante Matrices de Rotación y Cuaterniones

Matriz sobre K = R o C de dimensión m n

TEMA 1. MATRICES, DETERMINANTES Y APLICACIÓN DE LOS DETERMINANTES. CONCEPTO DE MATRIZ. LA MATRIZ COMO EXPRESIÓN DE TABLAS Y GRAFOS.

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO I LOGICA Y CONJUNTOS.

GEOMETRÍA EN EL ESPACIO.

Sistemas de Ecuaciones Lineales y Matrices

OPTIMIZACIÓN VECTORIAL

Solución de Sistemas de Ecuaciones Lineales con Matrices. COMP 2502: Estructuras Computacionales Discretas II Dra. Madeline Ortiz Rodríguez

Matrices. José Vicente Romero Bauset. ETSIT-curso 2009/2010. José Vicente Romero Bauset Tema 1.- Matrices. 1

Introducción a los Cuaterniones

1.3.- V A L O R A B S O L U T O

Subespacios vectoriales en R n

Herramientas computacionales para la matemática MATLAB: Estructuras de control

Subespacios Vectoriales

Transcripción:

Algunos algoritmos para matrices de Toeplitz Estos apuntes están escritos por varios estudiantes de la ESFM del IPN, bajo la dirección del profesor Egor Maximenko. Participaron Jocelyn Hernández, Jareth León, Mario Guzmán Silverio, Maria de los Angeles Isidro Pérez, Darío Coutiño Aquino, Rodrigo Gabriel Castillo González, Andrea Alejandra Rendón Peña, Luis Enrique Villanueva López. En estos apuntes se estudian algunos algoritmos numéricos para las matrices de Toeplitz. Por ejemplo, para n = 4, son matrices de la forma a 1 b 2 b 3 b 4 a 1 b 2 b 3 a 3 a 1 b 2 a 4 a 3 a 1 Índice 1. Construcción de matrices de Toeplitz 2 2. Convolución discreta cíclica 4 3. Matrices circulantes 5 4. Multiplicación rápida de una matriz de Toeplitz por un vector 6 1

1. Construcción de matrices de Toeplitz Una matriz cuadrada se llama matriz de Toeplitz si sus diagonales (paralelas a la diagonal principal) son constantes. Una matriz de Toeplitz se puede definir por su primera columna y su primer renglón. 1 Ejemplo. Las matrices de Toeplitz de orden 4 son de la siguiente forma: a 1 b 2 b 3 b 4 a 1 b 2 b 3 a 3 a 1 b 2 a 4 a 3 a 1 Los sistemas de álgebra computacional MATLAB y Wolfram Mathematica tienen funciones que generan matrices de Toeplitz a partir de los vectores a y b. En estos sistemas se supone que el vector b es de la misma longitud que el vector a, con b 1 = a 1. Nosotros seguimos el mismo convenio. 2 Definición. Sea n {1, 2,..., } y sean a, b R n, con a 1 = b 1. La matriz de Toeplitz generada por los vectores a y b es una matriz cuadrada A de orden n cuya entrada (j, k) está definida mediante la regla { a j k+1 si j k; A j,k = b k j+1 si k > j. 3 Algoritmo (generación de una matriz de Toeplitz en forma completa por su primera columna y su primer renglón). Dados dos vectores a, b R n la siguiente función construye la matriz de Toeplitz en la forma completa. function [T] = toeplitzmatrix(a, b), n = length(a); T = zeros(n, n); for j = 1 : n, for k = 1 : j, T(j, k) = a(j - k + 1); for k = (j + 1) : n, T(j, k) = b(k - j + 1); 2

Para evitar ciclos anidados notamos que cada columna de la matriz se compone de una parte del vector a y una parte del vector b invertido: a 1 b 2 b 3 b 4 b 5 b 6 a 1 b 2 b 3 b 4 b 5 [ ] b 5 T = a 3 a 1 b 2 b 3 b 4 a1 a 4 a 3 a 1 b 2 b 3, a( :) =, b( : 1 :) = b 4 b 3 a 5 a 4 a 3 a 1 b 2 b 2 a 6 a 5 a 4 a 3 a 1 Escrimos los comandos para rellenar las columnas 3 6 de la matriz T : # column 3 of T: T(1 : 2, 3) = b(3 : -1 : 2); T(3 : 6, 3) = a(1 : 4); # column 4 of T: T(1 : 3, 4) = b(4 : -1 : 2); T(4 : 6, 4) = a( : ); # column 5 of T: T(1 : 4, 5) = b( : -1 : ); T(5 : 6, 5) = a( : ); # column 6 of T: T(1 : 5, 6) = b( : -1 : ); T(6 : 6, 6) = a( : ); La misma idea funciona también para las columnas 1 y 2 de la matriz T. En el caso de fragmentos vacíos no se realizan ningunas acciones, tampoco se generan errores. Generalizando los comandos anteriores llegamos a una versión más eficiente del algoritmo anterior: 4 Algoritmo (generación de una matriz de Toeplitz en forma completa por su primera columna y su primer renglón, usando operaciones vectoriales). Dados dos vectores a, b R n la siguiente función construye la matriz de Toeplitz en la forma completa. function [T] = toeplitzmatrix(a, b), n = length(a); T = zeros(n, n); for k = 1 : n, T( :, k) = a( : ); T( :, k) = b( : -1 : ); 3

2. Convolución discreta cíclica 5 Ejemplo. Sean a, b C 3 : a = a 1 a 3, b = Entonces su convolución discreta cíclica es el vector a 1 b 1 + b 3 + a 3 b 2 a b = 6 Definición (convolución discreta cíclica de dos vectores). Dados dos vectores a, b C n, su convolución discreta cíclica es un vector a b C n cuya j-ésima componente es (a b) j =. 7 Definición (transformada discreta de Fourier). Denotemos por ω n al número y definimos la matriz F n mediante la regla [ F n = ω n = e 2πi n ω (j 1)(k 1) n ] n b 1 b 2 b 3 j,k=1 El operador lineal x F n x se llama la transformada discreta de Fourier. 8 Ejemplo (matriz de la transformada discreta de Fourier de orden 3). ω 3 ω 3 ω 3 F 3 = ω 3 ω 3 ω 3 ω 3 ω 3 ω 3 9 Definición (transformada rápida de Fourier). Existe un algoritmo, llamado la transformada rápida de Fourier, para calcular F n x con solamente Cn log 2 n operaciones, donde C es una constante. En el lenguaje de MATLAB la transformada rápida de Fourier se puede calcular con el comando fft(x), y la transformada inversa se puede calcular con ifft(x). 10 Definición (producto de dos vectores por componentes). Dados a, b C n, denotemos por a b su producto por componentes: [ ] n a b = a j b j j=1. En el lenguaje de MATLAB el producto a b se puede calcular como a.* b. 11 Teorema (teorema de la convolución discreta cíclica). Sean a, b C n. Entonces. F n (a b) = (F n a) (F n b). 4

3. Matrices circulantes 12 Ejemplo. Sean a, b C 3. La matriz circulante generada por a es a 1 a 3 C(a) = a 1 a 3 a 3 a 1 Notamos que el producto C(a)b es lo mismo que a b: a 1 a 3 C(a)b = a 1 a 3 = a 3 a 1 b 1 b 2 b 3 = a b. 13 Definición (matriz circulante generada por un vector). Dado un vector a C n, denotamos por C(a) a la matriz circulante de tamaño n n, con la entrada (j, k) definida mediante la siguiente regla: C(a) j,k =. 1 Proposición (producto de una matriz circulante por un vector). Sean a, b C n. Entonces C(a)b = a b = Fn 1 (F n (a) F n (b)). 14 Algoritmo (multiplicación rápida de una matriz circulante por un vector). Dados dos vectores a, b C n, la siguiente función calcula el producto C(a)b usando la transformada rápida de Fourier. function [result] = myfastconv(a, b): result = ; 5

4. Multiplicación rápida de una matriz de Toeplitz por un vector Notamos que cada matriz de Toeplitz 4 4 se puede extender a una matriz circulante de tamaño 9 9: a 1 b 2 b 3 b 4 a 1 b 2 b 3 a 1 b 2 b 3 b 4 a 3 a 1 b 2 a 1 b 2 b 3 a 3 a 1 b 2 a 4 a 3 a 1. a 4 a 3 a 1 Algunas entradas de la matriz extendida pueden tener valores arbitrarios; en esas entradas se recomienda poner 0. Notamos que la primera columna de la matriz extendida contiene el vector a completo, el vector b casi completo (las entradas de a en el orden invertido), y algunas entradas cero. Más general, cada matriz de Toeplitz n n se puede extender a una matriz circulante de tamaño m m, si m (una expresión misteriosa en términos de n). 15 Algoritmo (extensión de una matriz de Toeplitz a una matriz circulante). Sean a, b R n y sea m {1, 2,...} tal que m > 2015n. La siguiente función construye un vector g R m su submatriz ubicada en la intersección de los primeros n renglones y las primeras n columnas de la matriz C(g) coincide con la matriz de Toeplitz asociada a los vectores a y b. function [g] = extendtoeplitztocirculant(a, b, m), n = length(a); g = ; 16 Algoritmo (multiplicación rápida de una matriz de Toeplitz por un vector). Sean a, b, x R n La siguiente función multiplica la matriz de Toeplitz generada por a y b por el vector x, usando la transformada rápida de Fourier. function [result] = fasttoeplitzbyvector(a, b, x), result = ; 6