Quando Pedro me fala sobre Paulo
Sei mais do Pedro do que do Paulo
Sigmund Freud
|
Atividades 7:
- Arquivo N01.py: Representa em Python as matrices como Python lists of lists:
\(\underline{\underline{\textbf{A}}}_0=\left(\begin{array}{cccc}1& 1& 1& 1\\1&-1& 1&-1\\ 1& 1&-1&-1\\-1& 1& 1&-1\\\end{array}\right),\)
\(\underline{\underline{\textbf{A}}}_1=\left(\begin{array}{cccc}1& 2& 4& 8\\1&-1& 1&-1\\1&-2& 4&-8\\1& 1& 1& 1\\\end{array}\right),\)
\(\underline{\underline{\textbf{A}}}_2=\left(\begin{array}{cccc}1& 1& 1& 1\\1&-1& 1&-1\\1& 2& 4& 8\\1& 3& 9&27\\ \end{array}\right),\)
\(\underline{\underline{\textbf{A}}}_3=\left(\begin{array}{cccc}1& 1& 1& 1\\1& 2& 4& 8\\1& 3& 9&27\\1& 4&16&64\\\end{array}\right),\)
Python Listing: N01.py.
from Matrix import *
#Lista de matrices
A=[
[
[ -1.0, 1.0, 1.0, 1.0,],
[ 1.0,-1.0, 1.0, 1.0,],
[ 1.0, 1.0,-1.0, 1.0,],
[ 1.0, 1.0, 1.0,-1.0,],
],
Matrix_Vandermonte([ 2.0,-1.0,-2.0, 1.0 ]),
Matrix_Vandermonte([ 1.0,-1.0, 2.0, 3.0 ]),
Matrix_Vandermonte([ 1.0, 2.0, 3.0, 4.0 ]),
]
|
-
Arquivo N02py: Encontre as inversas das matrizes no item anterior.
Python Listing: N02.py.
from Matrix import *
from Gauss import *
from N01 import *
for i in range( len(A) ):
print i,":"
Matrix_Print(A[i])
AA=Inverse(A[i])
Matrix_Print(AA)
|
0 :
[
[-1.000000,1.000000,1.000000,1.000000]
[1.000000,-1.000000,1.000000,1.000000]
[1.000000,1.000000,-1.000000,1.000000]
[1.000000,1.000000,1.000000,-1.000000]
]
Gauss Forward, det -16.0
Matrix_Gauss_Test, Residual: 0.000000e+00
[
[-0.250000,0.250000,0.250000,0.250000]
[0.250000,-0.250000,0.250000,0.250000]
[0.250000,0.250000,-0.250000,0.250000]
[0.250000,0.250000,0.250000,-0.250000]
]
1 :
[
[1.000000,2.000000,4.000000,8.000000]
[1.000000,-1.000000,1.000000,-1.000000]
[1.000000,-2.000000,4.000000,-8.000000]
[1.000000,1.000000,1.000000,1.000000]
]
Gauss Forward, det 72.0
Matrix_Gauss_Test, Residual: 2.127425e-16
[
[-0.166667,0.666667,-0.166667,0.666667]
[-0.083333,-0.666667,0.083333,0.666667]
[0.166667,-0.166667,0.166667,-0.166667]
[0.083333,0.166667,-0.083333,-0.166667]
]
2 :
[
[1.000000,1.000000,1.000000,1.000000]
[1.000000,-1.000000,1.000000,-1.000000]
[1.000000,2.000000,4.000000,8.000000]
[1.000000,3.000000,9.000000,27.000000]
]
Gauss Forward, det -48.0
Matrix_Gauss_Test, Residual: 7.351626e-17
[
[1.500000,0.250000,-1.000000,0.250000]
[0.250000,-0.458333,0.333333,-0.125000]
[-1.000000,0.250000,1.000000,-0.250000]
[0.250000,-0.041667,-0.333333,0.125000]
]
3 :
[
[1.000000,1.000000,1.000000,1.000000]
[1.000000,2.000000,4.000000,8.000000]
[1.000000,3.000000,9.000000,27.000000]
[1.000000,4.000000,16.000000,64.000000]
]
Gauss Forward, det 12.0
Matrix_Gauss_Test, Residual: 5.594315e-16
[
[4.000000,-6.000000,4.000000,-1.000000]
[-4.333333,9.500000,-7.000000,1.833333]
[1.500000,-4.000000,3.500000,-1.000000]
[-0.166667,0.500000,-0.500000,0.166667]
]
Output from: /usr/bin/python N02.py
|
-
Arquivo N03py: Gere matrices de Vandermonte regulares de ordem 5,6,7,8,9 e 10
e encontre suas inversas.
Python Listing: N03.py.
from Matrix import *
from Gauss import *
v=[0.0]
for i in [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15]:
v.append( 1.0*i )
A=Matrix_Vandermonte(v)
print "Ordem",i+1,":"
AA=Inverse(A)
|
Ordem 2 :
Gauss Forward, det 1.0
Matrix_Gauss_Test, Residual: 0.000000e+00
Ordem 3 :
Gauss Forward, det 2.0
Matrix_Gauss_Test, Residual: 0.000000e+00
Ordem 4 :
Gauss Forward, det 12.0
Matrix_Gauss_Test, Residual: 5.909070e-16
Ordem 5 :
Gauss Forward, det 288.0
Matrix_Gauss_Test, Residual: 2.123877e-15
Ordem 6 :
Gauss Forward, det 34560.0
Matrix_Gauss_Test, Residual: 3.431676e-14
Ordem 7 :
Gauss Forward, det 24883200.0
Matrix_Gauss_Test, Residual: 3.373950e-13
Ordem 8 :
Gauss Forward, det 1.25411328e+11
Matrix_Gauss_Test, Residual: 2.793467e-12
Ordem 9 :
Gauss Forward, det 5.05658474496e+15
Matrix_Gauss_Test, Residual: 1.127236e-11
Ordem 10 :
Gauss Forward, det 1.83493347225e+21
Matrix_Gauss_Test, Residual: 7.379216e-11
Ordem 11 :
Gauss Forward, det 6.6586065841e+27
Matrix_Gauss_Test, Residual: 8.298242e-10
Ordem 12 :
Gauss Forward, det 2.65790267296e+35
Matrix_Gauss_Test, Residual: 4.848438e-09
Ordem 13 :
Gauss Forward, det 1.27313963299e+44
Matrix_Gauss_Test, Residual: 3.850929e-08
Ordem 14 :
Gauss Forward, det 7.92786697562e+53
Matrix_Gauss_Test, Residual: 6.818547e-04
Ordem 15 :
Gauss Forward, det 6.91138269044e+64
Matrix_Gauss_Test, Residual: 2.825255e-01
Ordem 16 :
Gauss Forward, det 9.03784344483e+76
Matrix_Gauss_Test, Residual: 1.966895e-05
Output from: /usr/bin/python N03.py
|
|
Messages:
0 secs.
|