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