Generalize initialization of result vector in Cartesian-to-Keplerian conversion by setting equal to input (ugly solution, need to find something better). This means the function is also compatible with boost::array, which doesn't have a constructor to initialize size.