How to use frenet . m,  
    a Mathematica package to compute the Frenet frames associated to
       a curve in (R^3)

First, go to the class Web page and download the file frenet.m into your favorite directory. Next, start up Mathematica in that directory. You now need to tell Mathematica to load this package which you do by typing:

\(\(<< \ frenet.m
\)\)

\(TextForm
    \`Define\ your\ favorite\ curve\ in\ R\^3\  . How\ about\ the\ infamous\ 
      one\ from\ the\ second\ \(homework : \)\)

alpha[t_]  :=  {a Cos[t]^2, a Sin[t] Cos[t],  a Sin[t]}

Let's first calculate the velocity vector:

alpha'[t]

Let's simplify this a bit:

Simplify[%]

Notice that the length of this vector is:

Norm[alpha'[t]]

Simplify[%]

By the way,  
    you can make Mathematica replace (Sqrt[(a^2)]) by a by applying the 
      PowerExpand command :

PowerExpand[%]

As we can see, this is NOT a unit speed curve but alpha[t] is a regular curve.  Let's see if we can calculate the arclength of this curve between times 0 to t:

Arclength[alpha, 0, t]

The function EllipticE[t,1/2] is a special function called an Elliptic integral of the 2nd kind. Basically, this means Mathematica could not evaluate this integral in closed form.

In principle, then, we could invert the arclength function, reparametrize alpha so that it has unit speed and then calculate curvature and torsion of alpha. Fortunately, this package incorporates the more general formulas for nonunit speed curves.
	The curvature of alpha is:

Curvature[alpha, t]

Again, let's force Mathematica to simplify the roots as before:

PowerExpand[%]

The torsion of alpha is:

Torsion[alpha, t]

In fact, this program actually computes the Frenet frame itself. The (unit) Tangent vector here is denoted by FT, the normal vector by FN, and the binormal by FB. Let's compute them:

FT[alpha, t]

PowerExpand[%]

FN[alpha, t]

PowerExpand[%]

FB[alpha, t]

PowerExpand[%]

This program also computes the involute of a curve. Consider the new curve (which is a helix):

alpha[t_]  :=  {Cos[t], Sin[t], t}

Its involute is (see exercise 6.4):

Involute[alpha, t]

On the other hand, consider the evolute of the following plane curve (which happens to be an ellipse):

alpha[t_]  :=  {a Cos[t],  b Sin[t],  0}

Evolute[alpha, t]

This agrees with the bottom of p. 45 of the book.