(* Die sym. 3x3-Matrix M definiert eine symmetrische Bilinearfunktion *)

M={{1,-1,0},{-1,3,1},{0,1,1}};
MatrixForm[M]

(* Wir suchen den kleinsten Eigenwert und den zugehoerigen Eigenvektor *)

Eigensystem[M]

(* Der kleinste Eigenwert ist λ1=2-(Sqrt[3])  mit Eignevektor u1={-1,1-(Sqrt[3]),1} *)
u1={-1,1-(Sqrt[3]),1};

(* u1 steht senkrecht auf der Ebene E: -1x+(1-(Sqrt[3]))y+1z=0 *)
(* In E waehlen wir zwei linear unabhaengige Vektoren v2 und v3 *)

Solve[u1.{0,1,z2}==0,z2]
Solve[u1.{1,0,z3}==0,z3]

v2={0,1,-1+(Sqrt[3])};
v3={1,0,1};

T1=Transpose[{u1,v2,v3}];
MatrixForm[T1]

(* Wir ueberpruefen, ob T1 regulaer ist und ob u1 senkrecht auf v2 und v3 steht *)

Det[T1]
FullSimplify[u1.v2]
FullSimplify[u1.v3]

(* Nun berechnen wir die Transformationsmatrix bezueglich der Basis {u1,v2,v3} *)

Trans1=FullSimplify[Transpose[T1].M.T1];
MatrixForm[Trans1]

(* Wir betrachten nun die symmetrische 2x2-Matrix unten rechts *)

M1={{5,-1+(Sqrt[3])},{-1+(Sqrt[3]),2}};
MatrixForm[M1]
N[Eigensystem[M1]]
FullSimplify[Eigensystem[M1]]

(* Die Eigenvektoren von M1 fuehren zu w2 und w3, welche senkrecht zueinander stehen *)

w2={-(1/4) (1+(Sqrt[3])) (-3+(Sqrt[25-8 (Sqrt[3])])),1}

Clear[z]
sol=Solve[{1,z}.w2==0,z];
z=z/.sol[[1]];
w3={1,z}
w2.w3

(* Aus w2 und w3 koennen wir schliesslich u2 und u3 konstruieren *)

ww2={0,w2[[1]],w2[[2]]}
ww3={0,w3[[1]],w3[[2]]}

(* Nun berechnen wir die Transformationsmatrix bezueglich der neuen Basis *)

T2=Transpose[{{1,0,0},ww2,ww3}];
Trans2=FullSimplify[Transpose[T2].Trans1.T2];
MatrixForm[Trans2]