I am new to here so please forgive me if I do something wrong carelessly. I have faced a serious problem in eigensystem method, or more particular, eigenvalue. It seems that the following codes that called Eigensystem[] do not get the correct eigenvector:
FundForm[r_, u_, v_] :=
Module[{ru, rv, E1, F1, G1, ruu, ruv, rvv, n0, n, L2, M2, N2, FF1,
FF2, WW, K, H},
ru = D[r, u];
rv = D[r, v];
E1 = Simplify[Dot[ru, ru]];
F1 = Simplify[Dot[ru, rv]];
G1 = Simplify[Dot[rv, rv]];
ruu = D[ru, u];
ruv = D[ru, v];
rvv = D[rv, v];
n0 = Cross[ru, rv];
n = n0/Norm[n0];
L2 = Simplify[Dot[ruu, n]];
M2 = Simplify[Dot[ruv, n]];
N2 = Simplify[Dot[rvv, n]];
Print[E1, ";", F1, ";", G1];
Print[L2, ";", M2, ";", N2];
FF1 = ( {
{E1, F1},
{F1, G1}
} );
FF2 = ( {
{L2, M2},
{M2, N2}
} );
WW = FF2.Inverse[FF1];
K = Simplify[(L2*N2 - M2^2)/(E1*G1 - F1^2) ];
H = Simplify[(E1 N2 - 2 F1 M2 + G1 L2)/(2 (E1*G1 - F1^2)) ];
Print[K, ";", H];
Print[Simplify[Eigensystem[WW]]];
Print[WW.Transpose[{Eigenvectors[WW][[1]]}] ===
Eigenvalues[WW][[1]] Transpose[{Eigenvectors[WW][[1]]}]];
];
$Assumptions =
Element[a, Reals] && Element[b, Reals] && Element[u, Reals] &&
Element[v, Reals];
FundForm[{a (u + v), b (u - v), 4 u v}, u, v]
Please let me explain this code first, I am learning differential geometry now and I wanted to solve the first and second fundamental form of a 3-D surface, moreover I wanted to compute the Gauss/Mean/Principal curvatures and the principal directions. So I used the Eigensystem[m] to solve the principal directions. However I found that the outputed principal directions are not orthogonal under the metric matrix $\left(\begin{array}{cc}E& F\\F&G\end{array}\right)$ (they should be orthogonal!).
So I was wondering what is wrong with my codes. After some debugging, it turned out that Eigensystem[m] may returned the wrong eigenvectors (I tested if $W\cdot v=\lambda v$ and Mathematica returned a False)! I tried shutting down the Mathematica and open it again but thing remains the same. Now I am really frustrated, I do not know whether I am crazy or there is a bug lying in Eigensystem[m] indeed.
The version of mathematica installed on my PC is 12.0 and my PC runs Windows 10. "12.0.0 for Microsoft Windows (64-bit) (April 6, 2019)"
Any help would be appreciated! Also can anybody choose the right tag for this post?
EDIT: Thanks to @HenrikSchumacher, I find the problem lying in the code, the Weingarten matrix $WW$ should be $FF1^{-1}\cdot FF2$ instead of the reverse, also, I am not testing the eigenvector correctly, thanks to @MikeY