Computermathematik2_11

359 days ago by PatrickHammer

Übungsblatt_11
SS 2010/11


BEISPIEL 33
Es sei A=matrix([[1,4,-1,6],[1,-1,1,2],[3,-4,-6,2],[1,0,0,-2]]). Man berechne alle Eigenwerte und zugehörigen Eigenvektoren zu A.
A=matrix([[1,4,-1,6],[1,-1,1,2],[3,-4,-6,2],[1,0,0,-2]]) print A.eigenvalues(),"\n\n",[x for x in A.eigenvectors_right() if "I" not in str(x)] 
       
[-3.206058048966051?, 3.361357907525163?, -4.077649929279556? -
1.848241473310385?*I, -4.077649929279556? + 1.848241473310385?*I] 

[(-3.206058048966051?, [(1, 0.2299562512329656?, 0.1509981342675710?,
-0.829147486605057?)], 1), (3.361357907525163?, [(1,
0.3619718238424460?, 0.2056488541235732?, 0.1865199110464921?)], 1)]
[-3.206058048966051?, 3.361357907525163?, -4.077649929279556? - 1.848241473310385?*I, -4.077649929279556? + 1.848241473310385?*I] 

[(-3.206058048966051?, [(1, 0.2299562512329656?, 0.1509981342675710?, -0.829147486605057?)], 1), (3.361357907525163?, [(1, 0.3619718238424460?, 0.2056488541235732?, 0.1865199110464921?)], 1)]

BEISPIEL 34
NOCH NICHT FERTIG!!! Es sei V der R-Vektorraum der Funktionen aufgespannt von 1, x, . . . , x^5 . Und es sei L eine lineare Abbildung gegben durch: L(f)(x)=x*f.diff(3)-x*f.diff(x,3)*x^2+(x+1)*f.diff(x,2)-1/x*diff(f*x^2,x,1)+3*f Bestimmen Sie die Eigenwerte und zugehörigen Eigenvektoren zu L.
var('a b c d e a2 b2 c2 d2 e2 x s t') def L(f,x): return x*f.derivative(x,3)-x*f.derivative(x,3)*x^2+(x+1)*f.derivative(x,2)-1/x*derivative(f*x^2,x,1)+3*f spann=a*x^5+b*x^4+c*x^3+d*x^2+e neu=a2*x^5+b2*x^4+c2*x^3+d2*x^2+e2 sol=solve(L(spann,x)==s*spann,s,solution_dict=true) print "eigenvalues: ",sol,"\n\neigenvectors:" for so in sol: print solve(L(neu,x)==so[s]*neu,a2,b2,c2,e2) 
       
eigenvalues:  [{s: -(64*a*x^5 - (20*a - 27*b)*x^4 - 4*(20*a + 3*b -
2*c)*x^3 - (36*b + 6*c - d)*x^2 - 2*(6*c + d)*x - 2*d - e)/(a*x^5 +
b*x^4 + c*x^3 + d*x^2 + e)}] 

eigenvectors:
([a2 == (37*a*b2*x^9 - 8*(a*b2 - 7*a*c2)*x^8 - ((14*a - 19*b)*c2 +
44*a*b2 - 63*a*d2 + 19*b2*c)*x^7 - 2*((9*a - 13*b)*d2 + (34*a + 3*b)*c2
- 3*b2*c + 13*b2*d)*x^6 + ((10*b2 - 7*c2)*d - (78*a + 10*b - 7*c)*d2 +
65*a*e2 - 24*b*c2 + 24*b2*c)*x^5 + 2*((17*b2 + 2*c2)*d - (17*b + 2*c)*d2
- 2*(5*a - 7*b)*e2 - 14*b2*e)*x^4 + (3*(4*b2 - 3*c2)*e - (80*a + 12*b -
9*c)*e2 - 10*c*d2 + 10*c2*d)*x^3 + 2*((18*b2 + 3*c2 - d2)*e - (18*b +
3*c - d)*e2)*x^2 + 2*((6*c2 + d2)*e - (6*c + d)*e2)*x - 2*d*e2 +
2*d2*e)/(37*b*x^9 - 8*(b - 7*c)*x^8 - (44*b + 14*c - 63*d)*x^7 - 2*(34*c
+ 9*d)*x^6 - 13*(6*d - 5*e)*x^5 - 20*e*x^4 - 80*e*x^3)], [1])
eigenvalues:  [{s: -(64*a*x^5 - (20*a - 27*b)*x^4 - 4*(20*a + 3*b - 2*c)*x^3 - (36*b + 6*c - d)*x^2 - 2*(6*c + d)*x - 2*d - e)/(a*x^5 + b*x^4 + c*x^3 + d*x^2 + e)}] 

eigenvectors:
([a2 == (37*a*b2*x^9 - 8*(a*b2 - 7*a*c2)*x^8 - ((14*a - 19*b)*c2 + 44*a*b2 - 63*a*d2 + 19*b2*c)*x^7 - 2*((9*a - 13*b)*d2 + (34*a + 3*b)*c2 - 3*b2*c + 13*b2*d)*x^6 + ((10*b2 - 7*c2)*d - (78*a + 10*b - 7*c)*d2 + 65*a*e2 - 24*b*c2 + 24*b2*c)*x^5 + 2*((17*b2 + 2*c2)*d - (17*b + 2*c)*d2 - 2*(5*a - 7*b)*e2 - 14*b2*e)*x^4 + (3*(4*b2 - 3*c2)*e - (80*a + 12*b - 9*c)*e2 - 10*c*d2 + 10*c2*d)*x^3 + 2*((18*b2 + 3*c2 - d2)*e - (18*b + 3*c - d)*e2)*x^2 + 2*((6*c2 + d2)*e - (6*c + d)*e2)*x - 2*d*e2 + 2*d2*e)/(37*b*x^9 - 8*(b - 7*c)*x^8 - (44*b + 14*c - 63*d)*x^7 - 2*(34*c + 9*d)*x^6 - 13*(6*d - 5*e)*x^5 - 20*e*x^4 - 80*e*x^3)], [1])

BEISPIEL 35
Es sei die Oberfläche O1 gegeben durch x^2 + y^4 + z^6 = 9 und die Oberfläche O2 gegeben durch z^2 = 11 − x^3 − 2y^2 gebeben. Man bestimme die Punkte P1 ∈ O1 und P2 ∈ O2 mit minimalem (euklidischen) Abstand. Hinweis: Lagrange-Multiplikator!
var('x y z') [s for s in solve([x^2+y^4+z^6==11-x^3-2*y^2],x,y,z) if "I" not in str(s)] 
       
[[1, 1, 1]]
[[1, 1, 1]]

BEISPIEL 36
36. Es sei G = (V, E) ein Graph man schreibe einen Algorithmus der den Hosoya-Index Z(G) berechnet. Dabei sei m(G, k) die Anzahl der Möglichkeiten k Kanten zu wählen, sodass keine zwei Kanten einen Knoten gemeinsam haben, und Z(G)=sum(m(G,k),k=0,k=oo). Dabei sei m(G, 0) = 1 zu wählen.
def k_edges_possibilities(G,k): alledges=[[x[0],x[1]] for x in G.edges()] #all edges; all possible allcomb=list(powerset(alledges)); matchings=[] #edgecombinations, matchings for x in allcomb: flatx=sum(x,[]) #vertice is only one time in list => a matching if len([a for a in flatx if flatx.count(a)==1])==len(flatx): matchings.append(x) return len(matchings) G=graphs.RandomGNP(15,0.1) show(plot(G)) print k_edges_possibilities(G,i) 
       

6

6