I've now gone through three iterations of the eliipsoid model.  It seems like everything is working other than finding a good starting point.  I had tried DTI's method, but that doesn't seem to work very well, or I might be incorrectly going from X to lambda vv' + lambda vv'.