Table Of ContentPROYECTO FIN DE CARRERA
Título
Aplicación para la experimentación numérica y simbólica
matricial
Autor/es
Álvaro Barreras Peral
Director/es
Ana Romero Ibáñez y Juan Manuel Peña Fernández
Facultad
Facultad de Ciencias, Estudios Agroalimentarios e Informática
Titulación
Proyecto Fin de Carrera
Departamento
Matemáticas y Computación
Curso Académico
2012-2013
Aplicación para la experimentación numérica y simbólica matricial, proyecto fin
de carrera
de Álvaro Barreras Peral, dirigido por Ana Romero Ibáñez y Juan Manuel Peña Fernández
(publicado por la Universidad de La Rioja), se difunde bajo una Licencia
Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.
Permisos que vayan más allá de lo cubierto por esta licencia pueden solicitarse a los
titulares del copyright.
© El autor
© Universidad de La Rioja, Servicio de Publicaciones, 2013
publicaciones.unirioja.es
E-mail: [email protected]
1
A Ana Romero y Juan Manuel Peæa, por su in(cid:28)nita paciencia y sus
valiosos consejos. Gracias por iluminar aquellas zonas que estaban oscuras
para m(cid:237) y guiarme por este camino. Caminar, trabajar y aprender as(cid:237) es un
placer.
A Mar(cid:237)a, por su perseverancia y por estar siempre (cid:16)aqu(cid:237)(cid:17). Gracias
por soportar todas esas divagaciones sobre El Proyecto y por no dejarme
abandonar este barco antes de tiempo.
A mi familia, por su interØs y apoyo. Gracias por esas caras de
comprensi(cid:243)n cuando os explicaba lo que estaba haciendo; y por la desa(cid:28)ante
pregunta (cid:28)nal de siempre: (cid:16)Y esto, (cid:190)para quØ sirve?(cid:17) .
Resumen
El objeto de este proyecto es el desarrollo de una aplicaci(cid:243)n que facilite la
experimentaci(cid:243)n numØrica dentro del campo del Ælgebra lineal. La aplicaci(cid:243)n
se centra en la resoluci(cid:243)n de varios problemas matemÆticos: resoluci(cid:243)n de
sistemaslineales,cÆlculodevalorespropios,valoressingulares,matrizinversa
y descomposici(cid:243)n LDU. Para ello, el usuario puede introducir y editar datos
(matricesyvectores)ymØtodosqueresuelvandichosproblemas.Seutilizaun
lenguaje intuitivo (pseudoc(cid:243)digo) para manipular esa informaci(cid:243)n y, debido
a que la informaci(cid:243)n se traduce a lenguaje XML (en concreto MathML),
ser(cid:237)a posible resolver un mismo problema utilizando distintos sistemas de
cÆlculo y comparar las soluciones. Se ha implementado al resoluci(cid:243)n de
problemas utilizando el sistema de cÆlculo simb(cid:243)lico Mathematica. AdemÆs,
la aplicaci(cid:243)n ofrece la posibilidad de visualizar los resultados de diversas
formas (formato de texto plano, tablas, grÆ(cid:28)cas).
3
˝ndice general
1. Documento de Objetivos del Proyecto 9
1.1. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2. Antecedentes e interØs del proyecto . . . . . . . . . . . . . . . 10
1.2.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . 10
1.2.2. InterØs del proyecto . . . . . . . . . . . . . . . . . . . . 10
1.3. Descripci(cid:243)n del proyecto . . . . . . . . . . . . . . . . . . . . . 10
1.4. Alcance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.1. Entregables . . . . . . . . . . . . . . . . . . . . . . . . 11
1.4.2. Actividades de apoyo a la realizaci(cid:243)n del proyecto . . . 11
1.4.3. Plan de direcci(cid:243)n del alcance . . . . . . . . . . . . . . . 12
1.5. Recursos y comunicaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . 12
1.5.1. Recursos humanos . . . . . . . . . . . . . . . . . . . . 12
1.5.2. Comunicaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . 12
1.5.3. Tecnolog(cid:237)a . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.6. Plani(cid:28)caci(cid:243)n del proyecto . . . . . . . . . . . . . . . . . . . . 13
1.6.1. Metodolog(cid:237)a a seguir . . . . . . . . . . . . . . . . . . . 13
1.6.2. Estructura de descomposici(cid:243)n del trabajo (EDT) . . . 14
1.6.3. Listado de actividades . . . . . . . . . . . . . . . . . . 14
1.6.4. Estimaciones globales . . . . . . . . . . . . . . . . . . . 19
1.6.5. Distribuci(cid:243)n del trabajo . . . . . . . . . . . . . . . . . 19
1.7. Riesgos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2. AnÆlisis 25
2.1. De(cid:28)nici(cid:243)n del sistema . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Captura de requisitos . . . . . . . . . . . . . . . . . . . . . . . 26
2.2.1. Requisitos funcionales . . . . . . . . . . . . . . . . . . 26
2.2.2. Requisitos no funcionales . . . . . . . . . . . . . . . . . 27
2.2.3. Funcionalidad fuera del alcance de la aplicaci(cid:243)n . . . . 27
2.3. Identi(cid:28)caci(cid:243)n de los casos de uso . . . . . . . . . . . . . . . . 28
2.4. Especi(cid:28)caci(cid:243)n de los casos de uso . . . . . . . . . . . . . . . . 30
5
6 ˝NDICE GENERAL
3. Diseæo 41
3.1. Diseæo de clases . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.1.1. Diagrama de clases . . . . . . . . . . . . . . . . . . . . 41
3.1.2. Especi(cid:28)caci(cid:243)n del diagrama de clases . . . . . . . . . . 43
3.2. Diseæo de la comunicaci(cid:243)n . . . . . . . . . . . . . . . . . . . . 52
3.2.1. Sistema de (cid:28)cheros . . . . . . . . . . . . . . . . . . . . 52
3.2.2. Comunicaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . 53
3.3. Diseæo de interfaces . . . . . . . . . . . . . . . . . . . . . . . . 54
3.3.1. Interfaz principal . . . . . . . . . . . . . . . . . . . . . 54
3.3.2. Creaci(cid:243)n de elementos . . . . . . . . . . . . . . . . . . 55
3.3.3. Edici(cid:243)n de elementos . . . . . . . . . . . . . . . . . . . 56
3.3.4. Traducci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . 56
3.3.5. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3.6. Comparaciones . . . . . . . . . . . . . . . . . . . . . . 58
3.3.7. Mensaje de error . . . . . . . . . . . . . . . . . . . . . 59
4. Implementaci(cid:243)n 67
4.1. Tecnolog(cid:237)as utilizadas . . . . . . . . . . . . . . . . . . . . . . . 67
4.2. MathML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.3. MØtodos mÆs relevantes . . . . . . . . . . . . . . . . . . . . . 70
4.4. Problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.4.1. Lenguaje MathML (XML) . . . . . . . . . . . . . . . . 72
4.4.2. Parser Mathematica . . . . . . . . . . . . . . . . . . . 72
4.4.3. Comunicaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . 73
4.5. Funcionalidad (cid:28)nal de la aplicaci(cid:243)n . . . . . . . . . . . . . . . 73
4.6. Posibles ampliaciones . . . . . . . . . . . . . . . . . . . . . . . 74
4.7. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.8. Implantaci(cid:243)n y uso . . . . . . . . . . . . . . . . . . . . . . . . 78
5. Gesti(cid:243)n del proyecto 79
5.1. Comparaci(cid:243)n entre tiempos estimados y reales . . . . . . . . . 79
5.2. Distribuci(cid:243)n temporal del trabajo . . . . . . . . . . . . . . . . 82
Anexos 84
A. Resumen MatemÆtico 87
A.1. Introducci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.2. De(cid:28)niciones previas y notaciones . . . . . . . . . . . . . . . . 87
A.3. MØtodos de comparaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . 88
A.3.1. Visualizaci(cid:243)n directa . . . . . . . . . . . . . . . . . . . 88
˝NDICE GENERAL 7
A.3.2. Tabla de valores . . . . . . . . . . . . . . . . . . . . . . 89
A.3.3. Error relativo y error absoluto . . . . . . . . . . . . . . 89
A.3.4. Nœmero de condici(cid:243)n de una matriz . . . . . . . . . . . 90
A.3.5. GrÆ(cid:28)ca . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
A.4. Valores propios de una matriz . . . . . . . . . . . . . . . . . . 90
A.4.1. De(cid:28)nici(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . 91
A.4.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 92
A.4.3. MØtodo de resoluci(cid:243)n . . . . . . . . . . . . . . . . . . . 92
A.4.4. Entradas/salidas del problema . . . . . . . . . . . . . . 93
A.5. Valores singulares de una matriz . . . . . . . . . . . . . . . . . 93
A.5.1. De(cid:28)nici(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . 94
A.5.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 94
A.5.3. MØtodo de resoluci(cid:243)n . . . . . . . . . . . . . . . . . . . 95
A.5.4. Entradas/salidas del problema . . . . . . . . . . . . . . 95
A.6. Resoluci(cid:243)n de sistemas de ecuaciones lineales . . . . . . . . . . 95
A.6.1. De(cid:28)nici(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . 96
A.6.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 97
A.6.3. MØtodo de resoluci(cid:243)n . . . . . . . . . . . . . . . . . . . 98
A.6.4. Entradas/salidas del problema . . . . . . . . . . . . . . 98
A.7. Descomposici(cid:243)n LDU de una matriz . . . . . . . . . . . . . . . 99
A.7.1. De(cid:28)nici(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.7.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 99
A.7.3. MØtodo de resoluci(cid:243)n . . . . . . . . . . . . . . . . . . . 100
A.7.4. Entradas/salidas del problema . . . . . . . . . . . . . . 100
A.8. Inversa de una matriz . . . . . . . . . . . . . . . . . . . . . . . 100
A.8.1. De(cid:28)nici(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . 101
A.8.2. Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 102
A.8.3. MØtodo de resoluci(cid:243)n . . . . . . . . . . . . . . . . . . . 102
A.8.4. Entradas/salidas del problema . . . . . . . . . . . . . . 103
B. Manual de usuario 107
B.1. Introducci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B.2. Implantaci(cid:243)n . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B.3. Ventana Principal . . . . . . . . . . . . . . . . . . . . . . . . . 108
B.4. Crear Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . 109
B.5. Crear MØtodos . . . . . . . . . . . . . . . . . . . . . . . . . . 109
B.6. Editar Matrices y MØtodos . . . . . . . . . . . . . . . . . . . . 112
B.7. Ejemplo de Problema (Sistema Lineal) . . . . . . . . . . . . . 112
C. Actas de reuni(cid:243)n 115
Description:PROYECTO FIN DE CARRERA. Curso Académico problemas utilizando el sistema de cálculo simbólico Mathematica. Además, la aplicación ofrece