pub fn hyperspace_from_vector<T: Copy + Scalar + Num + Zero, const D: usize, const N: usize>(
    v: &SVector<T, N>
) -> SVector<Hyperdual<T, D>, N>