AR2 Utilitzar adequadament les eines matemàtiques de la Química Teòrica AR5 Interpretar el programari del camp i fer-hi petits desenvolupaments BC1 Desenvolupar habilitats informacionals BR2 Treballar de forma autònomoa i amb iniciativa BR4 Resoldre problemes de forma efectiva
1. Introducció a la programació i al sistema operatiu Linux 1.1. Introducció. 1.2. Maquinari i Programari. Microordinadors i grans ordinadors. Sistemes Operatius. Algorisme i Programa. Llenguatges d'alt i baix nivell. Codi interpretat i compilat. 1.3. Per què FORTRAN? 2. Programació en FORTRAN 2.1. Programació Seqüencial: Format general d'una instrucció FORTRAN. Variables i constants. Variables indexades. Operacions aritmètiques. Entrada i sortida. 2.2. Estructures condicionals: Disseny d'estructures condicionals. Operadors relacionals i lògics. Tipus d'estructures condicionals. 2.3. Estructures iteratives: Disseny d'estructures iteratives. Tipus d'estructures iteratives. 2.4. Programació Modular: Subprogrames. Funcions i Subrutines. Transmissió de dades. 2.5. Programació Avançada: Manipulació de fitxers. Accés seqüencial i directe. Optimització de Programes. Biblioteques de Programes. Linking amb biblioteques. Ús de Makefile. Nocions de Vectorització i Paral·lelització. 3. Àlgebra lineal aplicada 3.1. Recordatori de nocions bàsiques. Espais vectorials, combinació lineal, independència lineal y base. Producte escalar. Matrius: propietats i operacions, definicions i propietats elementals. Tipus de matrius. Determinant i traça d'una matriu. Canvi de base. Transformació de semblança. 3.2. Resolució de sistemes d’equacions lineals. Algorisme de resolució de sistemes d'equacions lineals pel mètode de Gauss-Jordan. La tècnica del pivotatge en l'algorisme de Gauss-Jordan 3.3. Inversió de matrius. Algorisme general d'inversió de matrius quadrades. 3.4. Equacions seculars: valors i vectors propis. Definicions i propietats. Algorisme de diagonalització de matrius pel mètode de les rotacions elementals de Jacobi. 3.5. Aplicacions de la diagonalització de matrius simètriques. Determinant d'una matriu. Matriu Inversa. Ortonormalització de vectors. 4. Aplicacions de càlcul numèric 4.1. Ajust de corbes i interpolació. Regressió lineal, polinomial i multilineal. Interpolació per splines. 4.2. Integració numèrica de funcions. Mètode dels trapezis, Mètode de Simpson, Quadratura Gaussiana. Mètodes basats en Nombres Aleatoris: Algorismes tipus Monte-Carlo. 4.3. Minimització de funcions. Mètodes sense gradient: Simplex, Simulated Annealing. Mètodes de gradient: Steepest-descent, Newton-Raphson i pseudo-Newton-Raphson. 4.4. Equacions diferencials senzilles: ODE's. Problema de valors inicials. Mètodes: Euler, Runge-Kutta. Algorisme de Verlet.
Tipus d’activitat Hores amb professor Hores sense professor Total Anàlisi / estudi de casos 13,00 0 13,00 Sessió pràctica 30,00 50,00 80,00 Treball en equip 2,00 50,00 52,00 Total 45,00 100,00 145
W. H. Press, B. P. Flannery, S. A. Teukolsky, W. T. Vetterling (1992). Numerical Recipes in FORTRAN: The Art of Scientific Computing, . Cambridge University Press. Catàleg
Activitats d'avaluació: Descripció de l'activitat Avaluació de l'activitat % Implementació dels algorismes de calcul Implementació d'alguns dels algorismes més importants que s'han vist a teoria. Es tracta d'un treball individual (30%) Realització d'un petit projecte (programa) individual o en grup relacionat amb el camp de recerca específic de l'alumne (70%) Implementacio correcta dels algorismes. Estructura de dades. Input/output
Es valora principalment la correcta implementació dels algorismes. Altres aspectes que incideixen en la qualificació son: -Estructura de dades -Input/output, correcta comunicació del programa amb l'usuari -Utilització de subrutines i funcions