If you set aside for a moment the constraint on the vector `x`, then the problem of maximizing
`x`_{i}D_{ij}x_{j}
(a sum over repeated indices is implied) translates, upon taking the derivative with respect to `x`_{i},
into the equation
` D`_{ij}x_{j} = 0.
This is a special form of the
eigenvalue equation for the matrix `D`, with the
eigenvalue being 0. In order for non-trivial solutions, the matrix `D` cannot have an inverse, so it's
determinant must vanish. Finding the eigenvectors can
be done with PDL; see
Mastering Algorithms with Perl for a discussion. The
Math::Cephes::Matrix module can also do this for real symmetric matrices. Generally, the components of the
eigenvectors found in this way are not completely determined; by convention, the normalization `x`_{i}x_{i} = 1 is imposed.

*Update:* The preceding needs to be augmented by a
test on the
Hessian of the matrix to determine what type of
critical point is present.

Comment onRe: Help with Matrix math!