Computes the feasibility violation defined as
\(\sum_{t > s} |u_{t}^\top u_{s}|\) if orthogonality constraints are
enforced (feasibilityConstraintType = 0) and
\(\sum_{t > s} |u_{t}^\top C u_{s}| \big/ \mathrm{tr}(C)\) if
zero-correlation constraints are enforced
(feasibilityConstraintType = 1).
Details
In the zero-correlation case the pairwise terms are normalized by the
total variance \(\mathrm{tr}(C)\). Because the PCs are unit-norm,
\(|u_{t}^\top C u_{s}|\) is homogeneous of degree one in C, so the
unnormalized quantity depends on the units of the data; dividing by
\(\mathrm{tr}(C)\) makes it invariant to a rescaling of C. This matches the
definition used internally by mspca() against feasibilityTolerance.