exo17.mw

> restart;with(linalg);

Warning, the protected names norm and trace have been redefined and unprotected

[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...[BlockDiagonal, GramSchmidt, JordanBlock, LUdecomp, QRdecomp, Wronskian, addcol, addrow, adj, adjoint, angle, augment, backsub, band, basis, bezout, blockmatrix, charmat, charpoly, cholesky, col, cold...

>

Exercice 17

question a)

> x:='x':y:='y':z:='z':

> u:=-z+1:

> v:=x:

> w:=y-2:

> f:=vector([u,v,w]):'f'(x,y,z)=evalm(f);

f(x, y, z) = vector([-z+1, x, y-2])

>

Etude de la partie linéaire

> B:=matrix(3,3,[[0,0,-1],[1,0,0],[0,1,0]]);

B := matrix([[0, 0, -1], [1, 0, 0], [0, 1, 0]])

B est une matrice orthogonale

> tBB:=evalm(transpose(B)&*B);

tBB := matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])

B n'est pas dans le groupe spécial orthogonal

> det_B=det(B);

det_B = -1

Calculons Inv(B)

X:=[x,y,z] est dans inv(B) ssi il est solution du système BX=X

>

> Gsyst(B-tBB,[x,y,z],[0,0,0]);

L[1],

L[2],

L[2],

L[3],

L[3],

L[1],

L[2],

l'ensemble des invariants étant réduit à {0}, on étudie A=-B

> A:=evalm(-B);

A := matrix([[0, 0, 1], [-1, 0, 0], [0, -1, 0]])

Calculons Inv(A)

X:=[x,y,z] est dans inv(A) ssi il est solution du système AX=X

>

> Gsyst(A-tAA,[x,y,z],[0,0,0]);

L[1],

L[2],

L[2],

L[3],

0 = 0

A est la matrice de la rotation autour de

> W:=1/sqrt(3)*vector([1,-1,1]);Wv:=transpose(matrix(1,3,[evalm(W)])):

W := 1/3*3^(1/2)*vector([1, -1, 1])

Calculons l'angle theta de la rotation

le vecteur a ci-dessous est unitaire et orthogonal à W

> a:=1/sqrt(2)*[1,1,0];av:=transpose(matrix(1,3,[evalm(a)])):

a := 1/2*2^(1/2)*[1, 1, 0]

> ct:=evalm(transpose(av)&*A&*av):

> cos(theta)=('a','A'('a')),"=",op(ct);Aa:=[seq(evalm(A&*av)[i,1],i=1..3)]:

cos(theta) = (a, A(a)),

> st:=det(matrix(3,3,[evalm(a),evalm(Aa),evalm(W)])):

> sin(theta)=Det('a','A'('a'),'W'),"=",st;

sin(theta) = Det(a, A(a), W),

> theta=4*Pi/3;

theta = 4/3*Pi

Cherchons Omega tel que Omegaf(Omega) soit colinéaire à W

> Omega:=[x,y,z];OmfOm:=evalm(f-Omega):

Omega := [x, y, z]

> pv:=crossprod(OmfOm,W):

> produit_vectoriel(Omegaf('Omega'),'W')=simplify(evalm(pv)),"=",[0,0,0];

produit_vectoriel(Omegaf(Omega), W) = vector([1/3*3^(1/2)*x-2/3*3^(1/2)-1/3*3^(1/2)*z, 1/3*3^(1/2)*y-3^(1/2)+1/3*3^(1/2)*x, 1/3*3^(1/2)*z-1/3*3^(1/2)+1/3*3^(1/2)*y]),

> Gsyst(matrix(3,3,[[1,0,-1],[1,1,0],[0,1,1]]),[x,y,z],[2,3,1]);

L[2],

L[3],

0 = 0

Donc ceci convient

> x:=2:y:=1:z:=0:'Omega'=Omega;

Omega = [2, 1, 0]

Ainsi le vecteur de translation est

