Principal Curvatures of the Torus

x[u_, 
        v_]  :=  { (a  +  b Cos[u]) Cos[
            v],  (a  +  b Cos[u]) Sin[v],  b Sin[u]}

x[u, v]

D[x[u, v], u]

Let's calculate E

%  .  %

Simplify[%]

Let's calculate F

D[x[u, v], u] . D[x[u, v], v]

Let's calculate G

D[x[u, v], v] . D[x[u, v], v]

Simplify[%]

Let's calculate a vector normal to the tangent plane and call it blah

Cross[D[x[u, v], u], D[x[u, v], v]]

Simplify[%]

Blah  =  %

Let's calculate the square of the length of Blah

Blah . Blah

Simplify[%]

The unit normal vector is therefore -- let's call it Nu

Blah / (b (a + b Cos[u]))

Simplify[%]

Nu  =  %

Let's calculate L

D[x[u, v], u, u] .  Nu

Simplify[%]

Let's calculate M

D[x[u, v], u, v] . Nu

Let's calculate N

D[x[u, v], v, v] . Nu

Simplify[%]

Therefore, the First Fundamental Form as a matrix is

F1  =  {{b^2, 0}, {0, (a  +  b Cos[u])^2}}

and the Second Fundament Form as a matrix is

F2  =  {{b, 0}, {0, (a  +  b  Cos[u]) Cos[u]}}

Let's calculate the inverse of F1 and multiply it to F2 to obtain the Weingarten matrix

Inverse[F1]

% .  F2

Since the principal curvatures k1 and k2 are eigenvalues of the Weingarten matrix calculated above is already diagonal, we conclude that 
k1 = b
and
k2 = Cos[u]/(a+b Cos[u]).

Let us now plot the torus when a=5 and b=3

a  =  5

b  =  3

ParametricPlot3D[x[u, v], {u, 0, 2 Pi},  {v, 0,  2 Pi}]

Let's plot the part of the torus consisting of elliptic and parabolic points

ParametricPlot3D[
      x[u, v], {u, -Pi/2,  Pi/2}, {v, 0, 2 Pi}]

Let's plot the part of the torus consisting of hyperbolic and parabolic points.

ParametricPlot3D[x[u, v], {u, Pi/2, 3 Pi/2}, {v, 0, 2 Pi}]

Note that the parabolic points are those points in the intersection of the above two pictures.