+ Here is the linear function of three variables.

Input := 

f[v_?VectorQ] := {  .989899 v[[1]] + .10101 v[[2]] ,
                  -.10101 v[[1]]  +  1.0101 v[[2]] }

- Here is the energy norm, i.e. the magnitude of the energy

Input := 

m[ v_?VectorQ] := Sqrt[ v.v ]

- Here is a starting vector to be used as a test. Let velocity be 0 and position 1

Input := 

vtest = {1.,0}
Output =

{1., 0}

- We apply this function to v0 300 times to get a feel for what happens

- Here is the function to be minimized. Note the use of Lagrange multiplier.

Input := 

V[v_] := m[ f[v] ] - lambda ( m[v] - 1. )

Let the following vector represent an arbitrary starting vector whose magnitude is one.

Input := 

V0 = {x0, v0};

- Proceed with the minimization process using Lagrange multiplier