> Omegaf('Omega')=[u,v,w]-Omega;

Omegaf(Omega) = [-1, 1, -1]

f est donc la composée t*s*r du

> r est le rotation d'axe [2,1,0] + R[-1,1,-1]  autour  [-1,1,-1] d'angle -4*Pi/3

    s est la symétrie centrale de centre [2,1,0]

   t est la translation de vecteur [-1,1,-1]

question b)

> x:='x':y:='y':z:='z':

> u:=-z+1:

> v:=-x:

> w:=y-2:

> f:=vector([u,v,w]):'f'(x,y,z)=evalm(f);

f(x, y, z) = vector([-z+1, -x, y-2])

>

Etude de la partie linéaire

> B:=matrix(3,3,[[0,0,-1],[-1,0,0],[0,1,0]]);

B := matrix([[0, 0, -1], [-1, 0, 0], [0, 1, 0]])

B est une matrice orthogonale

> tBB:=evalm(transpose(B)&*B);

tBB := matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])

B n'est pas dans le groupe spécial orthogonal

> det_B=det(B);

det_B = 1

Calculons Inv(B)

X:=[x,y,z] est dans inv(B) ssi il est solution du système BX=X

>

> Gsyst(B-tBB,[x,y,z],[0,0,0]);

L[1],

L[2],

L[2],

L[3],

0 = 0

B est la matrice de la rotation autour de

> W:=1/sqrt(3)*vector([-1,1,1]);Wv:=transpose(matrix(1,3,[evalm(W)])):A:=evalm(B):

W := 1/3*3^(1/2)*vector([-1, 1, 1])

Calculons l'angle theta de la rotation

le vecteur a ci-dessous est unitaire et orthogonal à W

> a:=1/sqrt(2)*[1,1,0];av:=transpose(matrix(1,3,[evalm(a)])):

a := 1/2*2^(1/2)*[1, 1, 0]

> ct:=evalm(transpose(av)&*A&*av):

> cos(theta)=('a','A'('a')),"=",op(ct);Aa:=[seq(evalm(A&*av)[i,1],i=1..3)]:

cos(theta) = (a, A(a)),

> st:=det(matrix(3,3,[evalm(a),evalm(Aa),evalm(W)])):

> sin(theta)=Det('a','A'('a'),'W'),"=",st;

sin(theta) = Det(a, A(a), W),

> theta=4*Pi/3;

theta = 4/3*Pi

Cherchons Omega tel que Omegaf(Omega) soit colinéaire à W

> Omega:=[x,y,z];OmfOm:=evalm(f-Omega):

Omega := [x, y, z]

> pv:=crossprod(OmfOm,W):

> produit_vectoriel(Omegaf('Omega'),'W')=simplify(evalm(pv)),"=",[0,0,0];

produit_vectoriel(Omegaf(Omega), W) = vector([-1/3*3^(1/2)*x-2/3*3^(1/2)*y+2/3*3^(1/2)+1/3*3^(1/2)*z, -1/3*3^(1/2)*y+1/3*3^(1/2)+2/3*3^(1/2)*z+1/3*3^(1/2)*x, -1/3*3^(1/2)*z+1/3*3^(1/2)-2/3*3^(1/2)*x-1...

> Gsyst(matrix(3,3,[[-1,-2,1],[1,-1,2],[-2,-1,-1]]),[x,y,z],[-2,-1,-1]);

L[1],

L[2],

L[3],

L[2],

L[3],

0 = 0

L[1],

Donc ceci convient

> x:=0:y:=1:z:=0:'Omega'=Omega;

Omega = [0, 1, 0]

Ainsi le vecteur de translation est

> Omegaf('Omega')=[u,v,w]-Omega;

Omegaf(Omega) = [1, -1, -1]

>

Or Omegaf(Omega) et W sont de sens oppposé comme le prouve le produit scalaire

> produit_scalaire=innerprod([u,v,w]-Omega,W);

produit_scalaire = -3^(1/2)

f est donc le vissage d'axe [0,1,0] + R[1,-,1,-1] de vecteur [1,-1,-1] d'angle -4*Pi/3

question c)

> x:='x':y:='y':z:='z':

> u:=z+1:

> v:=x:

> w:=y-2:

> f:=vector([u,v,w]):'f'(x,y,z)=evalm(f);

f(x, y, z) = vector([1+z, x, y-2])

>

Etude de la partie linéaire

> B:=matrix(3,3,[[0,0,1],[1,0,0],[0,1,0]]);

B := matrix([[0, 0, 1], [1, 0, 0], [0, 1, 0]])

B est une matrice orthogonale

> tBB:=evalm(transpose(B)&*B);

tBB := matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]])

