# 16) Normierte Vektorraeume [ 17.mws] # (linalg, vector, norm, implicitplot, limit, matrix, map) # ====================================================================== > with(linalg): > ?vector > V:=vector(2,[x,y]); > ?norm > norm(V,1);norm(V,2); # Bilder der Einheitskugeln im zweidimensionalen Raum (vgl. Vorlesung, # Beispiele IX.1.5: > ?implicitplot > with(plots): > implicitplot(norm(V,1)=1,x=-2..2,y=-2..2); > EK1:=implicitplot(norm(V,1)=1,x=-2..2,y=-2..2,grid=[200,200],color=red > ): > EK2:=implicitplot(norm(V,2)=1,x=-2..2,y=-2..2,grid=[200,200],color=gre > en): > EK3:=implicitplot(norm(V,4)=1,x=-2..2,y=-2..2,grid=[200,200],color=blu > e): > EK4:=implicitplot(norm(V,infinity)=1,x=-2..2,y=-2..2,grid=[200,200],co > lor=black): > display(EK1,EK2,EK3,EK4); # Es wurden 4 Plot-Strukturen erzeugt und mit "display" dargestellt, # weil der folgende Befehl nicht # funktioniert: > implicitplot([norm(V,1)=1,norm(V,2)=1,norm(V,4)=1,norm(V,infinity)=1], > x=-2..2,y=-2..2,grid=[200,200],color=[red,green,blue,black]): # Das liegt aber nur an der Verwendung einer Liste. Wenn man eine Menge # verwendet und auf das # Vorschreiben der Farben verzichtet, geht es: > implicitplot({norm(V,1)=1,norm(V,2)=1,norm(V,4)=1,norm(V,infinity)=1}, > x=-2..2,y=-2..2,grid=[200,200]); # Grenzwerte von Vektoren. # ==================== # Beispiel IX.2.4 der Vorlesung: > restart: > with(linalg): # So geht's nicht: > V:=k->vector(3,[(1/2)^k,(1+1/k)^k,2^(1/k)]); > limit(V(k),k=infinity); # So geht's auch nicht: > V:=vector(3,[k->(1/2)^k,k->(1+1/k)^k,k->2^(1/k)]); > limit(V(k),k=infinity); > V(1);V(2); > ?limit > op(V); > V[1];eval(V[1]);whattype(%); > limit(eval(V[1]),k=infinity); > limit(k->(1/2)^k,k=infinity); # Neudefinition von V: und Verwendung von "map" > V:=vector(3,[(1/2)^k,(1+1/k)^k,2^(1/k)]); > limit(V,k=infinity); > limit([op(V)],k=infinity); > LL:=x->limit(x,k=infinity); > map(LL, [op(V)]); > map(LL, V); # Oder auch so: > ?array > ?map # map(fcn, expr, arg2, ..., argn) # # If fcn takes more than one argument, they are to be specified as # additional arguments, arg2, arg3, ..., argn, which are simply passed # through as the second, third, ..., nth arguments to fcn. # > map(limit,V,k=infinity); # =============================================================== # Matrizen und Grenzwerte: # (Zur Vorlesung, Beispiel IX.3.4 d): Stetigkeit einer linearen # Abbildung) > ?matrix > A:=matrix(5,5); > print(A); > b:=(i,j)->x^(i/j); > B:=matrix(5,5,b); > map(limit,B,x=1); # Multiplikation Matrix*Vektor: > A:=array(1..4,1..4); > v:=vector(4); > print(v); > transpose(v); > print(transpose(v)); > multiply(A,v); > evalm(multiply(A,v)); > limit(%,v[1]=0); > map(limit,%,v[1]=0); > map(limit,%,v[2]=0); > map(limit,%,v[3]=0); > map(limit,%,v[4]=0); # =========================================================== # Zur Vorlesung, Beispiel IX.3.4 e): Rotationsparabel. > f:=(x,y)->x^2+y^2; > F:=(x,y)->vector(3,[x,y,f(x,y)]); > plot3d(F(x,y),x=-3..3,y=-3..3,axes=boxed); # =========================================================== # Zur Vorlesung, Beispiel IX.3.4 f): Unstetigkeit im Nullpunkt. > restart: > g:=(x,y)->x*y/(x^2+y^2); > plot3d(g,-2..2,-2..2); # Ein nicht dokumentiertes "Plotdevice": # Wenn man unter Linux erreichen will, dass eine 3-dimensionale Graphik # beim # Drehen sichtbar bleibt, muss man den Befehl # "interface(plotdevice=gl);" vorher ausfuehren. > ?plotdevice > ?plot[device] > interface(plotdevice=gl); > plot3d(g,-2..2,-2..2); # Rueckstellen des Plotdevice: > interface(plotdevice=default); > plot3d(g,-2..2,-2..2); >