Download Laboratorio 5 1. Introducción 2. Álgebra Lineal
Document related concepts
no text concepts found
Transcript
Métodos Numéricos Laboratorio 5 Semana: del 15 al 19 de Febrero UVG-mm2010, mm2022 Instrucciones: En sus cursos de matemática se le ha recomendado que ataque los problemas desde varios enfoques: analítico, gráco, y numérico. En este curso nos interesan particularmente los últimos dos enfoques. Responda las siguientes preguntas dejando constancia clara de su procedimiento; recuerde incluir grácas, código en Python, y explicaciones que considere pertinentes. 1. Introducción Seguiremos empleando Python con sus extensiones cientícas, e.g. SciPy, NumPy, Matplotlib. Acá presentamos un breve ejemplo en donde se ingresa la matrix " A= se encuentra la matriz inversa 1 A−1 , y se multiplica A · A−1 1 # 2 3 4 para obtener la matriz identidad. In [53]: A = array([[1., 2.], [3., 4.]]) 2 3 In [54]: A 4 Out[54]: 5 array([[ 1., 6 [ 3., 2.], 4.]]) 7 8 9 10 In [55]: inv(A) Out[55]: array([[-2. , 11 1. ], [ 1.5, -0.5]]) 12 13 In [56]: dot(A, inv(A)) 14 Out[56]: 15 array([[ 1., 16 [ 0., 0.], 1.]]) En los siguientes links pueden encontrar más información: http://docs.scipy.org/doc/numpy/reference/routines.linalg.html http://docs.scipy.org/doc/scipy/reference/linalg.html http://docs.scipy.org/doc/scipy/reference/sparse.linalg.html http://wiki.aims.ac.za/mediawiki/index.php/Python:scipy_module:linalg 2. Álgebra Lineal 1. Dada la matriz A denotamos la norma de A como kAk. Investigue cómo determinar kAk. Ayuda: existen varias deniciones para la norma de una matriz, e.g. la norma de Frobenius, la norma máxima, etc. Encuentre los comandos para obtener la norma en Python. 1 2. Investigue el concepto número de condicionamiento 1 κ(A) de una matriz A. ¾Qué es κ(A) si A es una matriz singular? 2 3. Investigue el concepto matriz de diagonal estrictamente dominante . ¾Qué relación tiene este concepto con los métodos (iterativos) de Jacobi y de Gauss-Seidel? 3. Estructuras de datos 4. Investigue cómo crear arreglos (array) en Python dadas las siguientes condiciones: (a) Un arreglo de longitud (len) n para un n dado, lleno de ceros. (b) Un arreglo con una progresión aritmética. Investigue qué es una progresión aritmética. (c) Un arreglo a partir de una lista (list). 5. Investigue el concepto de array slicing . Ayuda: 6. Dada la matriz un entero k. A de n × n, explique el resultado de la siguiente operación de slicing: Además determine los valores válidos para dicho 1 In [28]: A = array([[1,2,3],[4,5,6],[7,8,9]]) 2 In [29]: A[0, arange(3)<>0] 3 Out[29]: array([2, 3]) 4 In [30]: A[1, arange(3)<>1] 5 Out[30]: array([4, 6]) 6 In [31]: A[2, arange(3)<>2] 7 Out[31]: array([7, 8]) 8 In [32]: A 9 Out[32]: 10 array([[1, 2, 3], 11 [4, 5, 6], 12 [7, 8, 9]]) 1 2 http://en.wikipedia.org/wiki/Array_slicing#1991:_Python Condition number Diagonally dominant matrix 2 k. Ayuda: A[k, arange(n) <> k] Considere el siguiente ejemplo. para