B n'est pas dans le groupe spécial orthogonal

> det_B=det(B);

det_B = 1

>

Calculons Inv(B)

X:=[x,y,z] est dans inv(B) ssi il est solution du système BX=X

>

> Gsyst(B-tBB,[x,y,z],[0,0,0]);

L[1],

L[2],

L[2],

L[3],

0 = 0

B est la matrice de la rotation autour de

> W:=1/sqrt(3)*vector([1,1,1]);Wv:=transpose(matrix(1,3,[evalm(W)])):A:=evalm(B):

W := 1/3*3^(1/2)*vector([1, 1, 1])

Calculons l'angle theta de la rotation

le vecteur a ci-dessous est unitaire et orthogonal à W

> a:=1/sqrt(2)*[1,-1,0];av:=transpose(matrix(1,3,[evalm(a)])):

a := 1/2*2^(1/2)*[1, -1, 0]

> ct:=evalm(transpose(av)&*A&*av):

> cos(theta)=('a','A'('a')),"=",op(ct);Aa:=[seq(evalm(A&*av)[i,1],i=1..3)]:

cos(theta) = (a, A(a)),

> st:=det(matrix(3,3,[evalm(a),evalm(Aa),evalm(W)])):

> sin(theta)=Det('a','A'('a'),'W'),"=",st;

sin(theta) = Det(a, A(a), W),

> theta=2*Pi/3;

theta = 2/3*Pi

Cherchons Omega tel que Omegaf(Omega) soit colinéaire à W

> Omega:=[x,y,z];OmfOm:=evalm(f-Omega):

Omega := [x, y, z]

> pv:=crossprod(OmfOm,W):

> produit_vectoriel(Omegaf('Omega'),'W')=simplify(evalm(pv)),"=",[0,0,0];

produit_vectoriel(Omegaf(Omega), W) = vector([1/3*3^(1/2)*x-2/3*3^(1/2)*y+2/3*3^(1/2)+1/3*3^(1/2)*z, 1/3*3^(1/2)*y-3^(1/2)-2/3*3^(1/2)*z+1/3*3^(1/2)*x, 1/3*3^(1/2)+1/3*3^(1/2)*z-2/3*3^(1/2)*x+1/3*3^(1...

> Gsyst(matrix(3,3,[[1,-2,1],[1,1,-2],[-2,1,1]]),[x,y,z],[-2,3,-1]);

L[2],

L[3],

L[2],

L[3],

0 = 0

L[1],

Donc ceci convient

> x:=4/3:y:=5/3:z:=0:'Omega'=Omega;

Omega = [4/3, 5/3, 0]

Ainsi le vecteur de translation est

> Omegaf('Omega')=[u,v,w]-Omega;

Omegaf(Omega) = [(-1)/3, (-1)/3, (-1)/3]

>

Or Omegaf(Omega) et W sont de sens oppposé comme le prouve le produit scalaire

> produit_scalaire=innerprod([u,v,w]-Omega,W);

produit_scalaire = -1/3*3^(1/2)

f est donc le vissage d'axe [4/3,5/3,0] + R[1,,1,1] de vecteur (1/3)*[-1,-1,-1] d'angle -2*Pi/3

>

>