Beispiel_7_Paragraf_8.mws

zu Beispiel 7 in § 8

Falls Sie Maple benutzen finden Sie hier die zu Grunde liegende mws-Datei.

>    restart:

>    with(LinearAlgebra):

>    kappa:=x1^2+x2^2-x0^2;

kappa := x1^2+x2^2-x0^2

Die Matrix dieses quadratischen Polynoms ist

>    A:=Matrix([[coeff(kappa,x0,2),0,0],[0,coeff(kappa,x1,2),0],[0,0,coeff(kappa,x2,2)]]);

A := Matrix(%id = 545184)

>    mu:=x1-x0-c;

mu := x1-x0-c

Ein Normalenvektor zu der durch mu  gegebenen Ebene in R^3  ist:

>    B:=u-><seq(coeff(u,x||k,1),k=0..2)>:

>    B(mu);

Vector(%id = 547756)

 Gesucht ist ein Polynom, das die Schnittmenge von V ( kappa ) mit V ( mu ) bezüglich der Schnittebene beschreibt.

Elimination von x0  mit Hilfe des Polynoms mu  ergibt:

>    rho:=rem(kappa,mu,x0);

rho := x2^2+2*x1*c-c^2

Die Nullstellenmenge von   rho   in R^2  sieht so aus   c = 10 :

>    plots[implicitplot](subs(c=10,rho),x1=-100..100,x2=-100..100,numpoints=10000,scaling=constrained,axes=boxed);

[Maple Plot]

Die Nullstellenmenge von   rho   in R^3  sieht so aus:

>    plots[implicitplot3d](subs(c=10,rho),x1=-100..100,x2=-100..100,x3=-100..100,numpoints=10000,scaling=constrained,axes=boxed);

[Maple Plot]

Das Polynom   rho   ist aber nicht das gesuchte!

Warum?

Orthonormale Basisergänzung zum Normalenvektor B( mu ). Dadurch erhält man eine orthogonale Matrix für einen Koordinatenwechsel:

>    BB:=<B(mu)>;

BB := Matrix(%id = 552352)

>    N:=NullSpace(Transpose(BB));

N := {Vector(%id = 547796), Vector(%id = 547836)}

>    NB:=[N[1],N[2],B(mu)]:

>    P:=convert(GramSchmidt(NB,conjugate=false,normalized),Matrix);

>    P1:=Transpose(P):

P := Matrix(%id = 563668)

>    sqrt(2)*P;

Matrix(%id = 565120)

Proben:

>    Multiply(P1,P),Determinant(P);

Matrix(%id = 573124), 1

Stützvektor für die durch mu  gegebene Ebene ist:

>    v:=<-c/2,c/2,0>;

v := Vector(%id = 547876)

Probe:

>    fm:=u->subs(seq(x||(k-1)=u[k],k=1..3),mu):

>    fm(v);

0

v ist so gewählt, dass der Fußpunkt der Parabel in der Schnittebene im 0-Punkt liegen wird.

Bestimmung der Transformation des Polynoms kappa  :

>    y:=<seq(y||k,k=0..2)>:

>    AA:=P1.A.P;

>    kappa||1:=sort(expand(Transpose(P.y+v).A.(P.y+v)),[y0,y1,y2],plex);

AA := Matrix(%id = 577468)

kappa1 := y0^2+2*y1*y2+2^(1/2)*c*y1

>    bb:=2*P1.A.v;

bb := Vector(%id = 547916)

>    cc:=Transpose(v).A.v;

cc := 0

Probe:

>    expand(kappa||1-(Transpose(y).AA.y+Transpose(y).bb+cc));

0

>    P.y+v;

Vector(%id = 547956)

>    mu||1:=collect(Transpose(B(mu)).(P.y+v)-c,[y0,y1,y2]);

mu1 := 2^(1/2)*y2

>    sy2:=solve(mu||1,y2);

sy2 := 0

>    psi:=sort(simplify(subs(y2=sy2,kappa||1)),[y0,y1,y2],plex);

psi := y0^2+2^(1/2)*c*y1

So sieht die Kurve aus:

>    plots[implicitplot](subs(c=10,psi),y0=-100..100,y1=-100..100,numpoints=30000,scaling=constrained,axes=boxed);

[Maple Plot]

Bei genauerem Hinsehen stellt man fest, dass eine Verzerrung gegenüber der Nullstellenmenge von rho  stattgefunden hat. Der Typ ist aber (nur hier ?) nach wie vor der einer Parabel.

>   

>